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

Uploaded Source

Built Distribution

nutsflow-1.2.1-py2.py3-none-any.whl (51.0 kB view details)

Uploaded Python 2 Python 3

File details

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

File metadata

  • Download URL: nutsflow-1.2.1.tar.gz
  • Upload date:
  • Size: 52.1 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.1.tar.gz
Algorithm Hash digest
SHA256 5f1585ba91b4186cb44f4ba19bb49f23961e9a815b06eb3c3594bc5151791708
MD5 560cb204b4a2f3d8412caf78f1ef9b49
BLAKE2b-256 464b42d6ae8e141d74ba2bc57b21183c65344d2954deca23a8c3d42e8973744b

See more details on using hashes here.

File details

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

File metadata

  • Download URL: nutsflow-1.2.1-py2.py3-none-any.whl
  • Upload date:
  • Size: 51.0 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.1-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 cb14e67929fd32fe4e15e90c90a6f76c3959b3ce5bac3dbcf9ddbe0d0c0a1fa6
MD5 183ae026d0cd72dab858bdb5b709d2fc
BLAKE2b-256 542f89d74163f6dbe6429af0d0fce65bd7ea06652f5acf2c0f4568c217791715

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