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.2.tar.gz (54.0 kB view details)

Uploaded Source

Built Distribution

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

Uploaded Python 2 Python 3

File details

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

File metadata

  • Download URL: nutsflow-1.2.2.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.2.tar.gz
Algorithm Hash digest
SHA256 8be02ae4b10b7060081c01b17e0c9709a8816a8dbb48ebea0ffb35bc35ee0e2f
MD5 e0ce939f987ae7667aec54ec2ee360ae
BLAKE2b-256 288e3129706ec72118cae683aae15aefba3997f201077a812a9eda460bfd2970

See more details on using hashes here.

File details

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

File metadata

  • Download URL: nutsflow-1.2.2-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.2-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 b09da206ad0d95a0e97637ac96127c2bca73f01bb413201edcea5c71ede51437
MD5 6f31c3885a5ebbf2625e99a17b126e6c
BLAKE2b-256 1e5c309ad4e67b8d7d65fddd79c5cb598505119de9ef41fd97edbfd02ed07f64

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