Skip to main content

faust

Python Stream Processing Fork

python versions version codecov slack Code style: black pre-commit license downloads

Installation

pip install faust-streaming

Documentation

Why the fork

We have decided to fork the original Faust project because there is a critical process of releasing new versions which causes uncertainty in the community. Everybody is welcome to contribute to this fork, and you can be added as a maintainer.

We want to:

  • Ensure continues release
  • Code quality
  • Use of latest versions of kafka drivers (for now only aiokafka)
  • Support kafka transactions
  • Update the documentation

and more...

Usage

# Python Streams
# Forever scalable event processing & in-memory durable K/V store;
# as a library w/ asyncio & static typing.
import faust

Faust is a stream processing library, porting the ideas from Kafka Streams to Python.

It is used at Robinhood to build high performance distributed systems and real-time data pipelines that process billions of events every day.

Faust provides both stream processing and event processing, sharing similarity with tools such as Kafka Streams, Apache Spark, Storm, Samza, Flink,

It does not use a DSL, it's just Python! This means you can use all your favorite Python libraries when stream processing: NumPy, PyTorch, Pandas, NLTK, Django, Flask, SQLAlchemy, ++

Faust requires Python 3.6 or later for the new async/await_ syntax, and variable type annotations.

Here's an example processing a stream of incoming orders:

app = faust.App('myapp', broker='kafka://localhost')

# Models describe how messages are serialized:
# {"account_id": "3fae-...", amount": 3}
class Order(faust.Record):
    account_id: str
    amount: int

@app.agent(value_type=Order)
async def order(orders):
    async for order in orders:
        # process infinite stream of orders.
        print(f'Order for {order.account_id}: {order.amount}')

The Agent decorator defines a "stream processor" that essentially consumes from a Kafka topic and does something for every event it receives.

The agent is an async def function, so can also perform other operations asynchronously, such as web requests.

This system can persist state, acting like a database. Tables are named distributed key/value stores you can use as regular Python dictionaries.

Tables are stored locally on each machine using a super fast embedded database written in C++, called RocksDB.

Tables can also store aggregate counts that are optionally "windowed" so you can keep track of "number of clicks from the last day," or "number of clicks in the last hour." for example. Like Kafka Streams, we support tumbling, hopping and sliding windows of time, and old windows can be expired to stop data from filling up.

For reliability, we use a Kafka topic as "write-ahead-log". Whenever a key is changed we publish to the changelog. Standby nodes consume from this changelog to keep an exact replica of the data and enables instant recovery should any of the nodes fail.

To the user a table is just a dictionary, but data is persisted between restarts and replicated across nodes so on failover other nodes can take over automatically.

You can count page views by URL:

# data sent to 'clicks' topic sharded by URL key.
# e.g. key="http://example.com" value="1"
click_topic = app.topic('clicks', key_type=str, value_type=int)

# default value for missing URL will be 0 with `default=int`
counts = app.Table('click_counts', default=int)

@app.agent(click_topic)
async def count_click(clicks):
    async for url, count in clicks.items():
        counts[url] += count

The data sent to the Kafka topic is partitioned, which means the clicks will be sharded by URL in such a way that every count for the same URL will be delivered to the same Faust worker instance.

Faust supports any type of stream data: bytes, Unicode and serialized structures, but also comes with "Models" that use modern Python syntax to describe how keys and values in streams are serialized:

# Order is a json serialized dictionary,
# having these fields:

class Order(faust.Record):
    account_id: str
    product_id: str
    price: float
    quantity: float = 1.0

orders_topic = app.topic('orders', key_type=str, value_type=Order)

@app.agent(orders_topic)
async def process_order(orders):
    async for order in orders:
        # process each order using regular Python
        total_price = order.price * order.quantity
        await send_order_received_email(order.account_id, order)

Faust is statically typed, using the mypy type checker, so you can take advantage of static types when writing applications.

The Faust source code is small, well organized, and serves as a good resource for learning the implementation of Kafka Streams.

Learn more about Faust in the introduction introduction page to read more about Faust, system requirements, installation instructions, community resources, and more.

or go directly to the quickstart tutorial to see Faust in action by programming a streaming application.

then explore the User Guide for in-depth information organized by topic.

Local development

  1. Clone the project
  2. Create a virtualenv: python3.7 -m venv venv && source venv/bin/activate
  3. Install the requirements: ./scripts/install
  4. Run lint: ./scripts/lint
  5. Run tests: ./scripts/tests

Faust key points

Simple

Faust is extremely easy to use. To get started using other stream processing solutions you have complicated hello-world projects, and infrastructure requirements. Faust only requires Kafka, the rest is just Python, so If you know Python you can already use Faust to do stream processing, and it can integrate with just about anything.

Here's one of the easier applications you can make::

import faust

class Greeting(faust.Record):
    from_name: str
    to_name: str

app = faust.App('hello-app', broker='kafka://localhost')
topic = app.topic('hello-topic', value_type=Greeting)

@app.agent(topic)
async def hello(greetings):
    async for greeting in greetings:
        print(f'Hello from {greeting.from_name} to {greeting.to_name}')

@app.timer(interval=1.0)
async def example_sender(app):
    await hello.send(
        value=Greeting(from_name='Faust', to_name='you'),
    )

if __name__ == '__main__':
    app.main()

You're probably a bit intimidated by the async and await keywords, but you don't have to know how asyncio works to use Faust: just mimic the examples, and you'll be fine.

The example application starts two tasks: one is processing a stream, the other is a background thread sending events to that stream. In a real-life application, your system will publish events to Kafka topics that your processors can consume from, and the background thread is only needed to feed data into our example.

Highly Available

Faust is highly available and can survive network problems and server crashes. In the case of node failure, it can automatically recover, and tables have standby nodes that will take over.

Distributed

Start more instances of your application as needed.

Fast

A single-core Faust worker instance can already process tens of thousands of events every second, and we are reasonably confident that throughput will increase once we can support a more optimized Kafka client.

Flexible

Faust is just Python, and a stream is an infinite asynchronous iterator. If you know how to use Python, you already know how to use Faust, and it works with your favorite Python libraries like Django, Flask, SQLAlchemy, NLTK, NumPy, SciPy, TensorFlow, etc.

Bundles

Faust also defines a group of setuptools extensions that can be used to install Faust and the dependencies for a given feature.

You can specify these in your requirements or on the pip command-line by using brackets. Separate multiple bundles using the comma:

pip install "faust-streaming[rocksdb]"

pip install "faust-streaming[rocksdb,uvloop,fast,redis,aerospike]"

The following bundles are available:

Faust with extras

Stores

RocksDB

For using RocksDB for storing Faust table state. Recommended in production.

pip install faust-streaming[rocksdb] (uses RocksDB 6)

pip install faust-streaming[rocksdict] (uses RocksDB 8, not backwards compatible with 6)

Aerospike

pip install faust-streaming[aerospike] for using Aerospike for storing Faust table state. Recommended if supported

Aerospike Configuration

Aerospike can be enabled as the state store by specifying store="aerospike://"

By default, all tables backed by Aerospike use use_partitioner=True and generate changelog topic events similar to a state store backed by RocksDB. The following configuration options should be passed in as keys to the options parameter in Table namespace : aerospike namespace

ttl: TTL for all KV's in the table

username: username to connect to the Aerospike cluster

password: password to connect to the Aerospike cluster

hosts : the hosts parameter as specified in the aerospike client

policies: the different policies for read/write/scans policies

client: a dict of host and policies defined above

Caching

faust-streaming[redis] for using Redis as a simple caching backend (Memcached-style).

Codecs

faust-streaming[yaml] for using YAML and the PyYAML library in streams.

Optimization

faust-streaming[fast] for installing all the available C speedup extensions to Faust core.

Sensors

faust-streaming[datadog] for using the Datadog Faust monitor.

faust-streaming[statsd] for using the Statsd Faust monitor.

faust-streaming[prometheus] for using the Prometheus Faust monitor.

Event Loops

faust-streaming[uvloop] for using Faust with uvloop.

faust-streaming[eventlet] for using Faust with eventlet

Debugging

faust-streaming[debug] for using aiomonitor to connect and debug a running Faust worker.

faust-streaming[setproctitle]when the setproctitle module is installed the Faust worker will use it to set a nicer process name in ps/top listings.vAlso installed with the fast and debug bundles.

Downloading and installing from source

Download the latest version of Faust from https://pypi.org/project/faust-streaming/

You can install it by doing:

$ tar xvfz faust-streaming-0.0.0.tar.gz
$ cd faust-streaming-0.0.0
$ python setup.py build
# python setup.py install

The last command must be executed as a privileged user if you are not currently using a virtualenv.

Using the development version

With pip

You can install the latest snapshot of Faust using the following pip command:

pip install https://github.com/faust-streaming/faust/zipball/master#egg=faust

FAQ

Can I use Faust with Django/Flask/etc

Yes! Use eventlet as a bridge to integrate with asyncio.

Using eventlet

This approach works with any blocking Python library that can work with eventlet

Using eventlet requires you to install the faust-aioeventlet module, and you can install this as a bundle along with Faust:

pip install -U faust-streaming[eventlet]

Then to actually use eventlet as the event loop you have to either use the -L <faust --loop> argument to the faust program:

faust -L eventlet -A myproj worker -l info

or add import mode.loop.eventlet at the top of your entry point script:

#!/usr/bin/env python3
import mode.loop.eventlet  # noqa

It's very important this is at the very top of the module, and that it executes before you import libraries.

Can I use Faust with Tornado

Yes! Use the tornado.platform.asyncio bridge

Can I use Faust with Twisted

Yes! Use the asyncio reactor implementation: https://twistedmatrix.com/documents/current/api/twisted.internet.asyncioreactor.html

Will you support Python 2.7 or Python 3.5

No. Faust requires Python 3.10 or later, since it heavily uses features that were introduced in Python 3.6 (async, await, variable type annotations).

I get a maximum number of open files exceeded error by RocksDB when running a Faust app locally. How can I fix this

You may need to increase the limit for the maximum number of open files. On macOS and Linux you can use:

ulimit -n max_open_files to increase the open files limit to max_open_files.

On docker, you can use the --ulimit flag:

docker run --ulimit nofile=50000:100000 <image-tag> where 50000 is the soft limit, and 100000 is the hard limit See the difference.

What kafka versions faust supports

Faust supports kafka with version >= 0.10.

Getting Help

Slack

For discussions about the usage, development, and future of Faust, please join the fauststream Slack.

Resources

Bug tracker

If you have any suggestions, bug reports, or annoyances please report them to our issue tracker at https://github.com/faust-streaming/faust/issues/

License

This software is licensed under the New BSD License. See the LICENSE file in the top distribution directory for the full license text.

Contributing

Development of Faust happens at GitHub

You're highly encouraged to participate in the development of Faust.

Code of Conduct

Everyone interacting in the project's code bases, issue trackers, chat rooms, and mailing lists is expected to follow the Faust Code of Conduct.

As contributors and maintainers of these projects, and in the interest of fostering an open and welcoming community, we pledge to respect all people who contribute through reporting issues, posting feature requests, updating documentation, submitting pull requests or patches, and other activities.

We are committed to making participation in these projects a harassment-free experience for everyone, regardless of level of experience, gender, gender identity and expression, sexual orientation, disability, personal appearance, body size, race, ethnicity, age, religion, or nationality.

Examples of unacceptable behavior by participants include:

  • The use of sexualized language or imagery
  • Personal attacks
  • Trolling or insulting/derogatory comments
  • Public or private harassment
  • Publishing other's private information, such as physical or electronic addresses, without explicit permission
  • Other unethical or unprofessional conduct.

Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct. By adopting this Code of Conduct, project maintainers commit themselves to fairly and consistently applying these principles to every aspect of managing this project. Project maintainers who do not follow or enforce the Code of Conduct may be permanently removed from the project team.

This code of conduct applies both within project spaces and in public spaces when an individual is representing the project or its community.

Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by opening an issue or contacting one or more of the project maintainers.

Download files

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

Source Distribution

faust_streaming-0.13.1.tar.gz (803.2 kB view details)

Uploaded Source

Built Distributions

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

faust_streaming-0.13.1-cp314-cp314-win_amd64.whl (834.2 kB view details)

Uploaded CPython 3.14Windows x86-64

faust_streaming-0.13.1-cp314-cp314-manylinux1_x86_64.manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_5_x86_64.whl (1.3 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ x86-64manylinux: glibc 2.5+ x86-64

faust_streaming-0.13.1-cp314-cp314-macosx_11_0_arm64.whl (518.1 kB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

faust_streaming-0.13.1-cp314-cp314-macosx_10_15_x86_64.whl (529.6 kB view details)

Uploaded CPython 3.14macOS 10.15+ x86-64

faust_streaming-0.13.1-cp313-cp313-win_amd64.whl (830.6 kB view details)

Uploaded CPython 3.13Windows x86-64

faust_streaming-0.13.1-cp313-cp313-manylinux1_x86_64.manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_5_x86_64.whl (1.3 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64manylinux: glibc 2.5+ x86-64

faust_streaming-0.13.1-cp313-cp313-macosx_11_0_arm64.whl (516.9 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

faust_streaming-0.13.1-cp313-cp313-macosx_10_13_x86_64.whl (529.2 kB view details)

Uploaded CPython 3.13macOS 10.13+ x86-64

faust_streaming-0.13.1-cp312-cp312-win_amd64.whl (832.0 kB view details)

Uploaded CPython 3.12Windows x86-64

faust_streaming-0.13.1-cp312-cp312-manylinux1_x86_64.manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_5_x86_64.whl (1.3 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64manylinux: glibc 2.5+ x86-64

faust_streaming-0.13.1-cp312-cp312-macosx_11_0_arm64.whl (519.4 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

faust_streaming-0.13.1-cp312-cp312-macosx_10_13_x86_64.whl (530.7 kB view details)

Uploaded CPython 3.12macOS 10.13+ x86-64

faust_streaming-0.13.1-cp311-cp311-win_amd64.whl (831.6 kB view details)

Uploaded CPython 3.11Windows x86-64

faust_streaming-0.13.1-cp311-cp311-manylinux1_x86_64.manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_5_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64manylinux: glibc 2.5+ x86-64

faust_streaming-0.13.1-cp311-cp311-macosx_11_0_arm64.whl (519.4 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

faust_streaming-0.13.1-cp311-cp311-macosx_10_9_x86_64.whl (528.6 kB view details)

Uploaded CPython 3.11macOS 10.9+ x86-64

faust_streaming-0.13.1-cp310-cp310-win_amd64.whl (831.6 kB view details)

Uploaded CPython 3.10Windows x86-64

faust_streaming-0.13.1-cp310-cp310-manylinux1_x86_64.manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_5_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64manylinux: glibc 2.5+ x86-64

faust_streaming-0.13.1-cp310-cp310-macosx_11_0_arm64.whl (519.7 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

faust_streaming-0.13.1-cp310-cp310-macosx_10_9_x86_64.whl (529.0 kB view details)

Uploaded CPython 3.10macOS 10.9+ x86-64

File details

Details for the file faust_streaming-0.13.1.tar.gz.

File metadata

  • Download URL: faust_streaming-0.13.1.tar.gz
  • Upload date:
  • Size: 803.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for faust_streaming-0.13.1.tar.gz
Algorithm Hash digest
SHA256 41ff6c2278b3291a275f5734ed5f54ec12ada2c8901b2961084c959e9631180b
MD5 5120ce4413389cc4fe73ed54c49bcea1
BLAKE2b-256 1d8ecdb5ebdd60943f9bb96c9c778c325ad44503cc44fa5493002eddbee5b12a

See more details on using hashes here.

Provenance

The following attestation bundles were made for faust_streaming-0.13.1.tar.gz:

Publisher: python-package.yml on faust-streaming/faust

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file faust_streaming-0.13.1-cp314-cp314-win_amd64.whl.

File metadata

File hashes

Hashes for faust_streaming-0.13.1-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 37f2b45f25932c6153ec35f75ce64400a432339da44b9e258ec4e5fb891634e5
MD5 c5aac5bd1d5bc18010c3a8a174eb71e3
BLAKE2b-256 3a0a4c1f4f6bda632575eff4f28f9d72bd708604545f13ae08533cf9abb9759d

See more details on using hashes here.

Provenance

The following attestation bundles were made for faust_streaming-0.13.1-cp314-cp314-win_amd64.whl:

Publisher: python-package.yml on faust-streaming/faust

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file faust_streaming-0.13.1-cp314-cp314-manylinux1_x86_64.manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_5_x86_64.whl.

File metadata

File hashes

Hashes for faust_streaming-0.13.1-cp314-cp314-manylinux1_x86_64.manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_5_x86_64.whl
Algorithm Hash digest
SHA256 ad44674ae4761a4b362ef63571bd6da123c0ed96c947c10fa33fad4987ae7a86
MD5 e3515d131ebbb4a6548186fdb07820c7
BLAKE2b-256 2c2aae84db554603edc901c869051496465ad4c2d7d0949ac16c4515989c0f08

See more details on using hashes here.

Provenance

The following attestation bundles were made for faust_streaming-0.13.1-cp314-cp314-manylinux1_x86_64.manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_5_x86_64.whl:

Publisher: python-package.yml on faust-streaming/faust

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file faust_streaming-0.13.1-cp314-cp314-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for faust_streaming-0.13.1-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 cc4bd081f81ddd59ba4645cf3c942c88a612b5ad00074ce5c50906b796f5bde2
MD5 4443a891e99c3e1f246a37051b75f240
BLAKE2b-256 c20c6f1bb68a491761e505869f40f0187f9ee219107791c5ba3eff0fafcf2bd5

See more details on using hashes here.

Provenance

The following attestation bundles were made for faust_streaming-0.13.1-cp314-cp314-macosx_11_0_arm64.whl:

Publisher: python-package.yml on faust-streaming/faust

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file faust_streaming-0.13.1-cp314-cp314-macosx_10_15_x86_64.whl.

File metadata

File hashes

Hashes for faust_streaming-0.13.1-cp314-cp314-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 5a616567d4c7bbe7ff6c6581fa1e8bc23ebecfef76587cd64bd6cbc8f9510c48
MD5 c5278195e58558e3c7a72bfd8345fe33
BLAKE2b-256 c32a872a2e3439302e807565007770fe7e16b54f8df10fd59b009c1da801618b

See more details on using hashes here.

Provenance

The following attestation bundles were made for faust_streaming-0.13.1-cp314-cp314-macosx_10_15_x86_64.whl:

Publisher: python-package.yml on faust-streaming/faust

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file faust_streaming-0.13.1-cp313-cp313-win_amd64.whl.

File metadata

File hashes

Hashes for faust_streaming-0.13.1-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 8522f1d8f6130dbb68723fb8cebcb3778e070ff80a88588b8ac6e37a99cf0f92
MD5 b9cdd8e07863b38234cbe087e0c0ea20
BLAKE2b-256 f7fbf5783c65ac436af80ecc4c46e5d7137271681a766a4cee77068116a5bf31

See more details on using hashes here.

Provenance

The following attestation bundles were made for faust_streaming-0.13.1-cp313-cp313-win_amd64.whl:

Publisher: python-package.yml on faust-streaming/faust

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file faust_streaming-0.13.1-cp313-cp313-manylinux1_x86_64.manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_5_x86_64.whl.

File metadata

File hashes

Hashes for faust_streaming-0.13.1-cp313-cp313-manylinux1_x86_64.manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_5_x86_64.whl
Algorithm Hash digest
SHA256 aa1011c261b4db96af657397cbe347383e632e57fb62599a54f81263140a596a
MD5 5dc71adcc88076d4a8379a34f8d24cb4
BLAKE2b-256 80134ce816505b2a53f618f62f9848c79c468a197faf6b9635034507cfbe01a5

See more details on using hashes here.

Provenance

The following attestation bundles were made for faust_streaming-0.13.1-cp313-cp313-manylinux1_x86_64.manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_5_x86_64.whl:

Publisher: python-package.yml on faust-streaming/faust

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file faust_streaming-0.13.1-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for faust_streaming-0.13.1-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 0884c5784e5927ca71bb415843d49808aac745d5da26f17be9cbec7229eac10d
MD5 658ee0c8bbe30d52afc64ea98fc316a8
BLAKE2b-256 857dcbf7b5be9ca43d38aa3f33226d7e4149cedea6ed7cbb85af0afb655cc411

See more details on using hashes here.

Provenance

The following attestation bundles were made for faust_streaming-0.13.1-cp313-cp313-macosx_11_0_arm64.whl:

Publisher: python-package.yml on faust-streaming/faust

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file faust_streaming-0.13.1-cp313-cp313-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for faust_streaming-0.13.1-cp313-cp313-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 4f4b9c3cf46b3911529b1c1ef92801be2641e0fc012a8172d0d18a0fad0a6c0d
MD5 c66ebf496be584fd0d02433be94db427
BLAKE2b-256 244c82ed3b6d12a24b58d3bb201938b420683f8df45e8d62db751cf12ddc0450

See more details on using hashes here.

Provenance

The following attestation bundles were made for faust_streaming-0.13.1-cp313-cp313-macosx_10_13_x86_64.whl:

Publisher: python-package.yml on faust-streaming/faust

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file faust_streaming-0.13.1-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for faust_streaming-0.13.1-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 0084e4d64de296212b9c50487b6a0457eb5dd8f6185222c0065bf47aff2b2945
MD5 ad6978dc3eabdbd0dbda2a7974615fba
BLAKE2b-256 1c018193112e985ef9d19d2956179292c7ac200b4f5c4a6178a262fe0a47af9c

See more details on using hashes here.

Provenance

The following attestation bundles were made for faust_streaming-0.13.1-cp312-cp312-win_amd64.whl:

Publisher: python-package.yml on faust-streaming/faust

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file faust_streaming-0.13.1-cp312-cp312-manylinux1_x86_64.manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_5_x86_64.whl.

File metadata

File hashes

Hashes for faust_streaming-0.13.1-cp312-cp312-manylinux1_x86_64.manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_5_x86_64.whl
Algorithm Hash digest
SHA256 75d8dfd315422c016f1ac66948dbbef341eea731df113eb54375c0e3ab7f9849
MD5 243ad83faf05e31192be74b0ce2f0161
BLAKE2b-256 2821ad2d46a95d7e6c3c166572c84352f551c61d9fd685f4b8dfbd155a310d2b

See more details on using hashes here.

Provenance

The following attestation bundles were made for faust_streaming-0.13.1-cp312-cp312-manylinux1_x86_64.manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_5_x86_64.whl:

Publisher: python-package.yml on faust-streaming/faust

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file faust_streaming-0.13.1-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for faust_streaming-0.13.1-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 30e5d0240700bbb050cafe8e5275536271b232455633be71949512a115ac191f
MD5 8246d977c67dc55f8855c7dfe435b0a9
BLAKE2b-256 21073087e2e2275ecc6775066ac5d9c8ae2575b058da78927a6e2a8df6dd55ab

See more details on using hashes here.

Provenance

The following attestation bundles were made for faust_streaming-0.13.1-cp312-cp312-macosx_11_0_arm64.whl:

Publisher: python-package.yml on faust-streaming/faust

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file faust_streaming-0.13.1-cp312-cp312-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for faust_streaming-0.13.1-cp312-cp312-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 09e743d574df12aefccf48eda4802e8e96ed4be01e29b18c37acdaf50601fefe
MD5 d36b6ba89debf0636964bf83ea7d3efb
BLAKE2b-256 ce7977fce404008563ff84f333a803bd5d83d649d88a59723147dad08c3d9589

See more details on using hashes here.

Provenance

The following attestation bundles were made for faust_streaming-0.13.1-cp312-cp312-macosx_10_13_x86_64.whl:

Publisher: python-package.yml on faust-streaming/faust

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file faust_streaming-0.13.1-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for faust_streaming-0.13.1-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 011a0e3ff0f4d69ce654467e1e78b5de0d09c72456e8f518b2d4369261f062bb
MD5 3e4b4d084fd79e5066fb53f5d3d6c680
BLAKE2b-256 d4a272eb3e4534ab0f4873bdfa455dd5c46fd2e055061e837f036ffac60f387f

See more details on using hashes here.

Provenance

The following attestation bundles were made for faust_streaming-0.13.1-cp311-cp311-win_amd64.whl:

Publisher: python-package.yml on faust-streaming/faust

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file faust_streaming-0.13.1-cp311-cp311-manylinux1_x86_64.manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_5_x86_64.whl.

File metadata

File hashes

Hashes for faust_streaming-0.13.1-cp311-cp311-manylinux1_x86_64.manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_5_x86_64.whl
Algorithm Hash digest
SHA256 48ad9b8df90182976cf4b9adc0dcfeb62bc51ec0664724e831634be14efc3fa9
MD5 30c42b8754ab7078cf11862cdfa3757f
BLAKE2b-256 653ca47eee1a8a7b9cea896b2ce6eb86b4623a6f65b5449e15797faecea77abd

See more details on using hashes here.

Provenance

The following attestation bundles were made for faust_streaming-0.13.1-cp311-cp311-manylinux1_x86_64.manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_5_x86_64.whl:

Publisher: python-package.yml on faust-streaming/faust

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file faust_streaming-0.13.1-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for faust_streaming-0.13.1-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 d92e21df58043ae8d611dc820e1d663175ed8fb2ae5c33481ce7bf521a5b1f6a
MD5 a7cbd3bddd470524eadb1e0cc8e0524b
BLAKE2b-256 156248f84bb58687195cde80a6f80879736ed496103567533a5e8b045efa94d3

See more details on using hashes here.

Provenance

The following attestation bundles were made for faust_streaming-0.13.1-cp311-cp311-macosx_11_0_arm64.whl:

Publisher: python-package.yml on faust-streaming/faust

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file faust_streaming-0.13.1-cp311-cp311-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for faust_streaming-0.13.1-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 8bd790e482ad9f773e59ec1d5a0691d0d510ca132495529bb8de2bd796eaebfb
MD5 2da907931accc3e59c75116236ea16e5
BLAKE2b-256 3f6b58d5b49a8a3a5da98549f230f063d13dc06dadb47feae3b5dddf68214035

See more details on using hashes here.

Provenance

The following attestation bundles were made for faust_streaming-0.13.1-cp311-cp311-macosx_10_9_x86_64.whl:

Publisher: python-package.yml on faust-streaming/faust

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file faust_streaming-0.13.1-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for faust_streaming-0.13.1-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 7428cfc8f243d0071f8a75d14a55a500dfd92e455375cb20999a44d395829ad6
MD5 49170a338b2e2ac48a3d7d5f5da43d29
BLAKE2b-256 86432f2264365674f6451b949d4ee5998ee5ed3185fc1d1bc9b9ad35e0d5f0be

See more details on using hashes here.

Provenance

The following attestation bundles were made for faust_streaming-0.13.1-cp310-cp310-win_amd64.whl:

Publisher: python-package.yml on faust-streaming/faust

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file faust_streaming-0.13.1-cp310-cp310-manylinux1_x86_64.manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_5_x86_64.whl.

File metadata

File hashes

Hashes for faust_streaming-0.13.1-cp310-cp310-manylinux1_x86_64.manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_5_x86_64.whl
Algorithm Hash digest
SHA256 2365b276b36e9527a3f5134fd57884d0f7087c9630b1ed6448930de4121d729e
MD5 bcb813788f6150567c07fd9ca9288986
BLAKE2b-256 36d725be7cec288dc0da015ba2caa5fa420faf5021733973fb8a28ae075f3ab0

See more details on using hashes here.

Provenance

The following attestation bundles were made for faust_streaming-0.13.1-cp310-cp310-manylinux1_x86_64.manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_5_x86_64.whl:

Publisher: python-package.yml on faust-streaming/faust

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file faust_streaming-0.13.1-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for faust_streaming-0.13.1-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 295cdd5deaee9da72973e62b2b4adf03426d19ff85079b79bd45f977ffa8cd5a
MD5 636ae67b443adffb93a87bbb7f4261dc
BLAKE2b-256 484d818ecba2cd69a2dcf01388a51f2cac54698ea75d6d9a920921e226012512

See more details on using hashes here.

Provenance

The following attestation bundles were made for faust_streaming-0.13.1-cp310-cp310-macosx_11_0_arm64.whl:

Publisher: python-package.yml on faust-streaming/faust

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file faust_streaming-0.13.1-cp310-cp310-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for faust_streaming-0.13.1-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 efb70181c997dc2754bb71e6186fafa0810de1cacc1c716fc713f6a5a535e660
MD5 c8deb82ad676f05e1fe6ac97beb32109
BLAKE2b-256 c682e206fa1bed0429bceb427d00203cf55c3268c8454dbadcc749bf7a7bc078

See more details on using hashes here.

Provenance

The following attestation bundles were made for faust_streaming-0.13.1-cp310-cp310-macosx_10_9_x86_64.whl:

Publisher: python-package.yml on faust-streaming/faust

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

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