Propan
faststream
Our great sponsors
Propan | faststream | |
---|---|---|
16 | 13 | |
466 | 1,779 | |
- | 11.0% | |
8.8 | 9.7 | |
about 1 month ago | 6 days ago | |
Python | Python | |
MIT License | Apache License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
Propan
-
FastStream: Python's framework for Efficient Message Queue Handling
Later, we discovered Propan, a library created by Nikita Pastukhov, which solved similar problems but for RabbitMQ. Recognizing the potential for collaboration, we joined forces with Nikita to build a unified library that could work seamlessly with both Kafka and RabbitMQ. And that's how FastStream came to be—a solution born out of the need for simplicity and efficiency in microservices development.
-
How we deprecated two successful projects and joined forces to create an even more successful one
The next step was to figure out what to do next. We posted questions on a few relevant subreddits and got quite a few feature requests, mostly around supporting other protocols, encoding schemas etc. But, we also got a message from a developer of a similar framework Propan that was released at about the same time and was gaining quite a traction in the RabbitMQ community. That developer was Nikita Pastukhov and he made an intriguing proposal: let's join our efforts and create one framework with the best features of both. Both projects were growing at roughly the same speed but targeted different communities. So the potential for double growth was there. After a quick consideration, we realized there was not much to lose and there was a lot to gain. Of course, we would lose absolute control over the project but losing control to the community is the only way for an open-source project to succeed. On the positive side, we would gain a very skilled maintainer who single-handedly created a similar framework all by himself. The frameworks were conceptually very similar so we concluded there would not be much friction of ideas and we should be able to reach consensus on the most important design issues.
-
Introducing FastStream: the easiest way to write microservices for Apache Kafka and RabbitMQ in Python
FastStream simplifies the process of writing producers and consumers for message queues, handling all the parsing, networking and documentation generation automatically. It is a new package based on the ideas and experiences gained from FastKafka and Propan. By joining our forces, we picked up the best from both packages and created a unified way to write services capable of processing streamed data regardless of the underlying protocol. We'll continue to maintain both packages, but new development will be in this project.
-
FastStream: the easiest way to add Kafka and RabbitMQ support to FastAPI services
FastStream (https://github.com/airtai/faststream) is a new Python framework, born from Propan and FastKafka teams' collaboration (both are deprecated now). It extremely simplifies event-driven system development, handling all the parsing, networking, and documentation generation automatically. Now FastStream supports RabbitMQ and Kafka, but supported brokers are constantly growing (wait for NATS and Redis a bit). FastStream itself is a really great tool to build event-driven services. Also, it has a native FastAPI integration. Just create a StreamRouter (very close to APIRouter) and register event handlers the same with the regular HTTP-endpoints way:
-
Propan – Python Framework for building messaging services has a big update
Hello everyone!
Two months ago I told you about Propan - the Python framework to build messaging services based on Any Message Broker. So, there were a lot of changes for this time and I want you to tell me again about them.
At first, we added Kafka, Redis Pub/Sub, SQS, and NatsJS support (to RabbitMQ and regular NATS). At now you can interact with these brokers via the same Propan interfaces.
Also, we added an AsyncAPI schema autogeneration, so you already have documentation for your services if you are using Propan.
And the last (but not least) - PydanticV2 support! You can use V1 and V2 both, but V2 is much faster - it is a preferred way to write new services.
By the way: we have a new Propan major version draft, so if you want to participate in the discussion and suggest a new feature, it is time to join our discord and tell about it!
Propan: https://github.com/Lancetnik/Propan
- Looking for Python contributors to a new Messaging Framework
-
Help wanted: support for PR
Also it is important for my own Propan package implementing some custom routers.
- FLaNK Stack Weekly 29 may 2023
-
Propan is a best way to interact SQS from Python
As you may know, I am developing Propan framework to interact with various message brokers single way. When I published a post about the existence of the framework, users immediately asked "When to expect SQS support?". Now!
-
Propan 0.1.2 - new way to interact with Kafka from Python
A couple of days ago I wrote about the release of my framework for working with various message brokers - Propan!
faststream
- FastStream v0.4.0: Introducing Confluent Kafka Integration with Async Support
-
Show HN: Confluent Kafka support added to FastStream v0.4.0rc0
FastStream - https://github.com/airtai/faststream, a stream processing framework, already supports Kafka stream processing using the aiokafka library, as well as other brokers such as Redis, RabbitMQ, and NATS.
-
Processing streaming messages from a Django service
FastStream is a powerful and easy-to-use FOSS framework for building asynchronous services interacting with event streams such as Apache Kafka, RabbitMQ and NATS. It simplifies the process of writing producers and consumers for message queues, handling all the parsing, networking and documentation generation automatically.
-
FastStream: Python's framework for Efficient Message Queue Handling
Ready to join the FastStream revolution? Head over to our GitHub repository and show your support by starring it. By doing so, you'll stay in the loop with the latest developments, updates, and enhancements as we continue to refine and expand FastStream.
-
How we deprecated two successful projects and joined forces to create an even more successful one
After two months of hard work, we presented the newly released FastStream framework at Infobip Shift conference and got featured at ShiftMag. The framework now supports both Apache Kafka and RabbitMQ, but also NATS protocol with the plan to add more protocols in the near future. The overall code is much cleaner and the implementation is streamlined with abstractions covering the common functionality across the protocols. We deprecated both FastKafka and Propan, but promised to fix bugs as long as needed. However, it seems like the community already decided to switch over to gain new functionalities.
- FastStream 0.2.0 adds NATS support in addition to Apache Kafka and RabbitMQ. It is the easiest way to add broker-agnostic support for streaming protocols to your microservices.
-
Generating production-level streaming microservices using GPT
faststream-gen(https://github.com/airtai/faststream-gen/) uses GPT models to automatically generate microservices using the FastStream(https://github.com/airtai/faststream) framework for Apache Kafka, RabbitMQ and NATS. Simply describe your microservice in plain English, and it will generate a production-level FastStream application ready to deploy in a few minutes and under $1 cost, together with unit and integration tests, documentation and Docker images.
-
Generating production-level streaming microservices using AI
faststream-gen is a Python library that uses generative AI to automatically generate FastStream applications. Simply describe your microservice in plain English, and faststream-gen will generate a production-level FastStream application ready to deploy in a few minutes and under $1 cost.
-
Introducing FastStream: the easiest way to write microservices for Apache Kafka and RabbitMQ in Python
FastStream simplifies the process of writing producers and consumers for message queues, handling all the parsing, networking and documentation generation automatically. It is a new package based on the ideas and experiences gained from FastKafka and Propan. By joining our forces, we picked up the best from both packages and created a unified way to write services capable of processing streamed data regardless of the underlying protocol. We'll continue to maintain both packages, but new development will be in this project.
-
FastStream: the easiest way to add Kafka and RabbitMQ support to FastAPI services
FastStream (https://github.com/airtai/faststream) is a new Python framework, born from Propan and FastKafka teams' collaboration (both are deprecated now). It extremely simplifies event-driven system development, handling all the parsing, networking, and documentation generation automatically. Now FastStream supports RabbitMQ and Kafka, but supported brokers are constantly growing (wait for NATS and Redis a bit). FastStream itself is a really great tool to build event-driven services. Also, it has a native FastAPI integration. Just create a StreamRouter (very close to APIRouter) and register event handlers the same with the regular HTTP-endpoints way:
What are some alternatives?
DB-GPT - AI Native Data App Development framework with AWEL(Agentic Workflow Expression Language) and Agents
Faust - Python Stream Processing
kafka-native - Kafka broker compiled to native using Quarkus and GraalVM.
aiorabbit - An AsyncIO RabbitMQ client for Python 3
fastgron - High-performance JSON to GRON (greppable, flattened JSON) converter
aiokafka - asyncio client for kafka
bunny-storm - RabbitMQ asynchronous connector library for Python with built in RPC support
cookiecutter-faststream - Cookiecutter template for FastStream apps
FastDepends - FastDepends - FastAPI Dependency Injection system extracted from FastAPI and cleared of all HTTP logic. Async and sync modes are both supported.
faststream-gen - The faststream-gen library uses advanced AI to generate FastStream code from user descriptions, speeding up FastStream app development.
jikkou - The Open source Resource as Code framework for Apache Kafka
pydantic - Data validation using Python type hints