Skip to main content

No project description provided

Project description

Actions Status PyPI Bytewax User Guide

Bytewax is an open source Python framework for building highly scalable dataflows in a streaming or batch context.

Get started

Check out our getting started guide.

About

Bytewax lets you build Python based dataflows to process your data for augmentation, advanced analysis, machine learning and more. It is based on Timely Dataflow, which is a cyclic dataflow computational model. At a high-level, dataflow programming is a programming paradigm where program execution is conceptualized as data flowing through a series of operator based steps. Operators are the processing primitives of bytewax. Each of them gives you a “shape” of data transformation, and you give them functions to customize them to a specific task you need. The combination of each operator and their custom logic functions we call a dataflow step. You chain together steps in a dataflow to solve your high-level data processing problem.

At a high level, Bytewax provides a few major benefits:

  • The operators in Bytewax are largely “data-parallel”, meaning they can operate on independent parts of the data concurrently.
  • Bytewax offers the ability to express higher-level control constructs, like iteration.
  • Bytewax allows you to develop and run your code locally, and then easily scale that code to multiple workers or processes without changes.
  • Bytewax can be used in both a streaming and batch context
  • Ability to leverage the Python ecosystem directly

Community

Slack Is the main forum for communication and discussion.

GitHub Issues is reserved only for actual issues. Please use the slack community for discussions.

Code of Conduct

Usage

Install the latest release with pip:

pip install bytewax

Example

Here is an example of a simple dataflow program using Bytewax:

from bytewax import Dataflow, run


flow = Dataflow()
flow.map(lambda x: x * x)
flow.capture()


if __name__ == "__main__":
    for epoch, x in sorted(run(flow, enumerate(range(10)))):
        print(x)

Running the program prints the following output:

0
1
4
9
16
25
36
49
64
81

For a more complete example, and documentation on the available operators, check out the User Guide.

For an exhaustive list of examples, checkout the /examples folder

License

Bytewax is licensed under the Apache-2.0 license.

Contributing

Contributions are welcome! This community and project would not be what it is without the contributors. All contributions, from bug reports to new features, are welcome and encouraged.



With ❤️ Bytewax

Project details


Download files

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

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

bytewax-0.10.1-cp310-none-win_amd64.whl (3.2 MB view details)

Uploaded CPython 3.10Windows x86-64

bytewax-0.10.1-cp310-cp310-manylinux_2_12_x86_64.manylinux2010_x86_64.whl (19.1 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.12+ x86-64

bytewax-0.10.1-cp310-cp310-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl (7.2 MB view details)

Uploaded CPython 3.10macOS 10.9+ universal2 (ARM64, x86-64)macOS 10.9+ x86-64macOS 11.0+ ARM64

bytewax-0.10.1-cp39-none-win_amd64.whl (3.2 MB view details)

Uploaded CPython 3.9Windows x86-64

bytewax-0.10.1-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.whl (19.1 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.12+ x86-64

bytewax-0.10.1-cp39-cp39-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl (7.2 MB view details)

Uploaded CPython 3.9macOS 10.9+ universal2 (ARM64, x86-64)macOS 10.9+ x86-64macOS 11.0+ ARM64

bytewax-0.10.1-cp38-none-win_amd64.whl (3.2 MB view details)

Uploaded CPython 3.8Windows x86-64

bytewax-0.10.1-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.whl (19.1 MB view details)

Uploaded CPython 3.8manylinux: glibc 2.12+ x86-64

bytewax-0.10.1-cp38-cp38-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl (7.2 MB view details)

Uploaded CPython 3.8macOS 10.9+ universal2 (ARM64, x86-64)macOS 10.9+ x86-64macOS 11.0+ ARM64

bytewax-0.10.1-cp37-none-win_amd64.whl (3.2 MB view details)

Uploaded CPython 3.7Windows x86-64

bytewax-0.10.1-cp37-cp37m-manylinux_2_12_x86_64.manylinux2010_x86_64.whl (19.1 MB view details)

Uploaded CPython 3.7mmanylinux: glibc 2.12+ x86-64

bytewax-0.10.1-cp37-cp37m-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl (7.2 MB view details)

Uploaded CPython 3.7mmacOS 10.9+ universal2 (ARM64, x86-64)macOS 10.9+ x86-64macOS 11.0+ ARM64

File details

Details for the file bytewax-0.10.1-cp310-none-win_amd64.whl.

File metadata

  • Download URL: bytewax-0.10.1-cp310-none-win_amd64.whl
  • Upload date:
  • Size: 3.2 MB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.13

File hashes

Hashes for bytewax-0.10.1-cp310-none-win_amd64.whl
Algorithm Hash digest
SHA256 accb2880e30946426410f73435a5303aec3bbbc59d86d7d46d177c5b85ac7ead
MD5 9d36af8ba0df9d9bfe9908dcc5cb6a49
BLAKE2b-256 3d15a13b9a86a4030f2915a92f09d421387c2803e8a393b9151ef46b2b64a85c

See more details on using hashes here.

File details

Details for the file bytewax-0.10.1-cp310-cp310-manylinux_2_12_x86_64.manylinux2010_x86_64.whl.

File metadata

File hashes

Hashes for bytewax-0.10.1-cp310-cp310-manylinux_2_12_x86_64.manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 8e0ad3199801364908f6da6bbc7791411c08ea539fc76ab1c31ae2468fd690c8
MD5 4efcdfc0a40a7c9c655ffbddd2318282
BLAKE2b-256 d38b88257522076c711e728324e69d30eff2f612f8758d54560dce9ee7beadcd

See more details on using hashes here.

File details

Details for the file bytewax-0.10.1-cp310-cp310-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for bytewax-0.10.1-cp310-cp310-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 0a25dbbccd24bd9c65ce3b636959e107a1ec83841bcb7e5025fe8b1fd985cb6b
MD5 34843a0c215c5d114ef957d5bc2f8cb0
BLAKE2b-256 7fec37238839068c82d2043bf9e24e52dd3e38ba5272c6b3a83cedc6fa6f6c55

See more details on using hashes here.

File details

Details for the file bytewax-0.10.1-cp39-none-win_amd64.whl.

File metadata

  • Download URL: bytewax-0.10.1-cp39-none-win_amd64.whl
  • Upload date:
  • Size: 3.2 MB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.13

File hashes

Hashes for bytewax-0.10.1-cp39-none-win_amd64.whl
Algorithm Hash digest
SHA256 0f5742db6fbcd31f1b23fba9719d694a335ddc276a8277de4b91ca9625c9bfa1
MD5 e72fbb9b1af35235c3bcdecf93b618ff
BLAKE2b-256 61306ba8519d39a486335169794a8504ac4f975a92e8c52feb0d7b6495dc3ac5

See more details on using hashes here.

File details

Details for the file bytewax-0.10.1-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.whl.

File metadata

File hashes

Hashes for bytewax-0.10.1-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 6631fae7b41a29a34917281be07d56ba474888084131e20d9ebdcaa89ccaf756
MD5 3985a9dedb68275f17f9c8938ccc52d8
BLAKE2b-256 3086ca3f1f34d0fb19e6aa34c6ac4795a37c20ce636e3e0c1cd0b371b94916bc

See more details on using hashes here.

File details

Details for the file bytewax-0.10.1-cp39-cp39-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for bytewax-0.10.1-cp39-cp39-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 897fbd470521c8aa51d4a4786031aa37735c700c4d29ae48d5164d8c6251ba2f
MD5 1d463bdefc16b5fdbb8bb0577b1577fa
BLAKE2b-256 cdd2147faade4e8b7a0c9fcc0b77969d598d4d2ef25989b06418762078d84488

See more details on using hashes here.

File details

Details for the file bytewax-0.10.1-cp38-none-win_amd64.whl.

File metadata

  • Download URL: bytewax-0.10.1-cp38-none-win_amd64.whl
  • Upload date:
  • Size: 3.2 MB
  • Tags: CPython 3.8, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.13

File hashes

Hashes for bytewax-0.10.1-cp38-none-win_amd64.whl
Algorithm Hash digest
SHA256 e81850100575d3f706283b37fa607bc8fb423509f70d7b5a0517c16f5bd81344
MD5 3b6dbbd53594af22d9c6b6eff258a1d0
BLAKE2b-256 7816f34f09c29a8a7a36fbaa81aa3f40b6377a2719c8687b5a4c50f6fce7d124

See more details on using hashes here.

File details

Details for the file bytewax-0.10.1-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.whl.

File metadata

File hashes

Hashes for bytewax-0.10.1-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 6ac664a9c6a1df9528be00a2491d5972bcbb26d79fddd57f8335b80a252596d9
MD5 bbee9a8dedd549e553229f1ee43c4316
BLAKE2b-256 95cada5f1bc71aac29a68d4d75ed19a8a908b71c4b96749b8241c72e37cb81e8

See more details on using hashes here.

File details

Details for the file bytewax-0.10.1-cp38-cp38-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for bytewax-0.10.1-cp38-cp38-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 5321d94a2eb67556118db4f9062ad4c963ecff3f45ec9baa48fd5288d304029a
MD5 667ce5b0b3d74c478194abbb021a7bad
BLAKE2b-256 174691534ab1e99d775e97eceeeb6118b410172b16d6f7000460eeac5894e0f2

See more details on using hashes here.

File details

Details for the file bytewax-0.10.1-cp37-none-win_amd64.whl.

File metadata

  • Download URL: bytewax-0.10.1-cp37-none-win_amd64.whl
  • Upload date:
  • Size: 3.2 MB
  • Tags: CPython 3.7, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.13

File hashes

Hashes for bytewax-0.10.1-cp37-none-win_amd64.whl
Algorithm Hash digest
SHA256 3f8d1e77b423a802377706c3fe3d993d820397856135e9fa5d24f68f1414f0ba
MD5 ed44e19d6be521b9647c1a8547e65d64
BLAKE2b-256 0476359430254b4150f01b727a322e5bc55007cd75faddaac8fb130849c2bff9

See more details on using hashes here.

File details

Details for the file bytewax-0.10.1-cp37-cp37m-manylinux_2_12_x86_64.manylinux2010_x86_64.whl.

File metadata

File hashes

Hashes for bytewax-0.10.1-cp37-cp37m-manylinux_2_12_x86_64.manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 dfab6073c06afa3a7cd7341b05b707ef5e89b94d9809bd32aae442a957600798
MD5 5a0c74d030e387334c428390fe6cfe16
BLAKE2b-256 faa5daca9ab05e60f9c4d485fa4a080744bc37ed6f3385a33d514cde12aa74b9

See more details on using hashes here.

File details

Details for the file bytewax-0.10.1-cp37-cp37m-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for bytewax-0.10.1-cp37-cp37m-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 788ace4e50429c34d968142c002666200eac9fc79e6f9606e83b2040ec34d655
MD5 bf7e7d2c98fbb5449fa4917d77626077
BLAKE2b-256 fe1bbbebf0af927684cce8f42bbe270686761d2fd21202f36a4a4bcf336dbde2

See more details on using hashes here.

Supported by

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