Skip to main content

No project description provided

Project description

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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

bytewax-0.17.2-cp311-none-win_amd64.whl (4.5 MB view details)

Uploaded CPython 3.11Windows x86-64

bytewax-0.17.2-cp311-cp311-manylinux_2_31_x86_64.whl (6.9 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.31+ x86-64

bytewax-0.17.2-cp311-cp311-manylinux_2_27_x86_64.whl (6.9 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.27+ x86-64

bytewax-0.17.2-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (6.7 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARMv7l

bytewax-0.17.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (6.8 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64

bytewax-0.17.2-cp311-cp311-macosx_11_0_arm64.whl (4.9 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

bytewax-0.17.2-cp311-cp311-macosx_10_9_x86_64.whl (5.0 MB view details)

Uploaded CPython 3.11macOS 10.9+ x86-64

bytewax-0.17.2-cp310-none-win_amd64.whl (4.5 MB view details)

Uploaded CPython 3.10Windows x86-64

bytewax-0.17.2-cp310-cp310-manylinux_2_31_x86_64.whl (6.9 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.31+ x86-64

bytewax-0.17.2-cp310-cp310-manylinux_2_27_x86_64.whl (6.9 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.27+ x86-64

bytewax-0.17.2-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (6.7 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARMv7l

bytewax-0.17.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (6.8 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARM64

bytewax-0.17.2-cp310-cp310-macosx_11_0_arm64.whl (4.9 MB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

bytewax-0.17.2-cp310-cp310-macosx_10_9_x86_64.whl (5.0 MB view details)

Uploaded CPython 3.10macOS 10.9+ x86-64

bytewax-0.17.2-cp39-none-win_amd64.whl (4.5 MB view details)

Uploaded CPython 3.9Windows x86-64

bytewax-0.17.2-cp39-cp39-manylinux_2_31_x86_64.whl (6.9 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.31+ x86-64

bytewax-0.17.2-cp39-cp39-manylinux_2_27_x86_64.whl (6.9 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.27+ x86-64

bytewax-0.17.2-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (6.7 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ ARMv7l

bytewax-0.17.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (6.8 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ ARM64

bytewax-0.17.2-cp39-cp39-macosx_11_0_arm64.whl (4.9 MB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

bytewax-0.17.2-cp39-cp39-macosx_10_9_x86_64.whl (5.0 MB view details)

Uploaded CPython 3.9macOS 10.9+ x86-64

bytewax-0.17.2-cp38-none-win_amd64.whl (4.5 MB view details)

Uploaded CPython 3.8Windows x86-64

bytewax-0.17.2-cp38-cp38-manylinux_2_31_x86_64.whl (6.9 MB view details)

Uploaded CPython 3.8manylinux: glibc 2.31+ x86-64

bytewax-0.17.2-cp38-cp38-manylinux_2_27_x86_64.whl (6.9 MB view details)

Uploaded CPython 3.8manylinux: glibc 2.27+ x86-64

bytewax-0.17.2-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (6.7 MB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ ARMv7l

bytewax-0.17.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (6.8 MB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ ARM64

bytewax-0.17.2-cp38-cp38-macosx_11_0_arm64.whl (4.9 MB view details)

Uploaded CPython 3.8macOS 11.0+ ARM64

bytewax-0.17.2-cp38-cp38-macosx_10_9_x86_64.whl (5.0 MB view details)

Uploaded CPython 3.8macOS 10.9+ x86-64

File details

Details for the file bytewax-0.17.2-cp311-none-win_amd64.whl.

File metadata

  • Download URL: bytewax-0.17.2-cp311-none-win_amd64.whl
  • Upload date:
  • Size: 4.5 MB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.18

File hashes

Hashes for bytewax-0.17.2-cp311-none-win_amd64.whl
Algorithm Hash digest
SHA256 30b36abb37b9a3e0a90b98e8caff6ec3feed47eccd96ebe0fd34002dba764b98
MD5 6759a46c23f58452f442406a306f1cff
BLAKE2b-256 2c8de903f72963c068ffbb731a7542c9ff51ca7b226c88550fd34a2749a0ea24

See more details on using hashes here.

File details

Details for the file bytewax-0.17.2-cp311-cp311-manylinux_2_31_x86_64.whl.

File metadata

File hashes

Hashes for bytewax-0.17.2-cp311-cp311-manylinux_2_31_x86_64.whl
Algorithm Hash digest
SHA256 e5bac0a6ef04b7ee0bc82b73ff0ca760d0fedec6cc692e87fb0ca045bb672469
MD5 c1b12d8b4f92b0adc20b4d79b55f9e3e
BLAKE2b-256 70b831733a784d903e50a5f76f07fecdb826a5948ee12886e5be4b48ba242e25

See more details on using hashes here.

File details

Details for the file bytewax-0.17.2-cp311-cp311-manylinux_2_27_x86_64.whl.

File metadata

File hashes

Hashes for bytewax-0.17.2-cp311-cp311-manylinux_2_27_x86_64.whl
Algorithm Hash digest
SHA256 48beea2bcf189b4c520dbbd0cd1665d8306d2fbda62c5e47d00ebd2b999e56ea
MD5 b33b392a76e6a0b49f46e1cde074486c
BLAKE2b-256 b0d8aa355f6fadc243b2cc60126f53ffc77cba492558ddaf645d9c92e20538a8

See more details on using hashes here.

File details

Details for the file bytewax-0.17.2-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl.

File metadata

File hashes

Hashes for bytewax-0.17.2-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 10485273ea44d91293945fba7f64e55c728e832af83b9045c353224b51864767
MD5 64eb482347f3cddf2fbdb365e4a49ad0
BLAKE2b-256 d93922a071f25eb858aee81658db4fa8a18e92d60ec240522d6846a052ca413e

See more details on using hashes here.

File details

Details for the file bytewax-0.17.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for bytewax-0.17.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 c9df3363b1dcad900b9de2d98fa3709616e5a731e6c72e8865fdaf1f5c7bceff
MD5 c424f12d4913bb6e5045dd875f3461c2
BLAKE2b-256 03cdfc4d7ce8128812819307c9d6d2bdb70198301bf7e36e6f3496d7d98bba90

See more details on using hashes here.

File details

Details for the file bytewax-0.17.2-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for bytewax-0.17.2-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 25ecdb851e049fe9c18087900e54952400a4cda28d3858fb5b1f214464520001
MD5 37a01fde2623707a086b3a63a6d5a0fa
BLAKE2b-256 9c68f0b1c62ea508b65324f4446fc5140992d8d8e26dfd95e059239193293e1b

See more details on using hashes here.

File details

Details for the file bytewax-0.17.2-cp311-cp311-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for bytewax-0.17.2-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 65640a6529642ae439aa9503de72d6028c2a2aadb4ccbbc2416d1b11cfe4d9a9
MD5 dd59492198971b7312d6d1682c7bf2e8
BLAKE2b-256 0f00b403e9d3e465e4b57d6e86b203d3d4b3e3ee5283e8a0fa6985e2d4863d0f

See more details on using hashes here.

File details

Details for the file bytewax-0.17.2-cp310-none-win_amd64.whl.

File metadata

  • Download URL: bytewax-0.17.2-cp310-none-win_amd64.whl
  • Upload date:
  • Size: 4.5 MB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.18

File hashes

Hashes for bytewax-0.17.2-cp310-none-win_amd64.whl
Algorithm Hash digest
SHA256 7f7e1db12656a4b8eb8941c7aca5404e0a762924cbba4fa2652e50c86196176f
MD5 f9cb2a9a173ed5da8ed0f801e4888027
BLAKE2b-256 1e22cb6608a2eb1755ce01bb6542671b169e767cd11c6345302263ac12faa772

See more details on using hashes here.

File details

Details for the file bytewax-0.17.2-cp310-cp310-manylinux_2_31_x86_64.whl.

File metadata

File hashes

Hashes for bytewax-0.17.2-cp310-cp310-manylinux_2_31_x86_64.whl
Algorithm Hash digest
SHA256 e626548a17eea5eaa3884a74774d384995773b80063c921094dc2cde519b62f3
MD5 a2e6bcd114724014ec821b9675bc9f89
BLAKE2b-256 d97318d739662400761f44313d964a06e9d42dabac87a6031516d863a763539c

See more details on using hashes here.

File details

Details for the file bytewax-0.17.2-cp310-cp310-manylinux_2_27_x86_64.whl.

File metadata

File hashes

Hashes for bytewax-0.17.2-cp310-cp310-manylinux_2_27_x86_64.whl
Algorithm Hash digest
SHA256 403fbb54200fc0279beaf2c8187cce2df92296a380cb2fb1fa80147f190eea50
MD5 2802e7bca14940c3860d228757d4ec4a
BLAKE2b-256 a5e25288e9a67420ec09e790252912578d8d338197b9902c97d232738d96a7f9

See more details on using hashes here.

File details

Details for the file bytewax-0.17.2-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl.

File metadata

File hashes

Hashes for bytewax-0.17.2-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 581c0113dcea59e83bd5258be416ce876c9bed05405c98db8d5bd3029ca65132
MD5 59fc4cbe90f98e8cdfdefb9840aedb60
BLAKE2b-256 5f0b04fcf55edeae4f1cdc7a51ea85d60b75d377d46de91c18b8d4a062b7cb50

See more details on using hashes here.

File details

Details for the file bytewax-0.17.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for bytewax-0.17.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 694fb5057676d557d7f897350309a866d97a97dd36b7d51b5adf4ef2bd2edeff
MD5 1d8582195df9b9b446337b760ab03295
BLAKE2b-256 2fc9ec111f145a78a4a2d20b42ff2207e6bfb78a6b3ab150692425e1e9cadaa6

See more details on using hashes here.

File details

Details for the file bytewax-0.17.2-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for bytewax-0.17.2-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 fb8e90255ae8923ca0e94eae3e15c552ac90ce4c702882ba6bc268c05cab71dc
MD5 609d9125234c81e2e411ac86d214904e
BLAKE2b-256 5ec3f803a1b4b01a63a0be5ba4ea65396b11b870fc4cf726cdf38fe34fc13aa9

See more details on using hashes here.

File details

Details for the file bytewax-0.17.2-cp310-cp310-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for bytewax-0.17.2-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 533533fc5dfe89afa3ec8ccd205fdbc5af2413604cc95ecf70af0d971311974c
MD5 280369d8f4dab9c4c1a133ec4d22a1d2
BLAKE2b-256 c4ed93a9162c8e1f17a3443d3eede7e00deaae9f30ba616a8aee89452cbe1b1b

See more details on using hashes here.

File details

Details for the file bytewax-0.17.2-cp39-none-win_amd64.whl.

File metadata

  • Download URL: bytewax-0.17.2-cp39-none-win_amd64.whl
  • Upload date:
  • Size: 4.5 MB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.18

File hashes

Hashes for bytewax-0.17.2-cp39-none-win_amd64.whl
Algorithm Hash digest
SHA256 04e483cc04d638a0ac595d8f1dd09d32443b3e3c25ad9c3b70b9cbfdcd42033d
MD5 e98ddea8e727c66b9ddb412d4f405da6
BLAKE2b-256 600fa7030582a7a316492bd015b4f1969d8bedcd82d38794c67730e1df194d2e

See more details on using hashes here.

File details

Details for the file bytewax-0.17.2-cp39-cp39-manylinux_2_31_x86_64.whl.

File metadata

File hashes

Hashes for bytewax-0.17.2-cp39-cp39-manylinux_2_31_x86_64.whl
Algorithm Hash digest
SHA256 62c25953e4a0efa2ac590f241aa53b203b4228296ea566f7e0dd552ade2644d6
MD5 8beeba136fc42157220e7623c12b2943
BLAKE2b-256 068271466d9174282037257622256c67bd9591d8d218530e9fcb18bfef535c28

See more details on using hashes here.

File details

Details for the file bytewax-0.17.2-cp39-cp39-manylinux_2_27_x86_64.whl.

File metadata

File hashes

Hashes for bytewax-0.17.2-cp39-cp39-manylinux_2_27_x86_64.whl
Algorithm Hash digest
SHA256 3af2c82d7482f7edac73bc772b8be58f85a584b355178477507de99e294e242f
MD5 10f2120c5a43de08c175852882f8680c
BLAKE2b-256 56ce545469e71d001f2b1d9c629c91003f9b10132e4cbd68c13263cdb17e7222

See more details on using hashes here.

File details

Details for the file bytewax-0.17.2-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl.

File metadata

File hashes

Hashes for bytewax-0.17.2-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 a3723ed5dbb1c3c9aa0f14efc3f29f905e0df1a600798202bf53cf0f8efcc4be
MD5 cece8f8743634ddbda2a107b6aaba429
BLAKE2b-256 f042f70e95687074d33231e4b3714884777d6ff6675f924da8eb9e55f0e4ebdb

See more details on using hashes here.

File details

Details for the file bytewax-0.17.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for bytewax-0.17.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 2bd8843f0011934b7df757421c730caecc9f9c1c11d30d2303f065a359b59cc8
MD5 fe0dfea3db8003adc9f04c92369dbd0b
BLAKE2b-256 5114d79b2991f06c467dd5e6824ff0dcf4bef042ea9faf46e906c514afe22b48

See more details on using hashes here.

File details

Details for the file bytewax-0.17.2-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for bytewax-0.17.2-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 d30564f4afd35099d4f848c6a9760fb8586854ffc13c53affd59be78ed1a6755
MD5 1ba755fc2f3ce47d4a168df5278a474b
BLAKE2b-256 374dcdd9b7f24a8bceb60d74c8d192ff0d9fc021c611d7a86ed6bd5e707398bc

See more details on using hashes here.

File details

Details for the file bytewax-0.17.2-cp39-cp39-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for bytewax-0.17.2-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 f575441383fe8535131a2bf65b3558040a0ca2d24f0259de14b3ec830a037635
MD5 f2e1c677fa06213799be923df2b2cd32
BLAKE2b-256 84424f054dce16a678e7ae832b7766b0bb495db2e4f1f62e1881b73bed651cd3

See more details on using hashes here.

File details

Details for the file bytewax-0.17.2-cp38-none-win_amd64.whl.

File metadata

  • Download URL: bytewax-0.17.2-cp38-none-win_amd64.whl
  • Upload date:
  • Size: 4.5 MB
  • Tags: CPython 3.8, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.18

File hashes

Hashes for bytewax-0.17.2-cp38-none-win_amd64.whl
Algorithm Hash digest
SHA256 f084154307eb7a0fe9b74d20223c218bef970d27f7fe6a5d2fda8c14e4647f17
MD5 484c8583d32898ff4716932b76c42fc5
BLAKE2b-256 089dcc5bd7d2ed63d4988a07933a1453fe7fc69eb438099bf641c7bd9b1a70d8

See more details on using hashes here.

File details

Details for the file bytewax-0.17.2-cp38-cp38-manylinux_2_31_x86_64.whl.

File metadata

File hashes

Hashes for bytewax-0.17.2-cp38-cp38-manylinux_2_31_x86_64.whl
Algorithm Hash digest
SHA256 17b86f84ff9eb4264224dd328f62088972cbb1ad91ed6f32f04064710f8b1c4f
MD5 97d47c30766f234f3e5ee277f99e168b
BLAKE2b-256 37f9a561b83e8e2e6eda8f8a168dfcc755e6bcea1df3dcac3bf95cde337a4282

See more details on using hashes here.

File details

Details for the file bytewax-0.17.2-cp38-cp38-manylinux_2_27_x86_64.whl.

File metadata

File hashes

Hashes for bytewax-0.17.2-cp38-cp38-manylinux_2_27_x86_64.whl
Algorithm Hash digest
SHA256 3b0ba69017adfa807511c8786e7c6617e6829c1edba3ec5e24961f7414648ed5
MD5 e73b3522cfcfe95634f9486cf372657b
BLAKE2b-256 dd0350d702c58408cf842b494cb27c28e8b5736b962beb1d8704b78a1124c876

See more details on using hashes here.

File details

Details for the file bytewax-0.17.2-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl.

File metadata

File hashes

Hashes for bytewax-0.17.2-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 9040dbf83f00d77bfa3981652f3890d4c5515023784604791af2fd6bba2a1897
MD5 48e48bdcdb1140c8d75b3e116bf55d0e
BLAKE2b-256 1c36dc75c5f2f5bd1ddddacdff05c170fa938fac93dac60b3f939935617cda0c

See more details on using hashes here.

File details

Details for the file bytewax-0.17.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for bytewax-0.17.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 492f0edddcf0bb61d2431ef47d28f09db7cf1a21a9e2eedaf1aea3c73d8b337d
MD5 2802ba4c349f6ba7bb506bf7a0e3e079
BLAKE2b-256 3c8ec2f5611c75384663bec2f739771c9adf7cfbde514bc67785b7604c7f1107

See more details on using hashes here.

File details

Details for the file bytewax-0.17.2-cp38-cp38-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for bytewax-0.17.2-cp38-cp38-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 5e0de1126862b149534a91ccfaab60c5ded702e623282cd8cffb5b9024281382
MD5 dd7be30ed90565c760281cc98887e173
BLAKE2b-256 679e7cf3e71fefa659a5fadb7c9b6291a0d590316c1e7524c2b3bb27380776e4

See more details on using hashes here.

File details

Details for the file bytewax-0.17.2-cp38-cp38-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for bytewax-0.17.2-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 42471c3449e281e56e3749ba5c316fc5af7b44e08a0f0c069116dbf6a070b788
MD5 e33dc6be69f65ecc3c5190624ae9065b
BLAKE2b-256 fa363e9c80397daaba1619e494b56d41f030c075ad90514f5cb42c386db52864

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page