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.0

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.0
File
bytewax-0.10.0-cp310-none-win_amd64.whl CPython 3.10 none Windows x86-64 Details
bytewax-0.10.0-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.0-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+ x86-64, macOS 10.9+ universal2 (ARM64, x86-64), macOS 11.0+ ARM64 Details
bytewax-0.10.0-cp39-none-win_amd64.whl CPython 3.9 none Windows x86-64 Details
bytewax-0.10.0-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.0-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 10.9+ x86-64, macOS 11.0+ ARM64 Details
bytewax-0.10.0-cp38-none-win_amd64.whl CPython 3.8 none Windows x86-64 Details
bytewax-0.10.0-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.0-cp38-cp38-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl CPython 3.8 CPython 3.8 macOS 11.0+ ARM64, macOS 10.9+ universal2 (ARM64, x86-64), macOS 10.9+ x86-64 Details
bytewax-0.10.0-cp37-none-win_amd64.whl CPython 3.7 none Windows x86-64 Details
bytewax-0.10.0-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.0-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+ x86-64, macOS 10.9+ universal2 (ARM64, x86-64) Details

Total release size: 117.7 MB

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

Download URL bytewax-0.10.0-cp310-none-win_amd64.whl
Size 3.2 MB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
75c64cc288892ff5d04a6930bb4b2122b7294c683b7267306d8cc040150baa88
BLAKE2b-256 checksum
How to use checksums
71fae4399182f2fe4afa630b505b8e4809e081ff3db8aa858a831320fd900d13
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.0-cp310-cp310-manylinux_2_12_x86_64.manylinux2010_x86_64.whl

Download URL bytewax-0.10.0-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
d62c1b49693bd0699f2c1f45b147b1961269d6fe6954530b94006cccc8dd6514
BLAKE2b-256 checksum
How to use checksums
9fbe8c165275b1e82414484afb7e485e76a2d508e23c748e0c750b2ff9f74d2b
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.0-cp310-cp310-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl

Download URL bytewax-0.10.0-cp310-cp310-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl
Size 7.1 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
d456b7db481ef5519d976419260b0b6e63c1b1ff8a68a2df5b86621f6f8e6b1b
BLAKE2b-256 checksum
How to use checksums
d4b834ac60842b9dc44122110e818f690d060955e69de449e8d14d002088c73c
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.0-cp39-none-win_amd64.whl

Download URL bytewax-0.10.0-cp39-none-win_amd64.whl
Size 3.2 MB
Tags CPython 3.9 Windows x86-64
SHA-256 checksum
How to use checksums
d532056ec4dc219f28a62a1ab346ae2dd1d01ee9923aa5197cfdc2315debbb91
BLAKE2b-256 checksum
How to use checksums
acdd39bcfbee93d899600e9225df7e5bf6c286bbfa445e7c90fd1023839853ff
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.0-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.whl

Download URL bytewax-0.10.0-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
4c7f3f081a118a798554fed93198e8421e3c2dba1312e3d343a28f60f45615ad
BLAKE2b-256 checksum
How to use checksums
1ad307693552283c871ff4391b399b94e6c564463bbfed380029c5687a89605a
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.0-cp39-cp39-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl

Download URL bytewax-0.10.0-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
881093f54aa9a04b68326d74d12e3f86d6aa6701476bd336f6a562b592d0a700
BLAKE2b-256 checksum
How to use checksums
b30130663f942379af7e68b02ac4ebd818bf41c37e9a41d74bc456466c574166
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.0-cp38-none-win_amd64.whl

Download URL bytewax-0.10.0-cp38-none-win_amd64.whl
Size 3.2 MB
Tags CPython 3.8 Windows x86-64
SHA-256 checksum
How to use checksums
fcdcf51dc055162eb77ace657f742cf57840ed761f2c4ef886ea223fc508e8ae
BLAKE2b-256 checksum
How to use checksums
7e3f0f3ac5ec73f107a0789eade34b5264a647a3bd2b440cde6e821a1c5f6d51
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.0-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.whl

Download URL bytewax-0.10.0-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
caaf8327bdbc25258f70de17059d6d5abe9d5e789087564d32a95a9062ee0465
BLAKE2b-256 checksum
How to use checksums
caaf61321b6e9b4dc0cc600904cd6d74f4523e46183a1abe8fc2d765fa07d3c7
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.0-cp38-cp38-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl

Download URL bytewax-0.10.0-cp38-cp38-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl
Size 7.1 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
1bd1df28005b80c243a4f3a72ff7ab7f7ec56580d7d92836d0ab689d9601cc36
BLAKE2b-256 checksum
How to use checksums
1c9e6f7e2e16435f3fd5e6fba35146bc79648572a4cc9de36acfe8cbab416563
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.0-cp37-none-win_amd64.whl

Download URL bytewax-0.10.0-cp37-none-win_amd64.whl
Size 3.2 MB
Tags CPython 3.7 Windows x86-64
SHA-256 checksum
How to use checksums
839d22571a474ab6e52dfc070264ffc8430b76b1795b5d2c2bd1dd3d00d3a1af
BLAKE2b-256 checksum
How to use checksums
72c2fd7e77110a1db271ab9bb4d53e0055cdb8a0f7bf2038f5260ea1114e34a8
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.0-cp37-cp37m-manylinux_2_12_x86_64.manylinux2010_x86_64.whl

Download URL bytewax-0.10.0-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
76bdc5855a081fb98a84b175d8054e2088cf98db8b867ec130963d1f6194f3ea
BLAKE2b-256 checksum
How to use checksums
978937390eab675fba737a6eecb8189796f0cf63ff6e6bbe074720f21ef501ee
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.0-cp37-cp37m-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl

Download URL bytewax-0.10.0-cp37-cp37m-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl
Size 7.1 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
92d1ba19499c5611fce7ca17466df71e237668378b8e9d2b44216cd441259b8b
BLAKE2b-256 checksum
How to use checksums
f6e03b5719c70c22256660eb5c6a9fe087d842f0ebb3c1090dfa6ee173b6a4d4
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