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

Uploaded Source

Built Distribution

nutsflow-1.2.0-py2.py3-none-any.whl (50.2 kB view details)

Uploaded Python 2 Python 3

File details

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

File metadata

  • Download URL: nutsflow-1.2.0.tar.gz
  • Upload date:
  • Size: 51.2 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.0.tar.gz
Algorithm Hash digest
SHA256 dd2f11d8545a4a2e0a777969a3c0576c75ce3e0aeb565fdb915e2506ec9408eb
MD5 2800e5526d06e13d87981035098213a3
BLAKE2b-256 89b3ff9b97dee2220c1a8417dab8f81c383a22b83fb9911cb6c09e5ece445a07

See more details on using hashes here.

File details

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

File metadata

  • Download URL: nutsflow-1.2.0-py2.py3-none-any.whl
  • Upload date:
  • Size: 50.2 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.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 382f036061348cb327c084a4ece922f008340b2be6e1f636ec0d1b6f719a7e1d
MD5 7355bf5c37ee19966bd5bdbd27db9d46
BLAKE2b-256 f2faca65e1bf63217df56ea1527d85f0a89ceb8e369e94c8cd2a30ada79c6708

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