FastStream allows for declarative way of defining consumers and producer based on Pydantic classes representing message types. Currently, it supports Apache Kafka, RabiitMQ and NATS, while other protocols are planned in the near future. It automatically generates documentation from the code, generates Docker image with the service and has support for in-memory execution of unit and integration tests without the actual broker.
Please check it out at: https://faststream.airt.ai/