Open-source framework for building asynchronous web
services that interact with Kafka
Open-source framework for building asynchronous web services that interact with Kafka
Swim with the stream…ing services
WRITE
producers & consumers for Kafka topics in a simplified way
PROTOTYPE
quickly & develop high-performance Kafka-based services
STREAMLINE
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!
deadwisdom
u/deadwisdom
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?
Alexander Gallego
Alexander Gallego
this is cool. let me know if you want to share it w/ the @redpandadata community.
benbenbang
u/benbenbang
Nice 👍🏻 I’ve promoted this project in the team! Also, would like to contribute if there’s some kind of roadmap
code_mc
u/code_mc
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.
Berouald
u/Berouald
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.
baggiponte
u/baggiponte
Really hope this project becomes as popular as the OG FastAPI!
FAQs
For anything not covered here, join our Discord
FastKafka is under Apache 2.0 license and free to use.
We love and welcome community contributions! Here is a doc to get you started. To request features, add a “Feature request” using the New issue button in GitHub from this link, or join our feature-request Discord channel.
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.