A concise, pure Python alternative to PyFlink
Let’s face it, PyFlink is just a thin wrapper around Flink’s Java API. If your code fails, you’re debugging Java not Python.
It’s time for a pure Python alternative that doesn’t make you jump through hoops.
Why replace PyFlink with Quix?
Code and debug in pure Python
Getting PyFlink apps in production takes 6-12 months. Your problems start on day 1 when $ pip install apache-flink returns "No matching distribution found for numpy==1.21.4"
Then you’ll need to learn PyFlink Table API for simple operations DataStream API for more complex use cases. You’ll also find yourself setting up remote debugging, installing pydevd-pycharm, and modifying Flink JVM arguments.
Skip that all and use your Python skills to their fullest. Bring in your favorite Python libraries and IDE. Enjoy the ease of developing, testing and debugging your stateful stream processing application in pure Python.
Simply $ pip install quixstreams to get started and see for yourself.
Simple stateful operators
Flink is so popular because its been the only reliable solution for stateful stream processing—but many applications don’t need Flink’s full power (and complexity). It’s like trying to crack a nut with a jackhammer. Now there’s a simpler alternative.
Quix provides a lightweight Python library with built-in state management that is designed to run in Docker containers. With Quix you can build and run stateful operators whilst our library takes care of at-least-once processing guarantees, managing state stores, error handling and graceful application shutdown.
Windowed calculations lie at the heart of stream processing. Our library includes declarative operators for Sliding, Tumbling, Hopping and Session Windows.
These are bleeding edge features that are still in beta, but you can try them out right now.
Lightweight Python library
Most real-world applications aren’t working with "big data". So why use a gigantic framework to tackle small problems?
Quix applications have a small footprint and run in Docker. If you need more processing power you can scale the container horizontally with replicas, all without changing a line of code.
Because our library is based on Docker, it's easy to add system dependencies or libraries to support your application, that’s not the case with Flink!
It’s also super easy to build and deploy your container with Quix. Just a few clicks and we take your code through build and deployment pipelines to run it in a fully managed serverless Kubernetes engine with all the logs and monitoring you need.
What is Quix?
Related content
Apache Kafka vs Apache Flink: friends or rivals?
Quix as an Apache Flink alternative: a side-by-side comparison
Flink vs Spark: Benchmarking stream processing client libraries
Ready to get started?
Learn more about how companies are building data integration pipelines with Quix.