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

Uploaded Source

Built Distribution

nutsflow-1.1.2-py2.py3-none-any.whl (48.9 kB view details)

Uploaded Python 2 Python 3

File details

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

File metadata

  • Download URL: nutsflow-1.1.2.tar.gz
  • Upload date:
  • Size: 50.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.1.2.tar.gz
Algorithm Hash digest
SHA256 f746b52bc5cfca139721cf9de85d1f9a3547d7a360e5fc1b2c01d26ad8af7414
MD5 1ad7f0516401b29613b7599d78aca09e
BLAKE2b-256 447127850e7c55e99d5e29d821be2193fd22bfa01f2634994bc835e8a4079907

See more details on using hashes here.

File details

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

File metadata

  • Download URL: nutsflow-1.1.2-py2.py3-none-any.whl
  • Upload date:
  • Size: 48.9 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.1.2-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 3156aa3064e5163600a2ec60276a70dfe0ccaaec29e33eb2e7675f694e9ad828
MD5 787ca257e0dc03b79bcb4f1b11ea0ca6
BLAKE2b-256 04cac3e174eb2494f9ad3384081f94dbfde08e2517abd862592e32a96c46b8bb

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