Skip to main content

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

Metadata

Release files for bytewax 0.10.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Built distributions (wheels)

Table of built distributions (wheels) for bytewax 0.10.1
File
bytewax-0.10.1-cp310-none-win_amd64.whl CPython 3.10 none Windows x86-64 Details
bytewax-0.10.1-cp310-cp310-manylinux_2_12_x86_64.manylinux2010_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.12+ x86-64 Details
bytewax-0.10.1-cp310-cp310-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl CPython 3.10 CPython 3.10 macOS 10.9+ universal2 (ARM64, x86-64), macOS 10.9+ x86-64, macOS 11.0+ ARM64 Details
bytewax-0.10.1-cp39-none-win_amd64.whl CPython 3.9 none Windows x86-64 Details
bytewax-0.10.1-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.whl CPython 3.9 CPython 3.9 Linux glibc 2.12+ x86-64 Details
bytewax-0.10.1-cp39-cp39-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl CPython 3.9 CPython 3.9 macOS 10.9+ universal2 (ARM64, x86-64), macOS 11.0+ ARM64, macOS 10.9+ x86-64 Details
bytewax-0.10.1-cp38-none-win_amd64.whl CPython 3.8 none Windows x86-64 Details
bytewax-0.10.1-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.whl CPython 3.8 CPython 3.8 Linux glibc 2.12+ x86-64 Details
bytewax-0.10.1-cp38-cp38-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl CPython 3.8 CPython 3.8 macOS 10.9+ x86-64, macOS 11.0+ ARM64, macOS 10.9+ universal2 (ARM64, x86-64) Details
bytewax-0.10.1-cp37-none-win_amd64.whl CPython 3.7 none Windows x86-64 Details
bytewax-0.10.1-cp37-cp37m-manylinux_2_12_x86_64.manylinux2010_x86_64.whl CPython 3.7 CPython 3.7 pymalloc Linux glibc 2.12+ x86-64 Details
bytewax-0.10.1-cp37-cp37m-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl CPython 3.7 CPython 3.7 pymalloc macOS 11.0+ ARM64, macOS 10.9+ universal2 (ARM64, x86-64), macOS 10.9+ x86-64 Details

Total release size: 117.6 MB

Release files / bytewax-0.10.1-cp310-none-win_amd64.whl

Download URL bytewax-0.10.1-cp310-none-win_amd64.whl
Size 3.2 MB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
accb2880e30946426410f73435a5303aec3bbbc59d86d7d46d177c5b85ac7ead
BLAKE2b-256 checksum
How to use checksums
3d15a13b9a86a4030f2915a92f09d421387c2803e8a393b9151ef46b2b64a85c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.9.13

Release files / bytewax-0.10.1-cp310-cp310-manylinux_2_12_x86_64.manylinux2010_x86_64.whl

Download URL bytewax-0.10.1-cp310-cp310-manylinux_2_12_x86_64.manylinux2010_x86_64.whl
Size 19.1 MB
Tags CPython 3.10 Linux glibc 2.12+ x86-64
SHA-256 checksum
How to use checksums
8e0ad3199801364908f6da6bbc7791411c08ea539fc76ab1c31ae2468fd690c8
BLAKE2b-256 checksum
How to use checksums
d38b88257522076c711e728324e69d30eff2f612f8758d54560dce9ee7beadcd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.9.13

Release files / bytewax-0.10.1-cp310-cp310-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl

Download URL bytewax-0.10.1-cp310-cp310-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl
Size 7.2 MB
Tags CPython 3.10 macOS 10.9+ universal2 (ARM64, x86-64) macOS 10.9+ x86-64 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
0a25dbbccd24bd9c65ce3b636959e107a1ec83841bcb7e5025fe8b1fd985cb6b
BLAKE2b-256 checksum
How to use checksums
7fec37238839068c82d2043bf9e24e52dd3e38ba5272c6b3a83cedc6fa6f6c55
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.9.13

Release files / bytewax-0.10.1-cp39-none-win_amd64.whl

Download URL bytewax-0.10.1-cp39-none-win_amd64.whl
Size 3.2 MB
Tags CPython 3.9 Windows x86-64
SHA-256 checksum
How to use checksums
0f5742db6fbcd31f1b23fba9719d694a335ddc276a8277de4b91ca9625c9bfa1
BLAKE2b-256 checksum
How to use checksums
61306ba8519d39a486335169794a8504ac4f975a92e8c52feb0d7b6495dc3ac5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.9.13

Release files / bytewax-0.10.1-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.whl

Download URL bytewax-0.10.1-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.whl
Size 19.1 MB
Tags CPython 3.9 Linux glibc 2.12+ x86-64
SHA-256 checksum
How to use checksums
6631fae7b41a29a34917281be07d56ba474888084131e20d9ebdcaa89ccaf756
BLAKE2b-256 checksum
How to use checksums
3086ca3f1f34d0fb19e6aa34c6ac4795a37c20ce636e3e0c1cd0b371b94916bc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.9.13

Release files / bytewax-0.10.1-cp39-cp39-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl

Download URL bytewax-0.10.1-cp39-cp39-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl
Size 7.2 MB
Tags CPython 3.9 macOS 10.9+ universal2 (ARM64, x86-64) macOS 10.9+ x86-64 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
897fbd470521c8aa51d4a4786031aa37735c700c4d29ae48d5164d8c6251ba2f
BLAKE2b-256 checksum
How to use checksums
cdd2147faade4e8b7a0c9fcc0b77969d598d4d2ef25989b06418762078d84488
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.9.13

Release files / bytewax-0.10.1-cp38-none-win_amd64.whl

Download URL bytewax-0.10.1-cp38-none-win_amd64.whl
Size 3.2 MB
Tags CPython 3.8 Windows x86-64
SHA-256 checksum
How to use checksums
e81850100575d3f706283b37fa607bc8fb423509f70d7b5a0517c16f5bd81344
BLAKE2b-256 checksum
How to use checksums
7816f34f09c29a8a7a36fbaa81aa3f40b6377a2719c8687b5a4c50f6fce7d124
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.9.13

Release files / bytewax-0.10.1-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.whl

Download URL bytewax-0.10.1-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.whl
Size 19.1 MB
Tags CPython 3.8 Linux glibc 2.12+ x86-64
SHA-256 checksum
How to use checksums
6ac664a9c6a1df9528be00a2491d5972bcbb26d79fddd57f8335b80a252596d9
BLAKE2b-256 checksum
How to use checksums
95cada5f1bc71aac29a68d4d75ed19a8a908b71c4b96749b8241c72e37cb81e8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.9.13

Release files / bytewax-0.10.1-cp38-cp38-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl

Download URL bytewax-0.10.1-cp38-cp38-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl
Size 7.2 MB
Tags CPython 3.8 macOS 10.9+ universal2 (ARM64, x86-64) macOS 10.9+ x86-64 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
5321d94a2eb67556118db4f9062ad4c963ecff3f45ec9baa48fd5288d304029a
BLAKE2b-256 checksum
How to use checksums
174691534ab1e99d775e97eceeeb6118b410172b16d6f7000460eeac5894e0f2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.9.13

Release files / bytewax-0.10.1-cp37-none-win_amd64.whl

Download URL bytewax-0.10.1-cp37-none-win_amd64.whl
Size 3.2 MB
Tags CPython 3.7 Windows x86-64
SHA-256 checksum
How to use checksums
3f8d1e77b423a802377706c3fe3d993d820397856135e9fa5d24f68f1414f0ba
BLAKE2b-256 checksum
How to use checksums
0476359430254b4150f01b727a322e5bc55007cd75faddaac8fb130849c2bff9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.9.13

Release files / bytewax-0.10.1-cp37-cp37m-manylinux_2_12_x86_64.manylinux2010_x86_64.whl

Download URL bytewax-0.10.1-cp37-cp37m-manylinux_2_12_x86_64.manylinux2010_x86_64.whl
Size 19.1 MB
Tags CPython 3.7 CPython 3.7 pymalloc Linux glibc 2.12+ x86-64
SHA-256 checksum
How to use checksums
dfab6073c06afa3a7cd7341b05b707ef5e89b94d9809bd32aae442a957600798
BLAKE2b-256 checksum
How to use checksums
faa5daca9ab05e60f9c4d485fa4a080744bc37ed6f3385a33d514cde12aa74b9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.9.13

Release files / bytewax-0.10.1-cp37-cp37m-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl

Download URL bytewax-0.10.1-cp37-cp37m-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl
Size 7.2 MB
Tags CPython 3.7 CPython 3.7 pymalloc macOS 10.9+ universal2 (ARM64, x86-64) macOS 10.9+ x86-64 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
788ace4e50429c34d968142c002666200eac9fc79e6f9606e83b2040ec34d655
BLAKE2b-256 checksum
How to use checksums
fe1bbbebf0af927684cce8f42bbe270686761d2fd21202f36a4a4bcf336dbde2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.9.13
Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page