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

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.17.2
File
bytewax-0.17.2-cp311-none-win_amd64.whl CPython 3.11 none Windows x86-64 Details
bytewax-0.17.2-cp311-cp311-manylinux_2_31_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.31+ x86-64 Details
bytewax-0.17.2-cp311-cp311-manylinux_2_27_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.27+ x86-64 Details
bytewax-0.17.2-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl CPython 3.11 CPython 3.11 Linux glibc 2.17+ ARMv7l Details
bytewax-0.17.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.11 CPython 3.11 Linux glibc 2.17+ ARM64 Details
bytewax-0.17.2-cp311-cp311-macosx_11_0_arm64.whl CPython 3.11 CPython 3.11 macOS 11.0+ ARM64 Details
bytewax-0.17.2-cp311-cp311-macosx_10_9_x86_64.whl CPython 3.11 CPython 3.11 macOS 10.9+ x86-64 Details
bytewax-0.17.2-cp310-none-win_amd64.whl CPython 3.10 none Windows x86-64 Details
bytewax-0.17.2-cp310-cp310-manylinux_2_31_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.31+ x86-64 Details
bytewax-0.17.2-cp310-cp310-manylinux_2_27_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.27+ x86-64 Details
bytewax-0.17.2-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl CPython 3.10 CPython 3.10 Linux glibc 2.17+ ARMv7l Details
bytewax-0.17.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.10 CPython 3.10 Linux glibc 2.17+ ARM64 Details
bytewax-0.17.2-cp310-cp310-macosx_11_0_arm64.whl CPython 3.10 CPython 3.10 macOS 11.0+ ARM64 Details
bytewax-0.17.2-cp310-cp310-macosx_10_9_x86_64.whl CPython 3.10 CPython 3.10 macOS 10.9+ x86-64 Details
bytewax-0.17.2-cp39-none-win_amd64.whl CPython 3.9 none Windows x86-64 Details
bytewax-0.17.2-cp39-cp39-manylinux_2_31_x86_64.whl CPython 3.9 CPython 3.9 Linux glibc 2.31+ x86-64 Details
bytewax-0.17.2-cp39-cp39-manylinux_2_27_x86_64.whl CPython 3.9 CPython 3.9 Linux glibc 2.27+ x86-64 Details
bytewax-0.17.2-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl CPython 3.9 CPython 3.9 Linux glibc 2.17+ ARMv7l Details
bytewax-0.17.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.9 CPython 3.9 Linux glibc 2.17+ ARM64 Details
bytewax-0.17.2-cp39-cp39-macosx_11_0_arm64.whl CPython 3.9 CPython 3.9 macOS 11.0+ ARM64 Details
bytewax-0.17.2-cp39-cp39-macosx_10_9_x86_64.whl CPython 3.9 CPython 3.9 macOS 10.9+ x86-64 Details
bytewax-0.17.2-cp38-none-win_amd64.whl CPython 3.8 none Windows x86-64 Details
bytewax-0.17.2-cp38-cp38-manylinux_2_31_x86_64.whl CPython 3.8 CPython 3.8 Linux glibc 2.31+ x86-64 Details
bytewax-0.17.2-cp38-cp38-manylinux_2_27_x86_64.whl CPython 3.8 CPython 3.8 Linux glibc 2.27+ x86-64 Details
bytewax-0.17.2-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl CPython 3.8 CPython 3.8 Linux glibc 2.17+ ARMv7l Details
bytewax-0.17.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.8 CPython 3.8 Linux glibc 2.17+ ARM64 Details
bytewax-0.17.2-cp38-cp38-macosx_11_0_arm64.whl CPython 3.8 CPython 3.8 macOS 11.0+ ARM64 Details
bytewax-0.17.2-cp38-cp38-macosx_10_9_x86_64.whl CPython 3.8 CPython 3.8 macOS 10.9+ x86-64 Details

Total release size: 167.2 MB

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

Download URL bytewax-0.17.2-cp311-none-win_amd64.whl
Size 4.5 MB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
30b36abb37b9a3e0a90b98e8caff6ec3feed47eccd96ebe0fd34002dba764b98
BLAKE2b-256 checksum
How to use checksums
2c8de903f72963c068ffbb731a7542c9ff51ca7b226c88550fd34a2749a0ea24
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.17.2-cp311-cp311-manylinux_2_31_x86_64.whl

Download URL bytewax-0.17.2-cp311-cp311-manylinux_2_31_x86_64.whl
Size 6.9 MB
Tags CPython 3.11 Linux glibc 2.31+ x86-64
SHA-256 checksum
How to use checksums
e5bac0a6ef04b7ee0bc82b73ff0ca760d0fedec6cc692e87fb0ca045bb672469
BLAKE2b-256 checksum
How to use checksums
70b831733a784d903e50a5f76f07fecdb826a5948ee12886e5be4b48ba242e25
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.17.2-cp311-cp311-manylinux_2_27_x86_64.whl

Download URL bytewax-0.17.2-cp311-cp311-manylinux_2_27_x86_64.whl
Size 6.9 MB
Tags CPython 3.11 Linux glibc 2.27+ x86-64
SHA-256 checksum
How to use checksums
48beea2bcf189b4c520dbbd0cd1665d8306d2fbda62c5e47d00ebd2b999e56ea
BLAKE2b-256 checksum
How to use checksums
b0d8aa355f6fadc243b2cc60126f53ffc77cba492558ddaf645d9c92e20538a8
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.17.2-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl

Download URL bytewax-0.17.2-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Size 6.7 MB
Tags CPython 3.11 Linux glibc 2.17+ ARMv7l
SHA-256 checksum
How to use checksums
10485273ea44d91293945fba7f64e55c728e832af83b9045c353224b51864767
BLAKE2b-256 checksum
How to use checksums
d93922a071f25eb858aee81658db4fa8a18e92d60ec240522d6846a052ca413e
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.17.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL bytewax-0.17.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 6.8 MB
Tags CPython 3.11 Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
c9df3363b1dcad900b9de2d98fa3709616e5a731e6c72e8865fdaf1f5c7bceff
BLAKE2b-256 checksum
How to use checksums
03cdfc4d7ce8128812819307c9d6d2bdb70198301bf7e36e6f3496d7d98bba90
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.17.2-cp311-cp311-macosx_11_0_arm64.whl

Download URL bytewax-0.17.2-cp311-cp311-macosx_11_0_arm64.whl
Size 4.9 MB
Tags CPython 3.11 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
25ecdb851e049fe9c18087900e54952400a4cda28d3858fb5b1f214464520001
BLAKE2b-256 checksum
How to use checksums
9c68f0b1c62ea508b65324f4446fc5140992d8d8e26dfd95e059239193293e1b
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.17.2-cp311-cp311-macosx_10_9_x86_64.whl

Download URL bytewax-0.17.2-cp311-cp311-macosx_10_9_x86_64.whl
Size 5.0 MB
Tags CPython 3.11 macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
65640a6529642ae439aa9503de72d6028c2a2aadb4ccbbc2416d1b11cfe4d9a9
BLAKE2b-256 checksum
How to use checksums
0f00b403e9d3e465e4b57d6e86b203d3d4b3e3ee5283e8a0fa6985e2d4863d0f
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.17.2-cp310-none-win_amd64.whl

Download URL bytewax-0.17.2-cp310-none-win_amd64.whl
Size 4.5 MB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
7f7e1db12656a4b8eb8941c7aca5404e0a762924cbba4fa2652e50c86196176f
BLAKE2b-256 checksum
How to use checksums
1e22cb6608a2eb1755ce01bb6542671b169e767cd11c6345302263ac12faa772
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.17.2-cp310-cp310-manylinux_2_31_x86_64.whl

Download URL bytewax-0.17.2-cp310-cp310-manylinux_2_31_x86_64.whl
Size 6.9 MB
Tags CPython 3.10 Linux glibc 2.31+ x86-64
SHA-256 checksum
How to use checksums
e626548a17eea5eaa3884a74774d384995773b80063c921094dc2cde519b62f3
BLAKE2b-256 checksum
How to use checksums
d97318d739662400761f44313d964a06e9d42dabac87a6031516d863a763539c
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.17.2-cp310-cp310-manylinux_2_27_x86_64.whl

Download URL bytewax-0.17.2-cp310-cp310-manylinux_2_27_x86_64.whl
Size 6.9 MB
Tags CPython 3.10 Linux glibc 2.27+ x86-64
SHA-256 checksum
How to use checksums
403fbb54200fc0279beaf2c8187cce2df92296a380cb2fb1fa80147f190eea50
BLAKE2b-256 checksum
How to use checksums
a5e25288e9a67420ec09e790252912578d8d338197b9902c97d232738d96a7f9
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.17.2-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl

Download URL bytewax-0.17.2-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Size 6.7 MB
Tags CPython 3.10 Linux glibc 2.17+ ARMv7l
SHA-256 checksum
How to use checksums
581c0113dcea59e83bd5258be416ce876c9bed05405c98db8d5bd3029ca65132
BLAKE2b-256 checksum
How to use checksums
5f0b04fcf55edeae4f1cdc7a51ea85d60b75d377d46de91c18b8d4a062b7cb50
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.17.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL bytewax-0.17.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 6.8 MB
Tags CPython 3.10 Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
694fb5057676d557d7f897350309a866d97a97dd36b7d51b5adf4ef2bd2edeff
BLAKE2b-256 checksum
How to use checksums
2fc9ec111f145a78a4a2d20b42ff2207e6bfb78a6b3ab150692425e1e9cadaa6
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.17.2-cp310-cp310-macosx_11_0_arm64.whl

Download URL bytewax-0.17.2-cp310-cp310-macosx_11_0_arm64.whl
Size 4.9 MB
Tags CPython 3.10 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
fb8e90255ae8923ca0e94eae3e15c552ac90ce4c702882ba6bc268c05cab71dc
BLAKE2b-256 checksum
How to use checksums
5ec3f803a1b4b01a63a0be5ba4ea65396b11b870fc4cf726cdf38fe34fc13aa9
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.17.2-cp310-cp310-macosx_10_9_x86_64.whl

Download URL bytewax-0.17.2-cp310-cp310-macosx_10_9_x86_64.whl
Size 5.0 MB
Tags CPython 3.10 macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
533533fc5dfe89afa3ec8ccd205fdbc5af2413604cc95ecf70af0d971311974c
BLAKE2b-256 checksum
How to use checksums
c4ed93a9162c8e1f17a3443d3eede7e00deaae9f30ba616a8aee89452cbe1b1b
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.17.2-cp39-none-win_amd64.whl

Download URL bytewax-0.17.2-cp39-none-win_amd64.whl
Size 4.5 MB
Tags CPython 3.9 Windows x86-64
SHA-256 checksum
How to use checksums
04e483cc04d638a0ac595d8f1dd09d32443b3e3c25ad9c3b70b9cbfdcd42033d
BLAKE2b-256 checksum
How to use checksums
600fa7030582a7a316492bd015b4f1969d8bedcd82d38794c67730e1df194d2e
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.17.2-cp39-cp39-manylinux_2_31_x86_64.whl

Download URL bytewax-0.17.2-cp39-cp39-manylinux_2_31_x86_64.whl
Size 6.9 MB
Tags CPython 3.9 Linux glibc 2.31+ x86-64
SHA-256 checksum
How to use checksums
62c25953e4a0efa2ac590f241aa53b203b4228296ea566f7e0dd552ade2644d6
BLAKE2b-256 checksum
How to use checksums
068271466d9174282037257622256c67bd9591d8d218530e9fcb18bfef535c28
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.17.2-cp39-cp39-manylinux_2_27_x86_64.whl

Download URL bytewax-0.17.2-cp39-cp39-manylinux_2_27_x86_64.whl
Size 6.9 MB
Tags CPython 3.9 Linux glibc 2.27+ x86-64
SHA-256 checksum
How to use checksums
3af2c82d7482f7edac73bc772b8be58f85a584b355178477507de99e294e242f
BLAKE2b-256 checksum
How to use checksums
56ce545469e71d001f2b1d9c629c91003f9b10132e4cbd68c13263cdb17e7222
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.17.2-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl

Download URL bytewax-0.17.2-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Size 6.7 MB
Tags CPython 3.9 Linux glibc 2.17+ ARMv7l
SHA-256 checksum
How to use checksums
a3723ed5dbb1c3c9aa0f14efc3f29f905e0df1a600798202bf53cf0f8efcc4be
BLAKE2b-256 checksum
How to use checksums
f042f70e95687074d33231e4b3714884777d6ff6675f924da8eb9e55f0e4ebdb
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.17.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL bytewax-0.17.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 6.8 MB
Tags CPython 3.9 Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
2bd8843f0011934b7df757421c730caecc9f9c1c11d30d2303f065a359b59cc8
BLAKE2b-256 checksum
How to use checksums
5114d79b2991f06c467dd5e6824ff0dcf4bef042ea9faf46e906c514afe22b48
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.17.2-cp39-cp39-macosx_11_0_arm64.whl

Download URL bytewax-0.17.2-cp39-cp39-macosx_11_0_arm64.whl
Size 4.9 MB
Tags CPython 3.9 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
d30564f4afd35099d4f848c6a9760fb8586854ffc13c53affd59be78ed1a6755
BLAKE2b-256 checksum
How to use checksums
374dcdd9b7f24a8bceb60d74c8d192ff0d9fc021c611d7a86ed6bd5e707398bc
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.17.2-cp39-cp39-macosx_10_9_x86_64.whl

Download URL bytewax-0.17.2-cp39-cp39-macosx_10_9_x86_64.whl
Size 5.0 MB
Tags CPython 3.9 macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
f575441383fe8535131a2bf65b3558040a0ca2d24f0259de14b3ec830a037635
BLAKE2b-256 checksum
How to use checksums
84424f054dce16a678e7ae832b7766b0bb495db2e4f1f62e1881b73bed651cd3
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.17.2-cp38-none-win_amd64.whl

Download URL bytewax-0.17.2-cp38-none-win_amd64.whl
Size 4.5 MB
Tags CPython 3.8 Windows x86-64
SHA-256 checksum
How to use checksums
f084154307eb7a0fe9b74d20223c218bef970d27f7fe6a5d2fda8c14e4647f17
BLAKE2b-256 checksum
How to use checksums
089dcc5bd7d2ed63d4988a07933a1453fe7fc69eb438099bf641c7bd9b1a70d8
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.17.2-cp38-cp38-manylinux_2_31_x86_64.whl

Download URL bytewax-0.17.2-cp38-cp38-manylinux_2_31_x86_64.whl
Size 6.9 MB
Tags CPython 3.8 Linux glibc 2.31+ x86-64
SHA-256 checksum
How to use checksums
17b86f84ff9eb4264224dd328f62088972cbb1ad91ed6f32f04064710f8b1c4f
BLAKE2b-256 checksum
How to use checksums
37f9a561b83e8e2e6eda8f8a168dfcc755e6bcea1df3dcac3bf95cde337a4282
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.17.2-cp38-cp38-manylinux_2_27_x86_64.whl

Download URL bytewax-0.17.2-cp38-cp38-manylinux_2_27_x86_64.whl
Size 6.9 MB
Tags CPython 3.8 Linux glibc 2.27+ x86-64
SHA-256 checksum
How to use checksums
3b0ba69017adfa807511c8786e7c6617e6829c1edba3ec5e24961f7414648ed5
BLAKE2b-256 checksum
How to use checksums
dd0350d702c58408cf842b494cb27c28e8b5736b962beb1d8704b78a1124c876
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.17.2-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl

Download URL bytewax-0.17.2-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Size 6.7 MB
Tags CPython 3.8 Linux glibc 2.17+ ARMv7l
SHA-256 checksum
How to use checksums
9040dbf83f00d77bfa3981652f3890d4c5515023784604791af2fd6bba2a1897
BLAKE2b-256 checksum
How to use checksums
1c36dc75c5f2f5bd1ddddacdff05c170fa938fac93dac60b3f939935617cda0c
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.17.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL bytewax-0.17.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 6.8 MB
Tags CPython 3.8 Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
492f0edddcf0bb61d2431ef47d28f09db7cf1a21a9e2eedaf1aea3c73d8b337d
BLAKE2b-256 checksum
How to use checksums
3c8ec2f5611c75384663bec2f739771c9adf7cfbde514bc67785b7604c7f1107
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.17.2-cp38-cp38-macosx_11_0_arm64.whl

Download URL bytewax-0.17.2-cp38-cp38-macosx_11_0_arm64.whl
Size 4.9 MB
Tags CPython 3.8 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
5e0de1126862b149534a91ccfaab60c5ded702e623282cd8cffb5b9024281382
BLAKE2b-256 checksum
How to use checksums
679e7cf3e71fefa659a5fadb7c9b6291a0d590316c1e7524c2b3bb27380776e4
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.17.2-cp38-cp38-macosx_10_9_x86_64.whl

Download URL bytewax-0.17.2-cp38-cp38-macosx_10_9_x86_64.whl
Size 5.0 MB
Tags CPython 3.8 macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
42471c3449e281e56e3749ba5c316fc5af7b44e08a0f0c069116dbf6a070b788
BLAKE2b-256 checksum
How to use checksums
fa363e9c80397daaba1619e494b56d41f030c075ad90514f5cb42c386db52864
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