Skip to main content

Actions Status PyPI Bytewax User Guide

Bytewax

Python Stateful Stream Processing Framework

Bytewax is a Python framework that simplifies event and stream processing. Because Bytewax couples the stream and event processing capabilities of Flink, Spark, and Kafka Streams with the friendly and familiar interface of Python, you can re-use the Python libraries you already know and love. Connect data sources, run stateful transformations and write to various different downstream systems with built-in connectors or existing Python libraries.

Screen Shot 2022-10-07 at 2 22 49 PM

How it all works

Bytewax is a Python framework and Rust distributed processing engine that uses a dataflow computational model to provide parallelizable stream processing and event processing capabilities similar to Flink, Spark, and Kafka Streams. You can use Bytewax for a variety of workloads from moving data à la Kafka Connect style all the way to advanced online machine learning workloads. Bytewax is not limited to streaming applications but excels anywhere that data can be distributed at the input and output.

Bytewax has an accompanying command line interface, waxctl, which supports the deployment of dataflows on cloud vms or kuberentes. You can download it here.


Getting Started with Bytewax

pip install bytewax

Install waxctl

A Bytewax dataflow is Python code that will represent an input, a series of processing steps, and an output. The inputs could range from a Kafka stream to a WebSocket and the outputs could vary from a data lake to a key-value store.

from bytewax.dataflow import Dataflow
from bytewax.connectors.kafka import KafkaInput

# Bytewax has input and output helpers for common input and output data sources
# but you can also create your own with the ManualOutputConfig.

At a high-level, the dataflow compute model is one in which a program execution is conceptualized as data flowing through a series of operator-based steps. Operators like map and filter are the processing primitives of Bytewax. Each of them gives you a “shape” of data transformation, and you give them regular Python functions to customize them to a specific task you need. See the documentation for a list of the available operators

import json


def deserialize(key_bytes__payload_bytes):
    _, payload_bytes = key_bytes__payload_bytes
    event_data = json.loads(payload_bytes) if payload_bytes else None
    return event_data["user_id"], event_data


def anonymize_email(user_id__event_data):
    user_id, event_data = user_id__event_data
    event_data["email"] = "@".join(["******", event_data["email"].split("@")[-1]])
    return user_id, event_data


def remove_bytewax(user_id__event_data):
    user_id, event_data = user_id__event_data
    return "bytewax" not in event_data["email"]


flow = Dataflow()
flow.input("inp", KafkaInput(brokers=["localhost:9092"], topic="web_events"))
flow.map(deserialize)
flow.map(anonymize_email)
flow.filter(remove_bytewax)

Bytewax is a stateful stream processing framework, which means that some operations remember information across multiple events. Windows and aggregations are also stateful, and can be reconstructed in the event of failure. Bytewax can be configured with different state recovery mechanisms to durably persist state in order to recover from failure.

There are multiple stateful operators available like reduce, stateful_map and fold_window. The complete list can be found in the API documentation for all operators. Below we use the fold_window operator with a tumbling window based on system time to gather events and calculate the number of times events have occurred on a per-user basis.

from datetime import datetime, timedelta, timezone
from collections import defaultdict

from bytewax.window import TumblingWindow, SystemClockConfig


def build():
    return defaultdict(lambda: 0)


def count_events(results, event):
    results[event["type"]] += 1
    return results


cc = SystemClockConfig()
align_to = datetime(2023, 1, 1, tzinfo=timezone.utc)
wc = TumblingWindow(length=timedelta(seconds=5), align_to=align_to)

flow.fold_window("session_state_recovery", cc, wc, build, count_events)

Output mechanisms in Bytewax are managed in the output operator. There are a number of helpers that allow you to easily connect and write to other systems (output docs). If there isn’t a helper built, it is easy to build a custom version, which we will do below. Similar the input, Bytewax output can be parallelized and the client connection will occur on the worker.

import json

import psycopg2

from bytewax.outputs import PartitionedOutput, StatefulSink


class PsqlSink(StatefulSink):
    def __init__(self):
        self.conn = psycopg2.connect("dbname=website user=bytewax")
        self.conn.set_session(autocommit=True)
        self.cur = self.conn.cursor()

    def write(self, user_id__user_data):
        user_id, user_data = user_id__user_data
        query_string = """
            INSERT INTO events (user_id, data)
            VALUES (%s, %s)
            ON CONFLICT (user_id)
            DO UPDATE SET data = %s;
        """
        self.cur.execute(
            query_string, (user_id, json.dumps(user_data), json.dumps(user_data))
        )

    def snapshot(self):
        pass

    def close(self):
        self.conn.close()


class PsqlOutput(PartitionedOutput):
    def list_parts(self):
        return {"single"}

    def assign_part(self, item_key):
        return "single"

    def build_part(for_part, resume_state):
        return PsqlSink()


flow.output("out", PsqlOutput())

Bytewax dataflows can be executed on a single host with multiple Python processes, or on multiple hosts. When processing data in a distributed fashion, Bytewax will ensure that all items with the same key are routed to the same host.

python -m bytewax.run my_dataflow:flow

It can also be run in a Docker container as described further in the documentation.

Kubernetes

The recommended way to run dataflows at scale is to leverage the kubernetes ecosystem. To help manage deployment, we built waxctl, which allows you to easily deploy dataflows that will run at huge scale across multiple compute nodes.

waxctl df deploy my_dataflow.py --name my-dataflow

Why Bytewax?

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

Building From Source

To build a specific branch, you will need to use Maturin and have Rust installed on your machine. Once those have been installed run

maturin develop -E dev

Important: If you are testing with a maturin built version from source, you should use maturin build --release since maturin develop will be slower.

More Examples

For a more complete example, and documentation on the available operators, check out the User Guide and 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. Please view the contribution guidelines before getting started.



With ❤️ Bytewax

Metadata

Release files for bytewax 0.18.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.18.0
File
bytewax-0.18.0-cp311-none-win_amd64.whl CPython 3.11 none Windows x86-64 Details
bytewax-0.18.0-cp311-cp311-manylinux_2_31_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.31+ x86-64 Details
bytewax-0.18.0-cp311-cp311-manylinux_2_27_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.27+ x86-64 Details
bytewax-0.18.0-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl CPython 3.11 CPython 3.11 Linux glibc 2.17+ ARMv7l Details
bytewax-0.18.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.11 CPython 3.11 Linux glibc 2.17+ ARM64 Details
bytewax-0.18.0-cp311-cp311-macosx_11_0_arm64.whl CPython 3.11 CPython 3.11 macOS 11.0+ ARM64 Details
bytewax-0.18.0-cp311-cp311-macosx_10_12_x86_64.whl CPython 3.11 CPython 3.11 macOS 10.12+ x86-64 Details
bytewax-0.18.0-cp310-none-win_amd64.whl CPython 3.10 none Windows x86-64 Details
bytewax-0.18.0-cp310-cp310-manylinux_2_31_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.31+ x86-64 Details
bytewax-0.18.0-cp310-cp310-manylinux_2_27_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.27+ x86-64 Details
bytewax-0.18.0-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl CPython 3.10 CPython 3.10 Linux glibc 2.17+ ARMv7l Details
bytewax-0.18.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.10 CPython 3.10 Linux glibc 2.17+ ARM64 Details
bytewax-0.18.0-cp310-cp310-macosx_11_0_arm64.whl CPython 3.10 CPython 3.10 macOS 11.0+ ARM64 Details
bytewax-0.18.0-cp310-cp310-macosx_10_12_x86_64.whl CPython 3.10 CPython 3.10 macOS 10.12+ x86-64 Details
bytewax-0.18.0-cp39-none-win_amd64.whl CPython 3.9 none Windows x86-64 Details
bytewax-0.18.0-cp39-cp39-manylinux_2_31_x86_64.whl CPython 3.9 CPython 3.9 Linux glibc 2.31+ x86-64 Details
bytewax-0.18.0-cp39-cp39-manylinux_2_27_x86_64.whl CPython 3.9 CPython 3.9 Linux glibc 2.27+ x86-64 Details
bytewax-0.18.0-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl CPython 3.9 CPython 3.9 Linux glibc 2.17+ ARMv7l Details
bytewax-0.18.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.9 CPython 3.9 Linux glibc 2.17+ ARM64 Details
bytewax-0.18.0-cp39-cp39-macosx_11_0_arm64.whl CPython 3.9 CPython 3.9 macOS 11.0+ ARM64 Details
bytewax-0.18.0-cp39-cp39-macosx_10_12_x86_64.whl CPython 3.9 CPython 3.9 macOS 10.12+ x86-64 Details
bytewax-0.18.0-cp38-none-win_amd64.whl CPython 3.8 none Windows x86-64 Details
bytewax-0.18.0-cp38-cp38-manylinux_2_31_x86_64.whl CPython 3.8 CPython 3.8 Linux glibc 2.31+ x86-64 Details
bytewax-0.18.0-cp38-cp38-manylinux_2_27_x86_64.whl CPython 3.8 CPython 3.8 Linux glibc 2.27+ x86-64 Details
bytewax-0.18.0-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl CPython 3.8 CPython 3.8 Linux glibc 2.17+ ARMv7l Details
bytewax-0.18.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.8 CPython 3.8 Linux glibc 2.17+ ARM64 Details
bytewax-0.18.0-cp38-cp38-macosx_11_0_arm64.whl CPython 3.8 CPython 3.8 macOS 11.0+ ARM64 Details
bytewax-0.18.0-cp38-cp38-macosx_10_12_x86_64.whl CPython 3.8 CPython 3.8 macOS 10.12+ x86-64 Details

Total release size: 197.2 MB

Release files / bytewax-0.18.0-cp311-none-win_amd64.whl

Download URL bytewax-0.18.0-cp311-none-win_amd64.whl
Size 5.3 MB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
db6be6bf91b1e8e5b5b9ff70e10663fbe8aca7fb63dc4a3960862a26d0c0ef1a
BLAKE2b-256 checksum
How to use checksums
290a80333c945123010b9532f6283b7e90364ca0f8807d4fe0cec63442c3a450
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.9.18

Release files / bytewax-0.18.0-cp311-cp311-manylinux_2_31_x86_64.whl

Download URL bytewax-0.18.0-cp311-cp311-manylinux_2_31_x86_64.whl
Size 8.1 MB
Tags CPython 3.11 Linux glibc 2.31+ x86-64
SHA-256 checksum
How to use checksums
67a943da580b40c279afbb7bc95ef7198106a2af3102845848fdad3e41c19886
BLAKE2b-256 checksum
How to use checksums
669e02617bac41593aaea3a13ede4be6c64890c2ee6dbf1eac86126758d6dbad
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.9.18

Release files / bytewax-0.18.0-cp311-cp311-manylinux_2_27_x86_64.whl

Download URL bytewax-0.18.0-cp311-cp311-manylinux_2_27_x86_64.whl
Size 8.0 MB
Tags CPython 3.11 Linux glibc 2.27+ x86-64
SHA-256 checksum
How to use checksums
48d711a43effc29b43bb94b178f9a47665a77a91c7c56b3f7efcf16798c42ac7
BLAKE2b-256 checksum
How to use checksums
97a34278e39fd28bdf4445af4ab5751ac1a939cbcecfc39834ee29536f01a795
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.9.18

Release files / bytewax-0.18.0-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl

Download URL bytewax-0.18.0-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Size 7.8 MB
Tags CPython 3.11 Linux glibc 2.17+ ARMv7l
SHA-256 checksum
How to use checksums
5e29611270851b7efca95ff8e488a3f27d2a1cd470d2b3167d4b8191c9202cda
BLAKE2b-256 checksum
How to use checksums
d68a52620b7f7686d1a550c8b593fa8e983651d179490e6ba7c08802727d0c11
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.9.18

Release files / bytewax-0.18.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL bytewax-0.18.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 8.1 MB
Tags CPython 3.11 Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
212095904a892467d5548b946556f6b82cf41825c0b56348216f79964fe75371
BLAKE2b-256 checksum
How to use checksums
b50c7f9ca370ef1bbc2c61a4d63218c28f845a1b31fba60c62f6f5b170f03301
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.9.18

Release files / bytewax-0.18.0-cp311-cp311-macosx_11_0_arm64.whl

Download URL bytewax-0.18.0-cp311-cp311-macosx_11_0_arm64.whl
Size 5.9 MB
Tags CPython 3.11 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
a6d0b46d29668f5662197fb35601387694e282cd3a616abfb3bd0702c2f9ab1d
BLAKE2b-256 checksum
How to use checksums
78986b1daa2713211d3ffc15631ef993d6f936828391bf3c9c4158aef53a8c5a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.9.18

Release files / bytewax-0.18.0-cp311-cp311-macosx_10_12_x86_64.whl

Download URL bytewax-0.18.0-cp311-cp311-macosx_10_12_x86_64.whl
Size 6.1 MB
Tags CPython 3.11 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
1ba79fba29401459447eb5f047e9c20ad7038383cec2d103b23272e2f2700868
BLAKE2b-256 checksum
How to use checksums
7a2d0bc6095829f7ca258878a8c46bdcf01b0eefab19ecd7e60b278757586fb2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.9.18

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

Download URL bytewax-0.18.0-cp310-none-win_amd64.whl
Size 5.3 MB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
59f8782b8adcb4e080d650f1a59f55ddedfff6227e2b9df3467b240495ee33df
BLAKE2b-256 checksum
How to use checksums
1bd5437854b70736b1162a449135bb41f417ba04a860806d74342194a6d15b02
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.9.18

Release files / bytewax-0.18.0-cp310-cp310-manylinux_2_31_x86_64.whl

Download URL bytewax-0.18.0-cp310-cp310-manylinux_2_31_x86_64.whl
Size 8.1 MB
Tags CPython 3.10 Linux glibc 2.31+ x86-64
SHA-256 checksum
How to use checksums
65420178412a9de61d19c901e9a9c6dadfe8928a39b41bb3abadd5adcbff3f61
BLAKE2b-256 checksum
How to use checksums
ba04adcb814c82c0c390e85e65986589a7c2a4b6f6464b33039f5e0d51e64d66
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.9.18

Release files / bytewax-0.18.0-cp310-cp310-manylinux_2_27_x86_64.whl

Download URL bytewax-0.18.0-cp310-cp310-manylinux_2_27_x86_64.whl
Size 8.0 MB
Tags CPython 3.10 Linux glibc 2.27+ x86-64
SHA-256 checksum
How to use checksums
70bc4fa8d034a262bef835bb3277dbb1801db12808c655945ef45c9a655d68d0
BLAKE2b-256 checksum
How to use checksums
460b17cb882bcf1237d9ab4c44231a82a5fe7f0ab46f39a166fa0cd93432403b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.9.18

Release files / bytewax-0.18.0-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl

Download URL bytewax-0.18.0-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Size 7.8 MB
Tags CPython 3.10 Linux glibc 2.17+ ARMv7l
SHA-256 checksum
How to use checksums
d6ceaf813fad858ca2c4e1b39ef9bbb9d80baf9af84e612fd9b860268663de7e
BLAKE2b-256 checksum
How to use checksums
24fe743f640e816498c4cb93fce88df3bfd7dbe941f4b59b6e6db7673c902e71
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.9.18

Release files / bytewax-0.18.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL bytewax-0.18.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 8.1 MB
Tags CPython 3.10 Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
4c11c3fe7d334e468dc4dfe5a44cb6ad085efbe7d2b84e69c81e535c0a251c09
BLAKE2b-256 checksum
How to use checksums
5cd9e1440382f2c4bd05284cedf627a8a1af67b931e047a654a401602ce0b7c2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.9.18

Release files / bytewax-0.18.0-cp310-cp310-macosx_11_0_arm64.whl

Download URL bytewax-0.18.0-cp310-cp310-macosx_11_0_arm64.whl
Size 5.9 MB
Tags CPython 3.10 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
d8bb8fa41664b597eaa845f7db9ab693cb624157796551214f70cdb20182b097
BLAKE2b-256 checksum
How to use checksums
32c22532490cfb8dd0af8a16bad984db611ed136d3eeff7d5dbb731966a2af68
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.9.18

Release files / bytewax-0.18.0-cp310-cp310-macosx_10_12_x86_64.whl

Download URL bytewax-0.18.0-cp310-cp310-macosx_10_12_x86_64.whl
Size 6.1 MB
Tags CPython 3.10 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
4bd5e70cfcac86d3c5c990952da6094d23b636011471709662eefabde6823a4a
BLAKE2b-256 checksum
How to use checksums
7ab390615e948e7f0b7663085c55e2747b9e0cd222e8e47037814a631cac804d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.9.18

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

Download URL bytewax-0.18.0-cp39-none-win_amd64.whl
Size 5.3 MB
Tags CPython 3.9 Windows x86-64
SHA-256 checksum
How to use checksums
7ea4ff76655bfea382fa9d4332cea77ac746209a2649302ee58efc0ab3017ad1
BLAKE2b-256 checksum
How to use checksums
2f164a21a7d7796df8c9adff4c016ae580009de6d4f89644dadba29dc8011ed5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.9.18

Release files / bytewax-0.18.0-cp39-cp39-manylinux_2_31_x86_64.whl

Download URL bytewax-0.18.0-cp39-cp39-manylinux_2_31_x86_64.whl
Size 8.1 MB
Tags CPython 3.9 Linux glibc 2.31+ x86-64
SHA-256 checksum
How to use checksums
aec8446f1e6c4b63b561a808760102fbb54a38803cd17025a76518f3cc2cc57f
BLAKE2b-256 checksum
How to use checksums
32731381dba85f2b29b0f4a7f7d4bba9a01c64318c01f0bd31a514bb6084b4fe
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.9.18

Release files / bytewax-0.18.0-cp39-cp39-manylinux_2_27_x86_64.whl

Download URL bytewax-0.18.0-cp39-cp39-manylinux_2_27_x86_64.whl
Size 8.0 MB
Tags CPython 3.9 Linux glibc 2.27+ x86-64
SHA-256 checksum
How to use checksums
354a97387f779e476276e4cf4a97328388a71decd65532dc9f208050bf2559ee
BLAKE2b-256 checksum
How to use checksums
6f3532e8ade24ccefde55ec7a4ecd041f8c252e08d3196e17ea36e2028279ca9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.9.18

Release files / bytewax-0.18.0-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl

Download URL bytewax-0.18.0-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Size 7.8 MB
Tags CPython 3.9 Linux glibc 2.17+ ARMv7l
SHA-256 checksum
How to use checksums
21bfc9df202730bb02960bd3ae6296a242b1a8bb1abb4f75630432eaf44c7f05
BLAKE2b-256 checksum
How to use checksums
0c20e5e4a92d3882fb0c68cf4572576be0b531453085e3d4ebc7aec91b2b6c1f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.9.18

Release files / bytewax-0.18.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL bytewax-0.18.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 8.1 MB
Tags CPython 3.9 Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
7d483dce3bbc795c8ad6ade36101a41ac4b8787272e7210213a28943328325c8
BLAKE2b-256 checksum
How to use checksums
4a4349dae2070915fc49d468d1a6502d4add0077ceff7770a4a30bc0bf173ca2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.9.18

Release files / bytewax-0.18.0-cp39-cp39-macosx_11_0_arm64.whl

Download URL bytewax-0.18.0-cp39-cp39-macosx_11_0_arm64.whl
Size 5.9 MB
Tags CPython 3.9 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
72c4c4f12b29fa9aa8a46aa0d2bfcd9dec2209334e0f4b2c487498436a8f1a19
BLAKE2b-256 checksum
How to use checksums
babd874724a42c18666ebe6f0ff11dacbfe3ba3fabe0c20e6e5ea220e1b2693c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.9.18

Release files / bytewax-0.18.0-cp39-cp39-macosx_10_12_x86_64.whl

Download URL bytewax-0.18.0-cp39-cp39-macosx_10_12_x86_64.whl
Size 6.1 MB
Tags CPython 3.9 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
04deb6fd499a821d08405c863c1ed364f3bee25aa01868ed352b84deb76c6415
BLAKE2b-256 checksum
How to use checksums
045cb153cfe9be4be6c6b13c1e61ebe9246498d38ff4b6a06e7ed1d388bd9a1e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.9.18

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

Download URL bytewax-0.18.0-cp38-none-win_amd64.whl
Size 5.3 MB
Tags CPython 3.8 Windows x86-64
SHA-256 checksum
How to use checksums
d7961d515b3fce6710e4c9961a9d4d39ba23832abd5f56bdca31d0b21ed8bcfb
BLAKE2b-256 checksum
How to use checksums
877df1b46c50d355594c74ad83591878555221a919bd793c9364d83424674a2a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.9.18

Release files / bytewax-0.18.0-cp38-cp38-manylinux_2_31_x86_64.whl

Download URL bytewax-0.18.0-cp38-cp38-manylinux_2_31_x86_64.whl
Size 8.1 MB
Tags CPython 3.8 Linux glibc 2.31+ x86-64
SHA-256 checksum
How to use checksums
a3ae951d8bc035deee12bd696689e463c4fe06b65886b05b899fafa04bb2faa8
BLAKE2b-256 checksum
How to use checksums
3796654a5f55fcc355143556204a6331c4cc32dad8e26affd83ec9c6532f25cf
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.9.18

Release files / bytewax-0.18.0-cp38-cp38-manylinux_2_27_x86_64.whl

Download URL bytewax-0.18.0-cp38-cp38-manylinux_2_27_x86_64.whl
Size 8.0 MB
Tags CPython 3.8 Linux glibc 2.27+ x86-64
SHA-256 checksum
How to use checksums
3c409014a10c51a9ad26070189c86105fae8417e3f7d52b9f02bbec92be893ec
BLAKE2b-256 checksum
How to use checksums
404bbec97554b66279dad6a0f165bdf7086b4fc70928a68b0b6455c6e7d11cab
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.9.18

Release files / bytewax-0.18.0-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl

Download URL bytewax-0.18.0-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Size 7.8 MB
Tags CPython 3.8 Linux glibc 2.17+ ARMv7l
SHA-256 checksum
How to use checksums
cc3c89257c6a7657cea91bf57278ebf096334d25a117ef00794581e55c81dda4
BLAKE2b-256 checksum
How to use checksums
2038348008be44fdb769c56c81176070a9b015384e3b9aa123c697a655f94411
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.9.18

Release files / bytewax-0.18.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL bytewax-0.18.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 8.0 MB
Tags CPython 3.8 Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
e550d320764824d39069c9d1fb0f1bbba2e11df4a954b46909643060deb5a79c
BLAKE2b-256 checksum
How to use checksums
1d768762d443195518930b26e53e452d0bf749c508d69e82b4d152e1a4f89cfd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.9.18

Release files / bytewax-0.18.0-cp38-cp38-macosx_11_0_arm64.whl

Download URL bytewax-0.18.0-cp38-cp38-macosx_11_0_arm64.whl
Size 5.9 MB
Tags CPython 3.8 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
d5de6a99b9b144ee2351feb1eb4c15a577a26b82ea27347ef504287342c183a4
BLAKE2b-256 checksum
How to use checksums
c82fc2b9b6b9a3e524dfaf8453b967fef151b9e1d4f1b5cf867fe9b6a6961be4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.9.18

Release files / bytewax-0.18.0-cp38-cp38-macosx_10_12_x86_64.whl

Download URL bytewax-0.18.0-cp38-cp38-macosx_10_12_x86_64.whl
Size 6.1 MB
Tags CPython 3.8 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
52a1c9470339cdde97830d0d878613c3c436d0fc54100d56d12b84440d7df376
BLAKE2b-256 checksum
How to use checksums
f8f2910a5b3d5abb8badd24fad27c53d1179e14bce36da194bb877dbff1571d0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.9.18
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