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.16.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.16.2
File
bytewax-0.16.2-cp311-none-win_amd64.whl CPython 3.11 none Windows x86-64 Details
bytewax-0.16.2-cp311-cp311-manylinux_2_31_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.31+ x86-64 Details
bytewax-0.16.2-cp311-cp311-manylinux_2_27_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.27+ x86-64 Details
bytewax-0.16.2-cp311-cp311-macosx_11_0_arm64.whl CPython 3.11 CPython 3.11 macOS 11.0+ ARM64 Details
bytewax-0.16.2-cp311-cp311-macosx_10_9_x86_64.whl CPython 3.11 CPython 3.11 macOS 10.9+ x86-64 Details
bytewax-0.16.2-cp310-none-win_amd64.whl CPython 3.10 none Windows x86-64 Details
bytewax-0.16.2-cp310-cp310-manylinux_2_31_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.31+ x86-64 Details
bytewax-0.16.2-cp310-cp310-manylinux_2_27_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.27+ x86-64 Details
bytewax-0.16.2-cp310-cp310-macosx_11_0_arm64.whl CPython 3.10 CPython 3.10 macOS 11.0+ ARM64 Details
bytewax-0.16.2-cp310-cp310-macosx_10_9_x86_64.whl CPython 3.10 CPython 3.10 macOS 10.9+ x86-64 Details
bytewax-0.16.2-cp39-none-win_amd64.whl CPython 3.9 none Windows x86-64 Details
bytewax-0.16.2-cp39-cp39-manylinux_2_31_x86_64.whl CPython 3.9 CPython 3.9 Linux glibc 2.31+ x86-64 Details
bytewax-0.16.2-cp39-cp39-manylinux_2_27_x86_64.whl CPython 3.9 CPython 3.9 Linux glibc 2.27+ x86-64 Details
bytewax-0.16.2-cp39-cp39-macosx_11_0_arm64.whl CPython 3.9 CPython 3.9 macOS 11.0+ ARM64 Details
bytewax-0.16.2-cp39-cp39-macosx_10_9_x86_64.whl CPython 3.9 CPython 3.9 macOS 10.9+ x86-64 Details
bytewax-0.16.2-cp38-none-win_amd64.whl CPython 3.8 none Windows x86-64 Details
bytewax-0.16.2-cp38-cp38-manylinux_2_31_x86_64.whl CPython 3.8 CPython 3.8 Linux glibc 2.31+ x86-64 Details
bytewax-0.16.2-cp38-cp38-manylinux_2_27_x86_64.whl CPython 3.8 CPython 3.8 Linux glibc 2.27+ x86-64 Details
bytewax-0.16.2-cp38-cp38-macosx_11_0_arm64.whl CPython 3.8 CPython 3.8 macOS 11.0+ ARM64 Details
bytewax-0.16.2-cp38-cp38-macosx_10_9_x86_64.whl CPython 3.8 CPython 3.8 macOS 10.9+ x86-64 Details
bytewax-0.16.2-cp37-none-win_amd64.whl CPython 3.7 none Windows x86-64 Details
bytewax-0.16.2-cp37-cp37m-manylinux_2_31_x86_64.whl CPython 3.7 CPython 3.7 pymalloc Linux glibc 2.31+ x86-64 Details
bytewax-0.16.2-cp37-cp37m-manylinux_2_27_x86_64.whl CPython 3.7 CPython 3.7 pymalloc Linux glibc 2.27+ x86-64 Details
bytewax-0.16.2-cp37-cp37m-macosx_11_0_arm64.whl CPython 3.7 CPython 3.7 pymalloc macOS 11.0+ ARM64 Details
bytewax-0.16.2-cp37-cp37m-macosx_10_9_x86_64.whl CPython 3.7 CPython 3.7 pymalloc macOS 10.9+ x86-64 Details

Total release size: 193.5 MB

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

Download URL bytewax-0.16.2-cp311-none-win_amd64.whl
Size 6.2 MB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
a081565c92dba8089d6d38218b87dfee3947c847b6ab915f06d0597e9bc99c23
BLAKE2b-256 checksum
How to use checksums
0124f6cf6ebcb6e155ffd0bb716a2479d9a932afdea0d6ccccb599adce587d55
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.9.16

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

Download URL bytewax-0.16.2-cp311-cp311-manylinux_2_31_x86_64.whl
Size 9.3 MB
Tags CPython 3.11 Linux glibc 2.31+ x86-64
SHA-256 checksum
How to use checksums
620bac0f60628fdfa4cc4ca5fa48d0828b0f0c346f4630c71ce753e4be5aa24f
BLAKE2b-256 checksum
How to use checksums
5c50f4bd558a38404b2955dca36728efb69951b39a53b803ea82c3b95e1da90c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.9.16

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

Download URL bytewax-0.16.2-cp311-cp311-manylinux_2_27_x86_64.whl
Size 9.1 MB
Tags CPython 3.11 Linux glibc 2.27+ x86-64
SHA-256 checksum
How to use checksums
df76f55a87eb38ff6f88dd3d7cf6d7d9fdb34590f51cb1de4a9ab6f8d6f1b2a9
BLAKE2b-256 checksum
How to use checksums
7ac754f49ffa67d28f3c4833cebb16e2713ea5ad1f9846526b317c2c1cabb129
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.9.16

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

Download URL bytewax-0.16.2-cp311-cp311-macosx_11_0_arm64.whl
Size 6.9 MB
Tags CPython 3.11 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
774992f0c5717b272e490c72286699be2254ef5bf53b4a973f9208a68d6a242c
BLAKE2b-256 checksum
How to use checksums
6e7cc0256ff0fbb280b2960c97340c68e56e4cd567411e2e4bcf6bd51d2ebf58
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.9.16

Release files / bytewax-0.16.2-cp311-cp311-macosx_10_9_x86_64.whl

Download URL bytewax-0.16.2-cp311-cp311-macosx_10_9_x86_64.whl
Size 7.2 MB
Tags CPython 3.11 macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
888e5e8189014ad34279b0ceb8f4546480e3f9ab94845883ca50d11b005c8fe0
BLAKE2b-256 checksum
How to use checksums
60ed4a60d4bdac2827b99d589ba4dd1cb220d489a62d6d3aae351fc8754c2c33
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.9.16

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

Download URL bytewax-0.16.2-cp310-none-win_amd64.whl
Size 6.2 MB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
9634a575e9c8f412bb99875b7d095c6f9c61d6911721ea6f00eaf620383a9203
BLAKE2b-256 checksum
How to use checksums
c9cf2ccefa46655f56f4e67d7e0cd4fd893250998d9bf74817a239267a15ca93
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.9.16

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

Download URL bytewax-0.16.2-cp310-cp310-manylinux_2_31_x86_64.whl
Size 9.3 MB
Tags CPython 3.10 Linux glibc 2.31+ x86-64
SHA-256 checksum
How to use checksums
671559381c900a902bb41d0e0b1a061a1d1f175315802eaba96895a9ff45193f
BLAKE2b-256 checksum
How to use checksums
ac4124dffea989fcecc61146ce82160014f26e7d804df031372be65c2f13c0aa
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.9.16

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

Download URL bytewax-0.16.2-cp310-cp310-manylinux_2_27_x86_64.whl
Size 9.1 MB
Tags CPython 3.10 Linux glibc 2.27+ x86-64
SHA-256 checksum
How to use checksums
f3293a38bb8a00cd6ae16552cf49208b823d1e0596af46b05ddda3875fcc33f3
BLAKE2b-256 checksum
How to use checksums
f38b1451a20840e6167940ccf40ca375c53e06bf84ad1f065c5172784119f25a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.9.16

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

Download URL bytewax-0.16.2-cp310-cp310-macosx_11_0_arm64.whl
Size 6.9 MB
Tags CPython 3.10 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
3dda2436cdaec60b9aa7aa6f56de3062485d8688f64278cd429d87c7e7b39893
BLAKE2b-256 checksum
How to use checksums
d9169f2d920a6be8638520bb40a2ea11d32e2c47ac8241905083d48e051c1a72
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.9.16

Release files / bytewax-0.16.2-cp310-cp310-macosx_10_9_x86_64.whl

Download URL bytewax-0.16.2-cp310-cp310-macosx_10_9_x86_64.whl
Size 7.2 MB
Tags CPython 3.10 macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
a067a2864d1927cbd801a4f8abd05022f90ed56398aecb7cb5a961379da8d431
BLAKE2b-256 checksum
How to use checksums
c83c3138a86eaddd70f1268c76b5077ac91ba8c77a27eeab4bbf2daf0ab1df67
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.9.16

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

Download URL bytewax-0.16.2-cp39-none-win_amd64.whl
Size 6.2 MB
Tags CPython 3.9 Windows x86-64
SHA-256 checksum
How to use checksums
672ffc307684dc5fb383fe87c7317f7813a804d161ad2cb0bf6fba4b2ec7740f
BLAKE2b-256 checksum
How to use checksums
43945dc5084167c68325f8a3031c68605e2b523af653c44f729f4daa6c515d02
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.9.16

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

Download URL bytewax-0.16.2-cp39-cp39-manylinux_2_31_x86_64.whl
Size 9.3 MB
Tags CPython 3.9 Linux glibc 2.31+ x86-64
SHA-256 checksum
How to use checksums
0e4ff4d40ea19c36ea0e777aa99d0e4ed047005edba14a61dfed04a6a93d72d1
BLAKE2b-256 checksum
How to use checksums
5f7823da787cdb27f8226f7a643c08faa4771db5a6a6a6c93b42ca254d44feb4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.9.16

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

Download URL bytewax-0.16.2-cp39-cp39-manylinux_2_27_x86_64.whl
Size 9.1 MB
Tags CPython 3.9 Linux glibc 2.27+ x86-64
SHA-256 checksum
How to use checksums
677a7eac80554ddb88326e928e233804c2911fe62e5053c7ee50dba4def0ab7e
BLAKE2b-256 checksum
How to use checksums
a608284a334c9369e55f1d506a04da3654842e2a554cf02bbd3c0322da9c0b0d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.9.16

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

Download URL bytewax-0.16.2-cp39-cp39-macosx_11_0_arm64.whl
Size 6.9 MB
Tags CPython 3.9 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
b0a67cf0fa05e6ff101f5ae946331579c3977beb2349360986c830c9f3ea5f6e
BLAKE2b-256 checksum
How to use checksums
3e46ea1061da11482270aeccd4ade1ee367913a003880b91f08fc8c37bbc706f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.9.16

Release files / bytewax-0.16.2-cp39-cp39-macosx_10_9_x86_64.whl

Download URL bytewax-0.16.2-cp39-cp39-macosx_10_9_x86_64.whl
Size 7.2 MB
Tags CPython 3.9 macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
ff8f4d009b16e9fd6031610c403b62baf7b583b43e71a437b87228f6e49c4f4b
BLAKE2b-256 checksum
How to use checksums
9f36d1208abcd3df4b7dff6932dcd9ae639e30b9c4982c550714a2168083c623
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.9.16

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

Download URL bytewax-0.16.2-cp38-none-win_amd64.whl
Size 6.2 MB
Tags CPython 3.8 Windows x86-64
SHA-256 checksum
How to use checksums
77acb132e6d7a7c2784e28aea6e2e4c5e9a9b802a2d0ee2ccd9ea831eb7a4eff
BLAKE2b-256 checksum
How to use checksums
91b00ef97a6ef98741190a90daa67900b489826f654aa7a52d2803aa30672ba0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.9.16

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

Download URL bytewax-0.16.2-cp38-cp38-manylinux_2_31_x86_64.whl
Size 9.3 MB
Tags CPython 3.8 Linux glibc 2.31+ x86-64
SHA-256 checksum
How to use checksums
efcfd2ca39b4501c1477cd6a110aa4db11d7d440b4189f962e3b8796e5bdfd1a
BLAKE2b-256 checksum
How to use checksums
d6080ff96b30bd467c4dbe7347a0acf64e4073d510c82e273b579c398d5f61b7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.9.16

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

Download URL bytewax-0.16.2-cp38-cp38-manylinux_2_27_x86_64.whl
Size 9.1 MB
Tags CPython 3.8 Linux glibc 2.27+ x86-64
SHA-256 checksum
How to use checksums
7af6c962014ef3cb97431be7f1a3b4f691e4f4559af45ad799b20c9f9edfffe3
BLAKE2b-256 checksum
How to use checksums
c6146a718e877839dc6e892b0a2471a73d3359a7fdabd6040413861f469dae3b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.9.16

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

Download URL bytewax-0.16.2-cp38-cp38-macosx_11_0_arm64.whl
Size 6.9 MB
Tags CPython 3.8 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
b52b05232b013618d0ffd99f24d52882000a6692eca131e36291a551d8d37829
BLAKE2b-256 checksum
How to use checksums
6eef977258e07b139811cf13504cc18da6f72d14bc1565bafe9defc37516a878
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.9.16

Release files / bytewax-0.16.2-cp38-cp38-macosx_10_9_x86_64.whl

Download URL bytewax-0.16.2-cp38-cp38-macosx_10_9_x86_64.whl
Size 7.2 MB
Tags CPython 3.8 macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
888d43064aa6cff1366117d0603388c3b259e79e964848734b5b058f14f8f8d5
BLAKE2b-256 checksum
How to use checksums
af81ade20de10d248e6016e6665e62c382a9003e32a16802b985ef2421a07eae
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.9.16

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

Download URL bytewax-0.16.2-cp37-none-win_amd64.whl
Size 6.2 MB
Tags CPython 3.7 Windows x86-64
SHA-256 checksum
How to use checksums
2830b2520699c748795e5f2c8872c5cfe381d5f46523be2725906d037a754b97
BLAKE2b-256 checksum
How to use checksums
01a2e6c46ded62746fc58b1a27ccfaa450110915943f1010e551ab85c164df8a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.9.16

Release files / bytewax-0.16.2-cp37-cp37m-manylinux_2_31_x86_64.whl

Download URL bytewax-0.16.2-cp37-cp37m-manylinux_2_31_x86_64.whl
Size 9.3 MB
Tags CPython 3.7 CPython 3.7 pymalloc Linux glibc 2.31+ x86-64
SHA-256 checksum
How to use checksums
e9152885aa08077d3b3e57a1d1eab6c9bb514397883236f66924244364826095
BLAKE2b-256 checksum
How to use checksums
28dfe1fba625f57af73d627ddbba297c565cb02368d359610e39c198d8ee8a67
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.9.16

Release files / bytewax-0.16.2-cp37-cp37m-manylinux_2_27_x86_64.whl

Download URL bytewax-0.16.2-cp37-cp37m-manylinux_2_27_x86_64.whl
Size 9.1 MB
Tags CPython 3.7 CPython 3.7 pymalloc Linux glibc 2.27+ x86-64
SHA-256 checksum
How to use checksums
54db166c911ac3db38565dcaabbfd96c5ec479b0041ede2d97ca483ded4f2f71
BLAKE2b-256 checksum
How to use checksums
235cfcdad8e6da9a7d2be9e57e0ce5546bdcb26d91150e49c89e963866fe1ea7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.9.16

Release files / bytewax-0.16.2-cp37-cp37m-macosx_11_0_arm64.whl

Download URL bytewax-0.16.2-cp37-cp37m-macosx_11_0_arm64.whl
Size 6.9 MB
Tags CPython 3.7 CPython 3.7 pymalloc macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
d4e734a53f9332843b75f6d030962ed18461fdec9a65c2a6b8654ecf5e595b15
BLAKE2b-256 checksum
How to use checksums
b0b5df84ef9ceb8dc56a9f3f7f2dcd0ed98d867ad158952b0c48aa3f1d984c9d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.9.16

Release files / bytewax-0.16.2-cp37-cp37m-macosx_10_9_x86_64.whl

Download URL bytewax-0.16.2-cp37-cp37m-macosx_10_9_x86_64.whl
Size 7.2 MB
Tags CPython 3.7 CPython 3.7 pymalloc macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
8c690946293e76e7bcf4381b0ffa4d039364b469b815f567349787252c2ef8ba
BLAKE2b-256 checksum
How to use checksums
ddf41e52579bb0564b6e67051d5ab8e4e953cf499a82b41624e84fc7f82b5555
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.9.16
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