Back to Browse

Functional programming in Python with Toolz and fn.py

2.3K views
Feb 6, 2016
22:26

Juan Nunez-Iglesias https://linux.conf.au/schedule/30358/view_talk In my brief experience people rarely take this [streaming] route. They use single-threaded in-memory Python until it breaks, and then seek out Big Data Infrastructure like Hadoop/Spark at relatively high productivity overhead. ~ Matt Rocklin That quote succinctly summarises my computational life, right up until recent months. In “traditional” programming, you load a dataset into memory, process it in some way, and output the result. This is simple to understand. But in streaming programs, a function processes some of the data, yields the processed chunk, then downstream functions deal with that chunk, then the original function receives a bit more, and so on… All these things are going on at the same time! How can one keep them straight? This talk will introduce Matt Rocklin’s Toolz library which makes functional programming easy in Python and provides a framework to write elegant, concise code to analyse bigger-than-memory data, and fn.py, which has even more FP constructs. I’ll present streaming data analysis using FP from the ground up, from a simple “hello-world” example to image illumination correction and streaming extensions to scikit-learn classifiers, and analysing a genome in a few minutes.

Download

1 formats

Video Formats

360pmp430.4 MB

Right-click 'Download' and select 'Save Link As' if the file opens in a new tab.

Functional programming in Python with Toolz and fn.py | NatokHD