You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
We know that some users are waiting for new broker support (like SQS/MQTT/etc.), but please be patient a bit longer.
Due to the inner project structure becoming much harder to change with each new broker, we are now focusing on stabilizing the inner and outer API. Then we will be able to promote new broker support in an easier way (like we used to do before).
Road to 1.0.0
Polish Current Features
First of all, we should polish already existing brokers and core features:
The next step is making Context non-global: we should pass it throughout the whole application from FastStream object -> Broker -> Subscriber -> Call. This step is also related to FastDepends 3.0 migration, and we can refactor dependency_overrides as well, and finally make Pydantic replaceable in serialization cases.
Additionally, we are planning to start our Experts activity and provide users with a roadmap to study FastStream, a form to approve your expertise, and a public page with all approved experts to encourage people to help each other (and boost their resumes with the FastStream expert mark).
Launch Experts initiative
AsyncAPI
Last but not least, we should migrate to the new major AsyncAPI version
Hi thank you for sharing the roadmap, I would like to point out that community can already use MQTT protocol since RabbitMQ broker supports MQTT protocol via plugin. This means that FastStream can be used for with MQTT protocol. Maybe tutorial or announcement could inform community about this option.
@r0kk thank you for your kind words! But I am not sure, that plugin is full-MQTT compatible. Is it suitable for all MQTT cases? Did you test FastStream with it?
Anyway, we plan to implement MQTT support right after 0.6.0 release (it should be in a few months), it's not too long to wait
Roadmap
We know that some users are waiting for new broker support (like SQS/MQTT/etc.), but please be patient a bit longer.
Due to the inner project structure becoming much harder to change with each new broker, we are now focusing on stabilizing the inner and outer API. Then we will be able to promote new broker support in an easier way (like we used to do before).
Road to 1.0.0
Polish Current Features
First of all, we should polish already existing brokers and core features:
KafkaMessage.nack
withauto_commit=False
#1001)Inner Structure Refactoring
The next step is making
Context
non-global: we should pass it throughout the whole application from FastStream object -> Broker -> Subscriber -> Call. This step is also related to FastDepends 3.0 migration, and we can refactor dependency_overrides as well, and finally make Pydantic replaceable in serialization cases.ContextType
to use local context (0.6.0 #1779)FastStream
to the final consumers (0.6.0 #1779)New in Testing
We plan to refactor the In-Memory
TestClient
to make it side-effect-less (currently, it has some problems with reusing).New Brokers Support
Finally, we can take a break from refactoring and add new broker support:
1.0.0 Finalization
At the end of the year (hopefully), we plan to release the first major version - 1.0.0
broker.subsciber("test").get_one()
- get concrete messages support (Add broker.subscriber.get_one() #1726)async for msg in broker.subscriber("test")
- messages iterator support (Feature: subscriber iteration support #1881)Community
Additionally, we are planning to start our Experts activity and provide users with a roadmap to study FastStream, a form to approve your expertise, and a public page with all approved experts to encourage people to help each other (and boost their resumes with the FastStream expert mark).
AsyncAPI
Last but not least, we should migrate to the new major AsyncAPI version
1.0.0 +
We are not looking too far ahead, but we have few thoughts:
Eventhough brokers are good, brokerless is much better, so ZMQ support looks promising to us
And the last thing - we want to provide you with some persistence layer (like Faust table or smth) to allow windowing incoming messages stream.
P.S. This plan is still pretty raw, and we can swap any of these points, but this is the general direction.
The text was updated successfully, but these errors were encountered: