No project description provided
Project description
Bytewax
Bytewax is an open source Python framework for building highly scalable dataflows in a streaming or batch context.
Dataflow programming is a programming paradigm where program execution is conceptualized as data flowing through a series of operations or transformations.
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.
- 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 uses PyO3 to provide Python bindings to the Timely Dataflow Rust library.
Visit our documentation site for full documentation
Usage
Install the latest release with pip:
pip install bytewax
Example
Here is an example of a simple dataflow program using Bytewax:
# pyexamples/simple.py
from bytewax import Executor
ec = Executor()
flow = ec.Dataflow(enumerate(range(10)))
flow.map(lambda x: x * x)
flow.inspect(print)
if __name__ == "__main__":
ec.build_and_run()
Running the program:
python ./pyexamples/simple.py
0
1
4
9
16
25
36
49
81
64
For a more complete example, and documentation on the available operators, check out the User Guide.
License
Bytewax is licensed under the Apache-2.0 license.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distributions
Hashes for bytewax-0.7.0-pp37-pypy37_pp73-manylinux_2_12_x86_64.manylinux2010_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 80c1d7b2c2503259a0ab1f0bf8846dea8b4f161db708b4f06bfe61f7e44fd064 |
|
MD5 | 535ff388d0ef6d5c5fd651e6d8e2f349 |
|
BLAKE2b-256 | 9a1b38384bd304cc981614cc892e54da1ea98c3070c1e6ecbd398600e2ffb963 |
Hashes for bytewax-0.7.0-cp310-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6719bd2d06d4ae7b1204425b8ad6d908d6496f7350d79d7aad2b56ece83b82f0 |
|
MD5 | fff3c7d4318af5f0898588a73a33e667 |
|
BLAKE2b-256 | c430542feac13b0b89745272e552a1b19510fcf371aa10d9ac2482731332b114 |
Hashes for bytewax-0.7.0-cp310-cp310-manylinux_2_12_x86_64.manylinux2010_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ca55250b6cadbd6eaa05212c0feb47144b10f97a9c583e487e085d9270476a37 |
|
MD5 | b63b5f949d5460bb416416c490368bc6 |
|
BLAKE2b-256 | 87a12b954ff631893e58e0e0afd812e07fcda6831fc2ac68f06256c87e492e35 |
Hashes for bytewax-0.7.0-cp310-cp310-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e3cc3d6a313f75c50b557392995b641c34f0da1f2e9c9ca626e0578c9707a936 |
|
MD5 | fe62059e2472305df8b4798b4b1dde9e |
|
BLAKE2b-256 | 891b245e9691ba27c4f7a5845be6ddf17357bd824c54c12793f0f76dea6f0092 |
Hashes for bytewax-0.7.0-cp39-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0ffc1c93a719ea98eba79b855ed08d87b689c8e4a4be60654321815c1bcd29be |
|
MD5 | bc575c9e36f2c0e8b5752f482c0ce41d |
|
BLAKE2b-256 | 4da954910a83820c682cca3d5905805ed0a463b7b7db4d1d928125353d127265 |
Hashes for bytewax-0.7.0-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | df4f71624e15e5a4f68a51f88235b93e35a6dfedd30f95782181f52aa53fa365 |
|
MD5 | 224c939b5155518ab476f279e766ab3e |
|
BLAKE2b-256 | 870bc43f08eaf75b1c458d78b920418c6f8443c66335bf725bb6698905da39a6 |
Hashes for bytewax-0.7.0-cp39-cp39-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 74c900e1b48e8d7bb0cdb83e36b5f1e705ba0af3814b21b34dc47c3559502959 |
|
MD5 | 4cd11d1f139fcaaa28754bae0434397f |
|
BLAKE2b-256 | 7fa3820f16693ccd0d3125deed11ada5949700dbfa2fd9fff74cf379ed8faa39 |
Hashes for bytewax-0.7.0-cp38-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ec134cbf18d80065e896e77e0cf4a2a7a5764638cc461afa904421ac3632ed98 |
|
MD5 | 0faa34c126893dee2f5a047c043cbdcd |
|
BLAKE2b-256 | cbe4cdd8c732362df9dcf2f6adb3585efcbe7101355c2623cddc0ed7b7d2d2dc |
Hashes for bytewax-0.7.0-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e61a646bac198d30b64a04727fed6a86413f79d7796b0dc5a7f4f633765b18c7 |
|
MD5 | 95df840d72d32a098c202f6192c67a14 |
|
BLAKE2b-256 | 3e53be54d266086808f0a75942d7ebc97f12ea60b71823068ee007d902e778a2 |
Hashes for bytewax-0.7.0-cp38-cp38-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 716e667afcd6cfdb767d26874136219529097116e59be97ad9640159b1f98831 |
|
MD5 | f66188c27ef940b76b9da360ea7e40d7 |
|
BLAKE2b-256 | 8372c5e83adbabd74e0a8b808f852f13ef030f32dee990fcc5255fdefed691ac |
Hashes for bytewax-0.7.0-cp37-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3ae2f8acb8887457443a1b004c7e2f72c69568ee53d2f40b392b3c23dfd613b3 |
|
MD5 | 449541ed65be8f99de641f37c0ec27e8 |
|
BLAKE2b-256 | b9675779b71dc5c60f1279d7c344683605ca6d956e08e9609436bef501cbfc92 |
Hashes for bytewax-0.7.0-cp37-cp37m-manylinux_2_12_x86_64.manylinux2010_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e9e4c469b66e946cab42377cb0edb31df832d93d640bc5b5b92196ce86a1045a |
|
MD5 | 0917e9805bda8327ecbdb989c6deff7a |
|
BLAKE2b-256 | 4a012e9485ba70186246d9fc7edf693e7f632ccec8838380e4e8b3ae22fde5ec |
Hashes for bytewax-0.7.0-cp37-cp37m-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 93c38b48385e0aab22278411511bbd21613638e9734fa47b35219ad8fb0be91d |
|
MD5 | e67f42bd296fe16a261cc4a8ba1fd378 |
|
BLAKE2b-256 | b85580c387c332fe49ac595bf800ee8952790161d9da2f5133b6f173b2f6b41a |