**Faust** is a Python library for event processing and streaming applications
that are decentralized and fault-tolerant.

It's inspired by tools such as `Kafka Streams`_, `Apache Spark`_,
`Apache Storm`_, `Apache Samza`_ and `Apache Flink`_; but takes
a radically more straightforward approach to stream processing.

Modern web applications are increasingly built as a collection
of micro services and even before this, it has been difficult to write
data reporting operations at scale.  In a reactive stream based system,
you don't have to strain your database with costly queries. In Faust,
a streaming data pipeline updates information as events happen
in your system, in real-time.

Faust also enables you to take advantage of :mod:`asyncio` and asynchronous
processing, moving complicated and costly operations outside
of the web server process: converting video, notifying third-party services,
etc. are common use cases for event processing.

You may not know it yet, but if you're writing a modern web application,
you probably already need Faust.

.. _`Kafka Streams`: https://kafka.apache.org/documentation/streams
.. _`Apache Spark`: http://spark.apache.org
.. _`Apache Storm`: http://storm.apache.org
.. _`Apache Flink`: http://flink.apache.org
.. _`Apache Samza`: http://samza.apache.org

