Swim with the stream…ing services
producers & consumers for Kafka topics in a simplified way
quickly & develop high-performance Kafka-based services
your workflow & accelerate your progress
Check out our code-generation feature!
Let us know what you need solved and we’ll generate the FastKafka code for you!
You get what you expect
Function decorators with type hints specifying Pydantic classes for JSON encoding/decoding, automatic message routing and documentation generation.
The community has spoken!
Well well well, if it isn't the library I was already making but better. Very nice. What is your long-term vision for supporting this as a company? And are you using this now to support real customers or are you expecting this might help you establish a niche?
this is cool. let me know if you want to share it w/ the @redpandadata community.
Nice 👍🏻 I’ve promoted this project in the team! Also, would like to contribute if there’s some kind of roadmap
I really like the idea of this, as the biggest gripe I have with most pub/sub solutions is all of the tedious boiler plate code needed to correctly subscribe and publish and manage message leases etc. While you often just want to grab a message, do some processing and put it on a different queue.
This is great! I've been thinking about making a similar tool for quite some time, nice job sir! I guess it's to fit your use case, by why stop at Kafka? A paradigm like this would be awesome in the form of a microframework. Like a general message consumer framework with pluggable interfaces for Kafka, Rabbitmq, ActiveMQ or even the Redis message broker.
Really hope this project becomes as popular as the OG FastAPI!
For anything not covered here, join our Discord
FastKafka is under Apache 2.0 license and free to use.
Slowly, but surely. We built the initial version for Kafka service and for our needs, but we reached out to the wider community to find out what to do next. We added support for Redpanda, and also got requests for RabbitMQ and Pulsar that went to our backlog and we’ll support them in our future releases.
Very much the same, but with a small difference due to dependencies of AsyncAPI. You write your code using decorators and you get AsyncAPI specification generated automatically as YAML file. You can convert that file to static HTML file ether by Python API call, CLI or github action. AsyncAPI requires Node.js, and you don’t necessarily want this in production.
For the first implementation we just released uses with JSON encoded messages, but we can easily add additional formats/protocols. We’ve created an issue on GitHub and will try to prioritize it for one of the next releases.