Skip to main content

A simple data-flow framework based on iterator chaining

Project description

pics/nutsflow_logo.gif

nuts-flow is largely a thin wrapper around Python’s itertools that allows the chaining of iterators using the >> operator. This leads to more readable code that highlights the flow of data. The following example shows two implementations of a simple data processing pipeline; the first based on itertools and the second using nuts-flow:

>>> from itertools import islice, ifilter
>>> list(islice(ifilter(lambda x: x > 5, xrange(10)), 3))
[6, 7, 8]
>>> from nutsflow import Range, Filter, Take, Collect, _
>>> Range(10) >> Filter(_ > 5) >> Take(3) >> Collect()
[6, 7, 8]

Both examples extract the first three numbers within range [0, 9] that are greater than five. However, the nuts-flow pipeline is easier to understand than the nested itertools code.

nuts-flow is the base for nuts-ml, which is described here .

https://badge.fury.io/py/nutsflow.svg https://img.shields.io/pypi/pyversions/nutsflow.svg https://travis-ci.org/maet3608/nuts-flow.svg?branch=master https://coveralls.io/repos/github/maet3608/nuts-flow/badge.svg?branch=master https://img.shields.io/github/issues/maet3608/nuts-flow.svg https://img.shields.io/badge/license-Apache%202-blue.svg

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

nutsflow-1.2.3.tar.gz (54.0 kB view details)

Uploaded Source

Built Distribution

nutsflow-1.2.3-py2.py3-none-any.whl (53.8 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file nutsflow-1.2.3.tar.gz.

File metadata

  • Download URL: nutsflow-1.2.3.tar.gz
  • Upload date:
  • Size: 54.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.24.0 setuptools/50.3.1.post20201107 requests-toolbelt/0.9.1 tqdm/4.51.0 CPython/3.8.5

File hashes

Hashes for nutsflow-1.2.3.tar.gz
Algorithm Hash digest
SHA256 550e35012e606c5923a8b665b6990a34e96679d5e9c625fdb8ca72de38626507
MD5 758156f74592ff36aa4f010e21af8bc0
BLAKE2b-256 0046daa844f7a502130b6b8df8de06c4286d705374a653566fa9582b08aa27e4

See more details on using hashes here.

File details

Details for the file nutsflow-1.2.3-py2.py3-none-any.whl.

File metadata

  • Download URL: nutsflow-1.2.3-py2.py3-none-any.whl
  • Upload date:
  • Size: 53.8 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.24.0 setuptools/50.3.1.post20201107 requests-toolbelt/0.9.1 tqdm/4.51.0 CPython/3.8.5

File hashes

Hashes for nutsflow-1.2.3-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 df3ce546029cb718819a7ce923118c371b3368ec299c4d4a85775876732972f4
MD5 439fad3f64f69b35d19749dd013447e0
BLAKE2b-256 cadf6f7e66e8dead7a51f958a1ba715fce60f2ba47ea52ffafd6ee3a52b03ff0

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page