faststream 0.2.3__tar.gz → 0.2.4__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- faststream-0.2.4/.github/workflows/deploy-docs.yaml +36 -0
- {faststream-0.2.3 → faststream-0.2.4}/.github/workflows/test.yaml +97 -41
- {faststream-0.2.3 → faststream-0.2.4}/.gitignore +1 -0
- {faststream-0.2.3 → faststream-0.2.4}/PKG-INFO +3 -3
- {faststream-0.2.3 → faststream-0.2.4}/faststream/__about__.py +2 -1
- {faststream-0.2.3 → faststream-0.2.4}/faststream/__init__.py +3 -1
- {faststream-0.2.3 → faststream-0.2.4}/faststream/_compat.py +29 -22
- {faststream-0.2.3 → faststream-0.2.4}/faststream/broker/fastapi/route.py +3 -2
- {faststream-0.2.3 → faststream-0.2.4}/faststream/broker/message.py +2 -1
- {faststream-0.2.3 → faststream-0.2.4}/faststream/broker/test.py +30 -6
- {faststream-0.2.3 → faststream-0.2.4}/faststream/cli/main.py +1 -1
- {faststream-0.2.3 → faststream-0.2.4}/faststream/kafka/__init__.py +1 -1
- {faststream-0.2.3 → faststream-0.2.4}/faststream/kafka/fastapi.pyi +1 -0
- {faststream-0.2.3 → faststream-0.2.4}/faststream/kafka/publisher.py +1 -1
- {faststream-0.2.3 → faststream-0.2.4}/faststream/nats/__init__.py +1 -1
- {faststream-0.2.3 → faststream-0.2.4}/faststream/nats/fastapi.pyi +1 -0
- {faststream-0.2.3 → faststream-0.2.4}/faststream/nats/handler.py +5 -1
- {faststream-0.2.3 → faststream-0.2.4}/faststream/nats/parser.py +14 -1
- {faststream-0.2.3 → faststream-0.2.4}/faststream/rabbit/__init__.py +1 -1
- {faststream-0.2.3 → faststream-0.2.4}/faststream/rabbit/fastapi.pyi +1 -0
- {faststream-0.2.3 → faststream-0.2.4}/faststream/rabbit/helpers.py +1 -0
- {faststream-0.2.3 → faststream-0.2.4}/faststream/rabbit/parser.py +13 -2
- {faststream-0.2.3 → faststream-0.2.4}/faststream/rabbit/producer.py +1 -0
- {faststream-0.2.3 → faststream-0.2.4}/faststream/rabbit/shared/schemas.py +13 -1
- {faststream-0.2.3 → faststream-0.2.4}/faststream/utils/__init__.py +3 -1
- {faststream-0.2.3 → faststream-0.2.4}/faststream/utils/context/__init__.py +3 -1
- faststream-0.2.4/faststream/utils/context/builders.py +45 -0
- faststream-0.2.4/faststream/utils/context/path.py +45 -0
- {faststream-0.2.3 → faststream-0.2.4}/faststream/utils/context/types.py +9 -4
- {faststream-0.2.3 → faststream-0.2.4}/pyproject.toml +4 -2
- faststream-0.2.4/scripts/lint.sh +10 -0
- faststream-0.2.3/.faststream_gen/api/faststream/app/ABCApp.md +0 -3
- faststream-0.2.3/.faststream_gen/api/faststream/app/FastStream.md +0 -3
- faststream-0.2.3/.faststream_gen/api/faststream/asyncapi/base/AsyncAPIOperation.md +0 -3
- faststream-0.2.3/.faststream_gen/api/faststream/asyncapi/generate/get_app_broker_channels.md +0 -3
- faststream-0.2.3/.faststream_gen/api/faststream/asyncapi/generate/get_app_broker_server.md +0 -3
- faststream-0.2.3/.faststream_gen/api/faststream/asyncapi/generate/get_app_schema.md +0 -3
- faststream-0.2.3/.faststream_gen/api/faststream/asyncapi/message/get_model_schema.md +0 -3
- faststream-0.2.3/.faststream_gen/api/faststream/asyncapi/message/get_response_schema.md +0 -3
- faststream-0.2.3/.faststream_gen/api/faststream/asyncapi/message/parse_handler_params.md +0 -3
- faststream-0.2.3/.faststream_gen/api/faststream/asyncapi/schema/bindings/amqp/ChannelBinding.md +0 -3
- faststream-0.2.3/.faststream_gen/api/faststream/asyncapi/schema/bindings/amqp/Exchange.md +0 -3
- faststream-0.2.3/.faststream_gen/api/faststream/asyncapi/schema/bindings/amqp/OperationBinding.md +0 -3
- faststream-0.2.3/.faststream_gen/api/faststream/asyncapi/schema/bindings/amqp/Queue.md +0 -3
- faststream-0.2.3/.faststream_gen/api/faststream/asyncapi/schema/bindings/amqp/ServerBinding.md +0 -3
- faststream-0.2.3/.faststream_gen/api/faststream/asyncapi/schema/bindings/kafka/ChannelBinding.md +0 -3
- faststream-0.2.3/.faststream_gen/api/faststream/asyncapi/schema/bindings/kafka/OperationBinding.md +0 -3
- faststream-0.2.3/.faststream_gen/api/faststream/asyncapi/schema/bindings/kafka/ServerBinding.md +0 -3
- faststream-0.2.3/.faststream_gen/api/faststream/asyncapi/schema/bindings/main/ChannelBinding.md +0 -3
- faststream-0.2.3/.faststream_gen/api/faststream/asyncapi/schema/bindings/main/OperationBinding.md +0 -3
- faststream-0.2.3/.faststream_gen/api/faststream/asyncapi/schema/bindings/main/ServerBinding.md +0 -3
- faststream-0.2.3/.faststream_gen/api/faststream/asyncapi/schema/bindings/nats/ChannelBinding.md +0 -3
- faststream-0.2.3/.faststream_gen/api/faststream/asyncapi/schema/bindings/nats/OperationBinding.md +0 -3
- faststream-0.2.3/.faststream_gen/api/faststream/asyncapi/schema/bindings/nats/ServerBinding.md +0 -3
- faststream-0.2.3/.faststream_gen/api/faststream/asyncapi/schema/bindings/redis/ChannelBinding.md +0 -3
- faststream-0.2.3/.faststream_gen/api/faststream/asyncapi/schema/bindings/redis/OperationBinding.md +0 -3
- faststream-0.2.3/.faststream_gen/api/faststream/asyncapi/schema/bindings/redis/ServerBinding.md +0 -3
- faststream-0.2.3/.faststream_gen/api/faststream/asyncapi/schema/bindings/sqs/ChannelBinding.md +0 -3
- faststream-0.2.3/.faststream_gen/api/faststream/asyncapi/schema/bindings/sqs/OperationBinding.md +0 -3
- faststream-0.2.3/.faststream_gen/api/faststream/asyncapi/schema/bindings/sqs/ServerBinding.md +0 -3
- faststream-0.2.3/.faststream_gen/api/faststream/asyncapi/schema/channels/Channel.md +0 -3
- faststream-0.2.3/.faststream_gen/api/faststream/asyncapi/schema/info/Contact.md +0 -3
- faststream-0.2.3/.faststream_gen/api/faststream/asyncapi/schema/info/ContactDict.md +0 -3
- faststream-0.2.3/.faststream_gen/api/faststream/asyncapi/schema/info/EmailStr.md +0 -3
- faststream-0.2.3/.faststream_gen/api/faststream/asyncapi/schema/info/Info.md +0 -3
- faststream-0.2.3/.faststream_gen/api/faststream/asyncapi/schema/info/License.md +0 -3
- faststream-0.2.3/.faststream_gen/api/faststream/asyncapi/schema/info/LicenseDict.md +0 -3
- faststream-0.2.3/.faststream_gen/api/faststream/asyncapi/schema/main/Components.md +0 -3
- faststream-0.2.3/.faststream_gen/api/faststream/asyncapi/schema/main/Schema.md +0 -3
- faststream-0.2.3/.faststream_gen/api/faststream/asyncapi/schema/message/CorrelationId.md +0 -3
- faststream-0.2.3/.faststream_gen/api/faststream/asyncapi/schema/message/Message.md +0 -3
- faststream-0.2.3/.faststream_gen/api/faststream/asyncapi/schema/operations/Operation.md +0 -3
- faststream-0.2.3/.faststream_gen/api/faststream/asyncapi/schema/security/OauthFlowObj.md +0 -3
- faststream-0.2.3/.faststream_gen/api/faststream/asyncapi/schema/security/OauthFlows.md +0 -3
- faststream-0.2.3/.faststream_gen/api/faststream/asyncapi/schema/security/SecuritySchemaComponent.md +0 -3
- faststream-0.2.3/.faststream_gen/api/faststream/asyncapi/schema/servers/Server.md +0 -3
- faststream-0.2.3/.faststream_gen/api/faststream/asyncapi/schema/servers/ServerVariable.md +0 -3
- faststream-0.2.3/.faststream_gen/api/faststream/asyncapi/schema/utils/ExternalDocs.md +0 -3
- faststream-0.2.3/.faststream_gen/api/faststream/asyncapi/schema/utils/ExternalDocsDict.md +0 -3
- faststream-0.2.3/.faststream_gen/api/faststream/asyncapi/schema/utils/Parameter.md +0 -3
- faststream-0.2.3/.faststream_gen/api/faststream/asyncapi/schema/utils/Reference.md +0 -3
- faststream-0.2.3/.faststream_gen/api/faststream/asyncapi/schema/utils/Tag.md +0 -3
- faststream-0.2.3/.faststream_gen/api/faststream/asyncapi/schema/utils/TagDict.md +0 -3
- faststream-0.2.3/.faststream_gen/api/faststream/asyncapi/utils/resolve_payloads.md +0 -3
- faststream-0.2.3/.faststream_gen/api/faststream/asyncapi/utils/to_camelcase.md +0 -3
- faststream-0.2.3/.faststream_gen/api/faststream/broker/core/abc/BrokerUsecase.md +0 -3
- faststream-0.2.3/.faststream_gen/api/faststream/broker/core/abc/extend_dependencies.md +0 -3
- faststream-0.2.3/.faststream_gen/api/faststream/broker/core/asyncronous/BrokerAsyncUsecase.md +0 -3
- faststream-0.2.3/.faststream_gen/api/faststream/broker/core/asyncronous/default_filter.md +0 -3
- faststream-0.2.3/.faststream_gen/api/faststream/broker/core/mixins/LoggingMixin.md +0 -3
- faststream-0.2.3/.faststream_gen/api/faststream/broker/fastapi/route/StreamMessage.md +0 -3
- faststream-0.2.3/.faststream_gen/api/faststream/broker/fastapi/route/StreamRoute.md +0 -3
- faststream-0.2.3/.faststream_gen/api/faststream/broker/fastapi/route/get_app.md +0 -3
- faststream-0.2.3/.faststream_gen/api/faststream/broker/fastapi/router/StreamRouter.md +0 -3
- faststream-0.2.3/.faststream_gen/api/faststream/broker/handler/AsyncHandler.md +0 -3
- faststream-0.2.3/.faststream_gen/api/faststream/broker/handler/BaseHandler.md +0 -3
- faststream-0.2.3/.faststream_gen/api/faststream/broker/message/ABCStreamMessage.md +0 -3
- faststream-0.2.3/.faststream_gen/api/faststream/broker/message/StreamMessage.md +0 -3
- faststream-0.2.3/.faststream_gen/api/faststream/broker/message/SyncStreamMessage.md +0 -3
- faststream-0.2.3/.faststream_gen/api/faststream/broker/middlewares/BaseMiddleware.md +0 -3
- faststream-0.2.3/.faststream_gen/api/faststream/broker/middlewares/CriticalLogMiddleware.md +0 -3
- faststream-0.2.3/.faststream_gen/api/faststream/broker/parsers/decode_message.md +0 -3
- faststream-0.2.3/.faststream_gen/api/faststream/broker/parsers/encode_message.md +0 -3
- faststream-0.2.3/.faststream_gen/api/faststream/broker/parsers/resolve_custom_func.md +0 -3
- faststream-0.2.3/.faststream_gen/api/faststream/broker/publisher/BasePublisher.md +0 -3
- faststream-0.2.3/.faststream_gen/api/faststream/broker/push_back_watcher/BaseWatcher.md +0 -3
- faststream-0.2.3/.faststream_gen/api/faststream/broker/push_back_watcher/CounterWatcher.md +0 -3
- faststream-0.2.3/.faststream_gen/api/faststream/broker/push_back_watcher/EndlessWatcher.md +0 -3
- faststream-0.2.3/.faststream_gen/api/faststream/broker/push_back_watcher/OneTryWatcher.md +0 -3
- faststream-0.2.3/.faststream_gen/api/faststream/broker/push_back_watcher/WatcherContext.md +0 -3
- faststream-0.2.3/.faststream_gen/api/faststream/broker/router/BrokerRoute.md +0 -3
- faststream-0.2.3/.faststream_gen/api/faststream/broker/router/BrokerRouter.md +0 -3
- faststream-0.2.3/.faststream_gen/api/faststream/broker/schemas/NameRequired.md +0 -3
- faststream-0.2.3/.faststream_gen/api/faststream/broker/schemas/RawDecoced.md +0 -3
- faststream-0.2.3/.faststream_gen/api/faststream/broker/security/BaseSecurity.md +0 -3
- faststream-0.2.3/.faststream_gen/api/faststream/broker/security/SASLPlaintext.md +0 -3
- faststream-0.2.3/.faststream_gen/api/faststream/broker/security/SASLScram256.md +0 -3
- faststream-0.2.3/.faststream_gen/api/faststream/broker/security/SASLScram512.md +0 -3
- faststream-0.2.3/.faststream_gen/api/faststream/broker/test/TestApp.md +0 -3
- faststream-0.2.3/.faststream_gen/api/faststream/broker/test/TestBroker.md +0 -3
- faststream-0.2.3/.faststream_gen/api/faststream/broker/test/call_handler.md +0 -3
- faststream-0.2.3/.faststream_gen/api/faststream/broker/test/patch_broker_calls.md +0 -3
- faststream-0.2.3/.faststream_gen/api/faststream/broker/types/AsyncPublisherProtocol.md +0 -3
- faststream-0.2.3/.faststream_gen/api/faststream/broker/utils/change_logger_handlers.md +0 -3
- faststream-0.2.3/.faststream_gen/api/faststream/broker/utils/get_watcher.md +0 -3
- faststream-0.2.3/.faststream_gen/api/faststream/broker/utils/set_message_context.md +0 -3
- faststream-0.2.3/.faststream_gen/api/faststream/broker/wrapper/FakePublisher.md +0 -3
- faststream-0.2.3/.faststream_gen/api/faststream/broker/wrapper/HandlerCallWrapper.md +0 -3
- faststream-0.2.3/.faststream_gen/api/faststream/cli/docs/app/gen.md +0 -3
- faststream-0.2.3/.faststream_gen/api/faststream/cli/docs/app/serve.md +0 -3
- faststream-0.2.3/.faststream_gen/api/faststream/cli/main/main.md +0 -3
- faststream-0.2.3/.faststream_gen/api/faststream/cli/main/run.md +0 -3
- faststream-0.2.3/.faststream_gen/api/faststream/cli/main/version_callback.md +0 -3
- faststream-0.2.3/.faststream_gen/api/faststream/cli/supervisors/basereload/BaseReload.md +0 -3
- faststream-0.2.3/.faststream_gen/api/faststream/cli/supervisors/multiprocess/Multiprocess.md +0 -3
- faststream-0.2.3/.faststream_gen/api/faststream/cli/supervisors/utils/get_subprocess.md +0 -3
- faststream-0.2.3/.faststream_gen/api/faststream/cli/supervisors/utils/set_exit.md +0 -3
- faststream-0.2.3/.faststream_gen/api/faststream/cli/supervisors/utils/subprocess_started.md +0 -3
- faststream-0.2.3/.faststream_gen/api/faststream/cli/supervisors/watchfiles/ExtendedFilter.md +0 -3
- faststream-0.2.3/.faststream_gen/api/faststream/cli/supervisors/watchfiles/WatchReloader.md +0 -3
- faststream-0.2.3/.faststream_gen/api/faststream/cli/utils/imports/get_app_path.md +0 -3
- faststream-0.2.3/.faststream_gen/api/faststream/cli/utils/imports/import_object.md +0 -3
- faststream-0.2.3/.faststream_gen/api/faststream/cli/utils/imports/try_import_app.md +0 -3
- faststream-0.2.3/.faststream_gen/api/faststream/cli/utils/logs/LogLevels.md +0 -3
- faststream-0.2.3/.faststream_gen/api/faststream/cli/utils/logs/get_log_level.md +0 -3
- faststream-0.2.3/.faststream_gen/api/faststream/cli/utils/logs/set_log_level.md +0 -3
- faststream-0.2.3/.faststream_gen/api/faststream/cli/utils/parser/parse_cli_args.md +0 -3
- faststream-0.2.3/.faststream_gen/api/faststream/cli/utils/parser/remove_prefix.md +0 -3
- faststream-0.2.3/.faststream_gen/api/faststream/constants/ContentTypes.md +0 -3
- faststream-0.2.3/.faststream_gen/api/faststream/exceptions/AckMessage.md +0 -3
- faststream-0.2.3/.faststream_gen/api/faststream/exceptions/HandlerException.md +0 -3
- faststream-0.2.3/.faststream_gen/api/faststream/exceptions/NackMessage.md +0 -3
- faststream-0.2.3/.faststream_gen/api/faststream/exceptions/RejectMessage.md +0 -3
- faststream-0.2.3/.faststream_gen/api/faststream/exceptions/SkipMessage.md +0 -3
- faststream-0.2.3/.faststream_gen/api/faststream/exceptions/StopConsume.md +0 -3
- faststream-0.2.3/.faststream_gen/api/faststream/kafka/asyncapi/Handler.md +0 -3
- faststream-0.2.3/.faststream_gen/api/faststream/kafka/asyncapi/Publisher.md +0 -3
- faststream-0.2.3/.faststream_gen/api/faststream/kafka/broker/KafkaBroker.md +0 -3
- faststream-0.2.3/.faststream_gen/api/faststream/kafka/fastapi/KafkaRouter.md +0 -3
- faststream-0.2.3/.faststream_gen/api/faststream/kafka/handler/LogicHandler.md +0 -3
- faststream-0.2.3/.faststream_gen/api/faststream/kafka/message/KafkaMessage.md +0 -3
- faststream-0.2.3/.faststream_gen/api/faststream/kafka/parser/AioKafkaParser.md +0 -3
- faststream-0.2.3/.faststream_gen/api/faststream/kafka/producer/AioKafkaFastProducer.md +0 -3
- faststream-0.2.3/.faststream_gen/api/faststream/kafka/publisher/LogicPublisher.md +0 -3
- faststream-0.2.3/.faststream_gen/api/faststream/kafka/router/KafkaRouter.md +0 -3
- faststream-0.2.3/.faststream_gen/api/faststream/kafka/security/parse_security.md +0 -3
- faststream-0.2.3/.faststream_gen/api/faststream/kafka/shared/logging/KafkaLoggingMixin.md +0 -3
- faststream-0.2.3/.faststream_gen/api/faststream/kafka/shared/publisher/ABCPublisher.md +0 -3
- faststream-0.2.3/.faststream_gen/api/faststream/kafka/shared/router/KafkaRouter.md +0 -3
- faststream-0.2.3/.faststream_gen/api/faststream/kafka/shared/schemas/ConsumerConnectionParams.md +0 -3
- faststream-0.2.3/.faststream_gen/api/faststream/kafka/test/FakeProducer.md +0 -3
- faststream-0.2.3/.faststream_gen/api/faststream/kafka/test/TestKafkaBroker.md +0 -3
- faststream-0.2.3/.faststream_gen/api/faststream/kafka/test/build_message.md +0 -3
- faststream-0.2.3/.faststream_gen/api/faststream/log/formatter/ColourizedFormatter.md +0 -3
- faststream-0.2.3/.faststream_gen/api/faststream/log/formatter/expand_log_field.md +0 -3
- faststream-0.2.3/.faststream_gen/api/faststream/log/formatter/make_record_with_extra.md +0 -3
- faststream-0.2.3/.faststream_gen/api/faststream/log/logging/configure_formatter.md +0 -3
- faststream-0.2.3/.faststream_gen/api/faststream/nats/asyncapi/Handler.md +0 -3
- faststream-0.2.3/.faststream_gen/api/faststream/nats/asyncapi/Publisher.md +0 -3
- faststream-0.2.3/.faststream_gen/api/faststream/nats/broker/NatsBroker.md +0 -3
- faststream-0.2.3/.faststream_gen/api/faststream/nats/fastapi/NatsRouter.md +0 -3
- faststream-0.2.3/.faststream_gen/api/faststream/nats/handler/LogicNatsHandler.md +0 -3
- faststream-0.2.3/.faststream_gen/api/faststream/nats/helpers/StreamBuilder.md +0 -3
- faststream-0.2.3/.faststream_gen/api/faststream/nats/js_stream/JStream.md +0 -3
- faststream-0.2.3/.faststream_gen/api/faststream/nats/message/NatsMessage.md +0 -3
- faststream-0.2.3/.faststream_gen/api/faststream/nats/parser/NatsParser.md +0 -3
- faststream-0.2.3/.faststream_gen/api/faststream/nats/producer/NatsFastProducer.md +0 -3
- faststream-0.2.3/.faststream_gen/api/faststream/nats/producer/NatsJSFastProducer.md +0 -3
- faststream-0.2.3/.faststream_gen/api/faststream/nats/publisher/LogicPublisher.md +0 -3
- faststream-0.2.3/.faststream_gen/api/faststream/nats/router/NatsRouter.md +0 -3
- faststream-0.2.3/.faststream_gen/api/faststream/nats/shared/logging/NatsLoggingMixin.md +0 -3
- faststream-0.2.3/.faststream_gen/api/faststream/nats/shared/router/NatsRouter.md +0 -3
- faststream-0.2.3/.faststream_gen/api/faststream/nats/test/FakeProducer.md +0 -3
- faststream-0.2.3/.faststream_gen/api/faststream/nats/test/PatchedMessage.md +0 -3
- faststream-0.2.3/.faststream_gen/api/faststream/nats/test/TestNatsBroker.md +0 -3
- faststream-0.2.3/.faststream_gen/api/faststream/nats/test/build_message.md +0 -3
- faststream-0.2.3/.faststream_gen/api/faststream/rabbit/asyncapi/Handler.md +0 -3
- faststream-0.2.3/.faststream_gen/api/faststream/rabbit/asyncapi/Publisher.md +0 -3
- faststream-0.2.3/.faststream_gen/api/faststream/rabbit/asyncapi/RMQAsyncAPIChannel.md +0 -3
- faststream-0.2.3/.faststream_gen/api/faststream/rabbit/broker/RabbitBroker.md +0 -3
- faststream-0.2.3/.faststream_gen/api/faststream/rabbit/fastapi/RabbitRouter.md +0 -3
- faststream-0.2.3/.faststream_gen/api/faststream/rabbit/handler/LogicHandler.md +0 -3
- faststream-0.2.3/.faststream_gen/api/faststream/rabbit/helpers/RabbitDeclarer.md +0 -3
- faststream-0.2.3/.faststream_gen/api/faststream/rabbit/message/RabbitMessage.md +0 -3
- faststream-0.2.3/.faststream_gen/api/faststream/rabbit/parser/AioPikaParser.md +0 -3
- faststream-0.2.3/.faststream_gen/api/faststream/rabbit/producer/AioPikaFastProducer.md +0 -3
- faststream-0.2.3/.faststream_gen/api/faststream/rabbit/publisher/LogicPublisher.md +0 -3
- faststream-0.2.3/.faststream_gen/api/faststream/rabbit/router/RabbitRouter.md +0 -3
- faststream-0.2.3/.faststream_gen/api/faststream/rabbit/security/parse_security.md +0 -3
- faststream-0.2.3/.faststream_gen/api/faststream/rabbit/shared/constants/ExchangeType.md +0 -3
- faststream-0.2.3/.faststream_gen/api/faststream/rabbit/shared/logging/RabbitLoggingMixin.md +0 -3
- faststream-0.2.3/.faststream_gen/api/faststream/rabbit/shared/publisher/ABCPublisher.md +0 -3
- faststream-0.2.3/.faststream_gen/api/faststream/rabbit/shared/router/RabbitRouter.md +0 -3
- faststream-0.2.3/.faststream_gen/api/faststream/rabbit/shared/schemas/BaseRMQInformation.md +0 -3
- faststream-0.2.3/.faststream_gen/api/faststream/rabbit/shared/schemas/RabbitExchange.md +0 -3
- faststream-0.2.3/.faststream_gen/api/faststream/rabbit/shared/schemas/RabbitQueue.md +0 -3
- faststream-0.2.3/.faststream_gen/api/faststream/rabbit/shared/schemas/get_routing_hash.md +0 -3
- faststream-0.2.3/.faststream_gen/api/faststream/rabbit/test/FakeProducer.md +0 -3
- faststream-0.2.3/.faststream_gen/api/faststream/rabbit/test/PatchedMessage.md +0 -3
- faststream-0.2.3/.faststream_gen/api/faststream/rabbit/test/TestRabbitBroker.md +0 -3
- faststream-0.2.3/.faststream_gen/api/faststream/rabbit/test/build_message.md +0 -3
- faststream-0.2.3/.faststream_gen/api/faststream/utils/classes/Singleton.md +0 -3
- faststream-0.2.3/.faststream_gen/api/faststream/utils/context/main/ContextRepo.md +0 -3
- faststream-0.2.3/.faststream_gen/api/faststream/utils/context/types/Context.md +0 -3
- faststream-0.2.3/.faststream_gen/api/faststream/utils/context/types/resolve_context.md +0 -3
- faststream-0.2.3/.faststream_gen/api/faststream/utils/data/filter_by_dict.md +0 -3
- faststream-0.2.3/.faststream_gen/api/faststream/utils/functions/get_function_positional_arguments.md +0 -3
- faststream-0.2.3/.faststream_gen/api/faststream/utils/functions/timeout_scope.md +0 -3
- faststream-0.2.3/.faststream_gen/api/faststream/utils/functions/to_async.md +0 -3
- faststream-0.2.3/.faststream_gen/api/faststream/utils/no_cast/NoCast.md +0 -3
- faststream-0.2.3/.faststream_gen/getting-started/asyncapi/custom.md +0 -188
- faststream-0.2.3/.faststream_gen/getting-started/asyncapi/export.md +0 -56
- faststream-0.2.3/.faststream_gen/getting-started/asyncapi/hosting.md +0 -38
- faststream-0.2.3/.faststream_gen/getting-started/cli/index.md +0 -128
- faststream-0.2.3/.faststream_gen/getting-started/config/index.md +0 -167
- faststream-0.2.3/.faststream_gen/getting-started/context/custom.md +0 -83
- faststream-0.2.3/.faststream_gen/getting-started/context/existed.md +0 -82
- faststream-0.2.3/.faststream_gen/getting-started/context/extra.md +0 -60
- faststream-0.2.3/.faststream_gen/getting-started/context/fields.md +0 -11
- faststream-0.2.3/.faststream_gen/getting-started/context/index.md +0 -66
- faststream-0.2.3/.faststream_gen/getting-started/contributing/CONTRIBUTING.md +0 -143
- faststream-0.2.3/.faststream_gen/getting-started/contributing/docs.md +0 -44
- faststream-0.2.3/.faststream_gen/getting-started/dependencies/class.md +0 -0
- faststream-0.2.3/.faststream_gen/getting-started/dependencies/global.md +0 -3
- faststream-0.2.3/.faststream_gen/getting-started/dependencies/index.md +0 -163
- faststream-0.2.3/.faststream_gen/getting-started/dependencies/sub.md +0 -0
- faststream-0.2.3/.faststream_gen/getting-started/dependencies/testing.md +0 -3
- faststream-0.2.3/.faststream_gen/getting-started/dependencies/yield.md +0 -0
- faststream-0.2.3/.faststream_gen/getting-started/index.md +0 -39
- faststream-0.2.3/.faststream_gen/getting-started/integrations/fastapi/index.md +0 -73
- faststream-0.2.3/.faststream_gen/getting-started/integrations/frameworks/index.md +0 -16
- faststream-0.2.3/.faststream_gen/getting-started/lifespan/hooks.md +0 -119
- faststream-0.2.3/.faststream_gen/getting-started/lifespan/index.md +0 -11
- faststream-0.2.3/.faststream_gen/getting-started/lifespan/test.md +0 -12
- faststream-0.2.3/.faststream_gen/getting-started/logging.md +0 -208
- faststream-0.2.3/.faststream_gen/getting-started/middlewares/index.md +0 -85
- faststream-0.2.3/.faststream_gen/getting-started/publishing/broker.md +0 -20
- faststream-0.2.3/.faststream_gen/getting-started/publishing/decorator.md +0 -34
- faststream-0.2.3/.faststream_gen/getting-started/publishing/direct.md +0 -27
- faststream-0.2.3/.faststream_gen/getting-started/publishing/index.md +0 -35
- faststream-0.2.3/.faststream_gen/getting-started/publishing/object.md +0 -34
- faststream-0.2.3/.faststream_gen/getting-started/publishing/test.md +0 -62
- faststream-0.2.3/.faststream_gen/getting-started/routers/index.md +0 -51
- faststream-0.2.3/.faststream_gen/getting-started/serialization/decoder.md +0 -84
- faststream-0.2.3/.faststream_gen/getting-started/serialization/examples.md +0 -123
- faststream-0.2.3/.faststream_gen/getting-started/serialization/index.md +0 -20
- faststream-0.2.3/.faststream_gen/getting-started/serialization/parser.md +0 -106
- faststream-0.2.3/.faststream_gen/getting-started/subscription/annotation.md +0 -61
- faststream-0.2.3/.faststream_gen/getting-started/subscription/filtering.md +0 -60
- faststream-0.2.3/.faststream_gen/getting-started/subscription/index.md +0 -138
- faststream-0.2.3/.faststream_gen/getting-started/subscription/pydantic.md +0 -43
- faststream-0.2.3/.faststream_gen/getting-started/subscription/test.md +0 -152
- faststream-0.2.3/.faststream_gen/getting-started/template/index.md +0 -207
- faststream-0.2.3/.faststream_gen/index.md +0 -352
- faststream-0.2.3/.faststream_gen/kafka/Publisher/batch_publisher.md +0 -96
- faststream-0.2.3/.faststream_gen/kafka/Publisher/index.md +0 -126
- faststream-0.2.3/.faststream_gen/kafka/Publisher/using_a_key.md +0 -61
- faststream-0.2.3/.faststream_gen/kafka/Subscriber/batch_subscriber.md +0 -58
- faststream-0.2.3/.faststream_gen/kafka/Subscriber/index.md +0 -78
- faststream-0.2.3/.faststream_gen/kafka/ack.md +0 -88
- faststream-0.2.3/.faststream_gen/kafka/index.md +0 -61
- faststream-0.2.3/.faststream_gen/kafka/message.md +0 -53
- faststream-0.2.3/.faststream_gen/nats/examples/direct.md +0 -96
- faststream-0.2.3/.faststream_gen/nats/examples/pattern.md +0 -87
- faststream-0.2.3/.faststream_gen/nats/index.md +0 -35
- faststream-0.2.3/.faststream_gen/nats/jetstream/ack.md +0 -78
- faststream-0.2.3/.faststream_gen/nats/jetstream/index.md +0 -53
- faststream-0.2.3/.faststream_gen/nats/jetstream/key-value.md +0 -107
- faststream-0.2.3/.faststream_gen/nats/jetstream/object.md +0 -111
- faststream-0.2.3/.faststream_gen/nats/message.md +0 -104
- faststream-0.2.3/.faststream_gen/nats/publishing/index.md +0 -40
- faststream-0.2.3/.faststream_gen/nats/rpc.md +0 -45
- faststream-0.2.3/.faststream_gen/rabbit/ack.md +0 -90
- faststream-0.2.3/.faststream_gen/rabbit/declare.md +0 -40
- faststream-0.2.3/.faststream_gen/rabbit/examples/direct.md +0 -129
- faststream-0.2.3/.faststream_gen/rabbit/examples/fanout.md +0 -93
- faststream-0.2.3/.faststream_gen/rabbit/examples/headers.md +0 -181
- faststream-0.2.3/.faststream_gen/rabbit/examples/index.md +0 -36
- faststream-0.2.3/.faststream_gen/rabbit/examples/stream.md +0 -36
- faststream-0.2.3/.faststream_gen/rabbit/examples/topic.md +0 -113
- faststream-0.2.3/.faststream_gen/rabbit/index.md +0 -69
- faststream-0.2.3/.faststream_gen/rabbit/message.md +0 -104
- faststream-0.2.3/.faststream_gen/rabbit/publishing.md +0 -83
- faststream-0.2.3/.faststream_gen/rabbit/rpc.md +0 -42
- faststream-0.2.3/.faststream_gen/release.md +0 -36
- faststream-0.2.3/.github/workflows/deploy-docs.yaml +0 -33
- faststream-0.2.3/faststream_gen_examples/__init__.py +0 -0
- faststream-0.2.3/faststream_gen_examples/example_add_and_publish_with_key/__init__.py +0 -0
- faststream-0.2.3/faststream_gen_examples/example_add_and_publish_with_key/app.py +0 -55
- faststream-0.2.3/faststream_gen_examples/example_add_and_publish_with_key/app_skeleton.py +0 -58
- faststream-0.2.3/faststream_gen_examples/example_add_and_publish_with_key/description.txt +0 -12
- faststream-0.2.3/faststream_gen_examples/example_add_and_publish_with_key/test_app.py +0 -33
- faststream-0.2.3/faststream_gen_examples/example_add_and_publish_with_key2/__init__.py +0 -0
- faststream-0.2.3/faststream_gen_examples/example_add_and_publish_with_key2/app.py +0 -54
- faststream-0.2.3/faststream_gen_examples/example_add_and_publish_with_key2/app_skeleton.py +0 -54
- faststream-0.2.3/faststream_gen_examples/example_add_and_publish_with_key2/description.txt +0 -11
- faststream-0.2.3/faststream_gen_examples/example_add_and_publish_with_key2/test_app.py +0 -21
- faststream-0.2.3/faststream_gen_examples/example_calculate_mean_temperature/__init__.py +0 -0
- faststream-0.2.3/faststream_gen_examples/example_calculate_mean_temperature/app.py +0 -53
- faststream-0.2.3/faststream_gen_examples/example_calculate_mean_temperature/app_skeleton.py +0 -57
- faststream-0.2.3/faststream_gen_examples/example_calculate_mean_temperature/description.txt +0 -11
- faststream-0.2.3/faststream_gen_examples/example_calculate_mean_temperature/test_app.py +0 -47
- faststream-0.2.3/faststream_gen_examples/example_consume_publish_with_key/__init__.py +0 -0
- faststream-0.2.3/faststream_gen_examples/example_consume_publish_with_key/app.py +0 -36
- faststream-0.2.3/faststream_gen_examples/example_consume_publish_with_key/app_skeleton.py +0 -45
- faststream-0.2.3/faststream_gen_examples/example_consume_publish_with_key/description.txt +0 -10
- faststream-0.2.3/faststream_gen_examples/example_consume_publish_with_key/test_app.py +0 -30
- faststream-0.2.3/faststream_gen_examples/example_course_updates/__init__.py +0 -0
- faststream-0.2.3/faststream_gen_examples/example_course_updates/app.py +0 -38
- faststream-0.2.3/faststream_gen_examples/example_course_updates/app_skeleton.py +0 -40
- faststream-0.2.3/faststream_gen_examples/example_course_updates/description.txt +0 -4
- faststream-0.2.3/faststream_gen_examples/example_course_updates/test_app.py +0 -64
- faststream-0.2.3/faststream_gen_examples/example_execute_trade/__init__.py +0 -0
- faststream-0.2.3/faststream_gen_examples/example_execute_trade/app.py +0 -33
- faststream-0.2.3/faststream_gen_examples/example_execute_trade/app_skeleton.py +0 -32
- faststream-0.2.3/faststream_gen_examples/example_execute_trade/description.txt +0 -3
- faststream-0.2.3/faststream_gen_examples/example_execute_trade/test_app.py +0 -36
- faststream-0.2.3/faststream_gen_examples/example_forward_to_another_topic/__init__.py +0 -0
- faststream-0.2.3/faststream_gen_examples/example_forward_to_another_topic/app.py +0 -24
- faststream-0.2.3/faststream_gen_examples/example_forward_to_another_topic/app_skeleton.py +0 -31
- faststream-0.2.3/faststream_gen_examples/example_forward_to_another_topic/description.txt +0 -2
- faststream-0.2.3/faststream_gen_examples/example_forward_to_another_topic/test_app.py +0 -24
- faststream-0.2.3/faststream_gen_examples/example_forward_to_multiple_topics/__init__.py +0 -0
- faststream-0.2.3/faststream_gen_examples/example_forward_to_multiple_topics/app.py +0 -14
- faststream-0.2.3/faststream_gen_examples/example_forward_to_multiple_topics/app_skeleton.py +0 -20
- faststream-0.2.3/faststream_gen_examples/example_forward_to_multiple_topics/description.txt +0 -2
- faststream-0.2.3/faststream_gen_examples/example_forward_to_multiple_topics/test_app.py +0 -29
- faststream-0.2.3/faststream_gen_examples/example_forward_with_security/__init__.py +0 -0
- faststream-0.2.3/faststream_gen_examples/example_forward_with_security/app.py +0 -28
- faststream-0.2.3/faststream_gen_examples/example_forward_with_security/app_skeleton.py +0 -36
- faststream-0.2.3/faststream_gen_examples/example_forward_with_security/description.txt +0 -3
- faststream-0.2.3/faststream_gen_examples/example_forward_with_security/test_app.py +0 -24
- faststream-0.2.3/faststream_gen_examples/example_infinity_publishing/__init__.py +0 -0
- faststream-0.2.3/faststream_gen_examples/example_infinity_publishing/app.py +0 -45
- faststream-0.2.3/faststream_gen_examples/example_infinity_publishing/app_skeleton.py +0 -47
- faststream-0.2.3/faststream_gen_examples/example_infinity_publishing/description.txt +0 -2
- faststream-0.2.3/faststream_gen_examples/example_infinity_publishing/test_app.py +0 -21
- faststream-0.2.3/faststream_gen_examples/example_investment_updates/__init__.py +0 -0
- faststream-0.2.3/faststream_gen_examples/example_investment_updates/app.py +0 -32
- faststream-0.2.3/faststream_gen_examples/example_investment_updates/app_skeleton.py +0 -38
- faststream-0.2.3/faststream_gen_examples/example_investment_updates/description.txt +0 -3
- faststream-0.2.3/faststream_gen_examples/example_investment_updates/test_app.py +0 -42
- faststream-0.2.3/faststream_gen_examples/example_log_msgs_with_plaintext_security/__init__.py +0 -0
- faststream-0.2.3/faststream_gen_examples/example_log_msgs_with_plaintext_security/app.py +0 -27
- faststream-0.2.3/faststream_gen_examples/example_log_msgs_with_plaintext_security/app_skeleton.py +0 -34
- faststream-0.2.3/faststream_gen_examples/example_log_msgs_with_plaintext_security/description.txt +0 -3
- faststream-0.2.3/faststream_gen_examples/example_log_msgs_with_plaintext_security/test_app.py +0 -16
- faststream-0.2.3/faststream_gen_examples/example_new_employee/__init__.py +0 -0
- faststream-0.2.3/faststream_gen_examples/example_new_employee/app.py +0 -31
- faststream-0.2.3/faststream_gen_examples/example_new_employee/app_skeleton.py +0 -35
- faststream-0.2.3/faststream_gen_examples/example_new_employee/description.txt +0 -5
- faststream-0.2.3/faststream_gen_examples/example_new_employee/test_app.py +0 -33
- faststream-0.2.3/faststream_gen_examples/example_pets/__init__.py +0 -0
- faststream-0.2.3/faststream_gen_examples/example_pets/app.py +0 -22
- faststream-0.2.3/faststream_gen_examples/example_pets/app_skeleton.py +0 -28
- faststream-0.2.3/faststream_gen_examples/example_pets/description.txt +0 -3
- faststream-0.2.3/faststream_gen_examples/example_pets/test_app.py +0 -20
- faststream-0.2.3/faststream_gen_examples/example_plants/__init__.py +0 -0
- faststream-0.2.3/faststream_gen_examples/example_plants/app.py +0 -27
- faststream-0.2.3/faststream_gen_examples/example_plants/app_skeleton.py +0 -33
- faststream-0.2.3/faststream_gen_examples/example_plants/description.txt +0 -2
- faststream-0.2.3/faststream_gen_examples/example_plants/test_app.py +0 -43
- faststream-0.2.3/faststream_gen_examples/example_product_reviews/__init__.py +0 -0
- faststream-0.2.3/faststream_gen_examples/example_product_reviews/app.py +0 -37
- faststream-0.2.3/faststream_gen_examples/example_product_reviews/app_skeleton.py +0 -45
- faststream-0.2.3/faststream_gen_examples/example_product_reviews/description.txt +0 -3
- faststream-0.2.3/faststream_gen_examples/example_product_reviews/test_app.py +0 -54
- faststream-0.2.3/faststream_gen_examples/example_publish_with_key/__init__.py +0 -0
- faststream-0.2.3/faststream_gen_examples/example_publish_with_key/app.py +0 -28
- faststream-0.2.3/faststream_gen_examples/example_publish_with_key/app_skeleton.py +0 -37
- faststream-0.2.3/faststream_gen_examples/example_publish_with_key/description.txt +0 -8
- faststream-0.2.3/faststream_gen_examples/example_publish_with_key/test_app.py +0 -19
- faststream-0.2.3/faststream_gen_examples/example_scram256_security/__init__.py +0 -0
- faststream-0.2.3/faststream_gen_examples/example_scram256_security/app.py +0 -37
- faststream-0.2.3/faststream_gen_examples/example_scram256_security/app_skeleton.py +0 -43
- faststream-0.2.3/faststream_gen_examples/example_scram256_security/description.txt +0 -5
- faststream-0.2.3/faststream_gen_examples/example_scram256_security/test_app.py +0 -40
- faststream-0.2.3/faststream_gen_examples/example_scram512_security/__init__.py +0 -0
- faststream-0.2.3/faststream_gen_examples/example_scram512_security/app.py +0 -37
- faststream-0.2.3/faststream_gen_examples/example_scram512_security/app_skeleton.py +0 -44
- faststream-0.2.3/faststream_gen_examples/example_scram512_security/description.txt +0 -4
- faststream-0.2.3/faststream_gen_examples/example_scram512_security/test_app.py +0 -34
- faststream-0.2.3/faststream_gen_examples/example_scrape_weather/__init__.py +0 -0
- faststream-0.2.3/faststream_gen_examples/example_scrape_weather/app.py +0 -103
- faststream-0.2.3/faststream_gen_examples/example_scrape_weather/app_skeleton.py +0 -89
- faststream-0.2.3/faststream_gen_examples/example_scrape_weather/description.txt +0 -26
- faststream-0.2.3/faststream_gen_examples/example_scrape_weather/test_app.py +0 -19
- faststream-0.2.3/faststream_gen_examples/example_social_media_post/__init__.py +0 -0
- faststream-0.2.3/faststream_gen_examples/example_social_media_post/app.py +0 -34
- faststream-0.2.3/faststream_gen_examples/example_social_media_post/app_skeleton.py +0 -49
- faststream-0.2.3/faststream_gen_examples/example_social_media_post/description.txt +0 -4
- faststream-0.2.3/faststream_gen_examples/example_social_media_post/test_app.py +0 -38
- faststream-0.2.3/faststream_gen_examples/example_student_query/__init__.py +0 -0
- faststream-0.2.3/faststream_gen_examples/example_student_query/app.py +0 -46
- faststream-0.2.3/faststream_gen_examples/example_student_query/app_skeleton.py +0 -49
- faststream-0.2.3/faststream_gen_examples/example_student_query/description.txt +0 -4
- faststream-0.2.3/faststream_gen_examples/example_student_query/test_app.py +0 -58
- faststream-0.2.3/faststream_gen_examples/example_weather_updates/__init__.py +0 -0
- faststream-0.2.3/faststream_gen_examples/example_weather_updates/app.py +0 -30
- faststream-0.2.3/faststream_gen_examples/example_weather_updates/app_skeleton.py +0 -35
- faststream-0.2.3/faststream_gen_examples/example_weather_updates/description.txt +0 -3
- faststream-0.2.3/faststream_gen_examples/example_weather_updates/test_app.py +0 -44
- faststream-0.2.3/scripts/lint.sh +0 -10
- {faststream-0.2.3 → faststream-0.2.4}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
- {faststream-0.2.3 → faststream-0.2.4}/.github/ISSUE_TEMPLATE/config.yml +0 -0
- {faststream-0.2.3 → faststream-0.2.4}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
- {faststream-0.2.3 → faststream-0.2.4}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
- {faststream-0.2.3 → faststream-0.2.4}/.github/dependabot.yml +0 -0
- {faststream-0.2.3 → faststream-0.2.4}/.github/workflows/codeql.yml +0 -0
- {faststream-0.2.3 → faststream-0.2.4}/.github/workflows/dependency-review.yaml +0 -0
- {faststream-0.2.3 → faststream-0.2.4}/.github/workflows/publish_coverage.yml +0 -0
- {faststream-0.2.3 → faststream-0.2.4}/.github/workflows/publish_pypi.yml +0 -0
- {faststream-0.2.3 → faststream-0.2.4}/.pre-commit-config.yaml +0 -0
- {faststream-0.2.3 → faststream-0.2.4}/.secrets.baseline +0 -0
- {faststream-0.2.3 → faststream-0.2.4}/CODE_OF_CONDUCT.md +0 -0
- {faststream-0.2.3 → faststream-0.2.4}/CONTRIBUTING.md +0 -0
- {faststream-0.2.3 → faststream-0.2.4}/LICENSE +0 -0
- {faststream-0.2.3 → faststream-0.2.4}/README.md +0 -0
- {faststream-0.2.3 → faststream-0.2.4}/SECURITY.md +0 -0
- {faststream-0.2.3 → faststream-0.2.4}/examples/__init__.py +0 -0
- {faststream-0.2.3 → faststream-0.2.4}/examples/e01_basic_consume.py +0 -0
- {faststream-0.2.3 → faststream-0.2.4}/examples/e02_1_basic_publisher.py +0 -0
- {faststream-0.2.3 → faststream-0.2.4}/examples/e02_2_basic_publisher.py +0 -0
- {faststream-0.2.3 → faststream-0.2.4}/examples/e02_3_basic_publisher.py +0 -0
- {faststream-0.2.3 → faststream-0.2.4}/examples/e03_miltiple_pubsub.py +0 -0
- {faststream-0.2.3 → faststream-0.2.4}/examples/e04_msg_filter.py +0 -0
- {faststream-0.2.3 → faststream-0.2.4}/examples/e05_rpc_request.py +0 -0
- {faststream-0.2.3 → faststream-0.2.4}/examples/e06_manual_ack.py +0 -0
- {faststream-0.2.3 → faststream-0.2.4}/examples/e07_ack_immediately.py +0 -0
- {faststream-0.2.3 → faststream-0.2.4}/examples/e08_testing.py +0 -0
- {faststream-0.2.3 → faststream-0.2.4}/examples/e09_testing_mocks.py +0 -0
- {faststream-0.2.3 → faststream-0.2.4}/examples/e10_middlewares.py +0 -0
- {faststream-0.2.3 → faststream-0.2.4}/examples/e11_settings.py +0 -0
- {faststream-0.2.3 → faststream-0.2.4}/examples/fastapi_integration/__init__.py +0 -0
- {faststream-0.2.3 → faststream-0.2.4}/examples/fastapi_integration/app.py +0 -0
- {faststream-0.2.3 → faststream-0.2.4}/examples/fastapi_integration/testing.py +0 -0
- {faststream-0.2.3 → faststream-0.2.4}/examples/howto/__init__.py +0 -0
- {faststream-0.2.3 → faststream-0.2.4}/examples/howto/structlogs.py +0 -0
- {faststream-0.2.3 → faststream-0.2.4}/examples/kafka/__init__.py +0 -0
- {faststream-0.2.3 → faststream-0.2.4}/examples/kafka/ack_after_process.py +0 -0
- {faststream-0.2.3 → faststream-0.2.4}/examples/kafka/batch_consume.py +0 -0
- {faststream-0.2.3 → faststream-0.2.4}/examples/kafka/batch_publish_1.py +0 -0
- {faststream-0.2.3 → faststream-0.2.4}/examples/kafka/batch_publish_2.py +0 -0
- {faststream-0.2.3 → faststream-0.2.4}/examples/kafka/batch_publish_3.py +0 -0
- {faststream-0.2.3 → faststream-0.2.4}/examples/kafka/testing.py +0 -0
- {faststream-0.2.3 → faststream-0.2.4}/examples/nats/e01_basic.py +0 -0
- {faststream-0.2.3 → faststream-0.2.4}/examples/nats/e02_basic_rpc.py +0 -0
- {faststream-0.2.3 → faststream-0.2.4}/examples/nats/e03_publisher.py +0 -0
- {faststream-0.2.3 → faststream-0.2.4}/examples/nats/e04_js_basic.py +0 -0
- {faststream-0.2.3 → faststream-0.2.4}/examples/nats/e05_basic_and_js.py +0 -0
- {faststream-0.2.3 → faststream-0.2.4}/examples/nats/e06_key_value.py +0 -0
- {faststream-0.2.3 → faststream-0.2.4}/examples/nats/e07_object_storage.py +0 -0
- {faststream-0.2.3 → faststream-0.2.4}/examples/nats/e08_wildcards.py +0 -0
- {faststream-0.2.3 → faststream-0.2.4}/examples/rabbit/__init__.py +0 -0
- {faststream-0.2.3 → faststream-0.2.4}/examples/rabbit/direct.py +0 -0
- {faststream-0.2.3 → faststream-0.2.4}/examples/rabbit/fanout.py +0 -0
- {faststream-0.2.3 → faststream-0.2.4}/examples/rabbit/header.py +0 -0
- {faststream-0.2.3 → faststream-0.2.4}/examples/rabbit/stream.py +0 -0
- {faststream-0.2.3 → faststream-0.2.4}/examples/rabbit/topic.py +0 -0
- {faststream-0.2.3 → faststream-0.2.4}/examples/router/__init__.py +0 -0
- {faststream-0.2.3 → faststream-0.2.4}/examples/router/basic_consume.py +0 -0
- {faststream-0.2.3 → faststream-0.2.4}/examples/router/basic_publish.py +0 -0
- {faststream-0.2.3 → faststream-0.2.4}/examples/router/delay_registration.py +0 -0
- {faststream-0.2.3 → faststream-0.2.4}/examples/serialization/__init__.py +0 -0
- {faststream-0.2.3 → faststream-0.2.4}/examples/serialization/msgpack/__init__.py +0 -0
- {faststream-0.2.3 → faststream-0.2.4}/examples/serialization/msgpack/pack.py +0 -0
- {faststream-0.2.3 → faststream-0.2.4}/examples/serialization/msgpack/requirements.txt +0 -0
- {faststream-0.2.3 → faststream-0.2.4}/examples/serialization/protobuf/__init__.py +0 -0
- {faststream-0.2.3 → faststream-0.2.4}/examples/serialization/protobuf/message.proto +0 -0
- {faststream-0.2.3 → faststream-0.2.4}/examples/serialization/protobuf/protobuf.py +0 -0
- {faststream-0.2.3 → faststream-0.2.4}/examples/serialization/protobuf/requirements.txt +0 -0
- {faststream-0.2.3 → faststream-0.2.4}/faststream/__main__.py +0 -0
- {faststream-0.2.3 → faststream-0.2.4}/faststream/annotations.py +0 -0
- {faststream-0.2.3 → faststream-0.2.4}/faststream/app.py +0 -0
- {faststream-0.2.3 → faststream-0.2.4}/faststream/asyncapi/__init__.py +0 -0
- {faststream-0.2.3 → faststream-0.2.4}/faststream/asyncapi/base.py +0 -0
- {faststream-0.2.3 → faststream-0.2.4}/faststream/asyncapi/generate.py +0 -0
- {faststream-0.2.3 → faststream-0.2.4}/faststream/asyncapi/message.py +0 -0
- {faststream-0.2.3 → faststream-0.2.4}/faststream/asyncapi/schema/__init__.py +0 -0
- {faststream-0.2.3 → faststream-0.2.4}/faststream/asyncapi/schema/bindings/__init__.py +0 -0
- {faststream-0.2.3 → faststream-0.2.4}/faststream/asyncapi/schema/bindings/amqp.py +0 -0
- {faststream-0.2.3 → faststream-0.2.4}/faststream/asyncapi/schema/bindings/kafka.py +0 -0
- {faststream-0.2.3 → faststream-0.2.4}/faststream/asyncapi/schema/bindings/main.py +0 -0
- {faststream-0.2.3 → faststream-0.2.4}/faststream/asyncapi/schema/bindings/nats.py +0 -0
- {faststream-0.2.3 → faststream-0.2.4}/faststream/asyncapi/schema/bindings/redis.py +0 -0
- {faststream-0.2.3 → faststream-0.2.4}/faststream/asyncapi/schema/bindings/sqs.py +0 -0
- {faststream-0.2.3 → faststream-0.2.4}/faststream/asyncapi/schema/channels.py +0 -0
- {faststream-0.2.3 → faststream-0.2.4}/faststream/asyncapi/schema/info.py +0 -0
- {faststream-0.2.3 → faststream-0.2.4}/faststream/asyncapi/schema/main.py +0 -0
- {faststream-0.2.3 → faststream-0.2.4}/faststream/asyncapi/schema/message.py +0 -0
- {faststream-0.2.3 → faststream-0.2.4}/faststream/asyncapi/schema/operations.py +0 -0
- {faststream-0.2.3 → faststream-0.2.4}/faststream/asyncapi/schema/security.py +0 -0
- {faststream-0.2.3 → faststream-0.2.4}/faststream/asyncapi/schema/servers.py +0 -0
- {faststream-0.2.3 → faststream-0.2.4}/faststream/asyncapi/schema/utils.py +0 -0
- {faststream-0.2.3 → faststream-0.2.4}/faststream/asyncapi/site.py +0 -0
- {faststream-0.2.3 → faststream-0.2.4}/faststream/asyncapi/utils.py +0 -0
- {faststream-0.2.3 → faststream-0.2.4}/faststream/broker/__init__.py +0 -0
- {faststream-0.2.3 → faststream-0.2.4}/faststream/broker/core/__init__.py +0 -0
- {faststream-0.2.3 → faststream-0.2.4}/faststream/broker/core/abc.py +0 -0
- {faststream-0.2.3 → faststream-0.2.4}/faststream/broker/core/asyncronous.py +0 -0
- {faststream-0.2.3 → faststream-0.2.4}/faststream/broker/core/mixins.py +0 -0
- {faststream-0.2.3 → faststream-0.2.4}/faststream/broker/fastapi/__init__.py +0 -0
- {faststream-0.2.3 → faststream-0.2.4}/faststream/broker/fastapi/router.py +0 -0
- {faststream-0.2.3 → faststream-0.2.4}/faststream/broker/handler.py +0 -0
- {faststream-0.2.3 → faststream-0.2.4}/faststream/broker/middlewares.py +0 -0
- {faststream-0.2.3 → faststream-0.2.4}/faststream/broker/parsers.py +0 -0
- {faststream-0.2.3 → faststream-0.2.4}/faststream/broker/publisher.py +0 -0
- {faststream-0.2.3 → faststream-0.2.4}/faststream/broker/push_back_watcher.py +0 -0
- {faststream-0.2.3 → faststream-0.2.4}/faststream/broker/router.py +0 -0
- {faststream-0.2.3 → faststream-0.2.4}/faststream/broker/schemas.py +0 -0
- {faststream-0.2.3 → faststream-0.2.4}/faststream/broker/security.py +0 -0
- {faststream-0.2.3 → faststream-0.2.4}/faststream/broker/types.py +0 -0
- {faststream-0.2.3 → faststream-0.2.4}/faststream/broker/utils.py +0 -0
- {faststream-0.2.3 → faststream-0.2.4}/faststream/broker/wrapper.py +0 -0
- {faststream-0.2.3 → faststream-0.2.4}/faststream/cli/__init__.py +0 -0
- {faststream-0.2.3 → faststream-0.2.4}/faststream/cli/docs/__init__.py +0 -0
- {faststream-0.2.3 → faststream-0.2.4}/faststream/cli/docs/app.py +0 -0
- {faststream-0.2.3 → faststream-0.2.4}/faststream/cli/supervisors/__init__.py +0 -0
- {faststream-0.2.3 → faststream-0.2.4}/faststream/cli/supervisors/basereload.py +0 -0
- {faststream-0.2.3 → faststream-0.2.4}/faststream/cli/supervisors/multiprocess.py +0 -0
- {faststream-0.2.3 → faststream-0.2.4}/faststream/cli/supervisors/utils.py +0 -0
- {faststream-0.2.3 → faststream-0.2.4}/faststream/cli/supervisors/watchfiles.py +0 -0
- {faststream-0.2.3 → faststream-0.2.4}/faststream/cli/utils/__init__.py +0 -0
- {faststream-0.2.3 → faststream-0.2.4}/faststream/cli/utils/imports.py +0 -0
- {faststream-0.2.3 → faststream-0.2.4}/faststream/cli/utils/logs.py +0 -0
- {faststream-0.2.3 → faststream-0.2.4}/faststream/cli/utils/parser.py +0 -0
- {faststream-0.2.3 → faststream-0.2.4}/faststream/constants.py +0 -0
- {faststream-0.2.3 → faststream-0.2.4}/faststream/exceptions.py +0 -0
- {faststream-0.2.3 → faststream-0.2.4}/faststream/kafka/annotations.py +0 -0
- {faststream-0.2.3 → faststream-0.2.4}/faststream/kafka/asyncapi.py +0 -0
- {faststream-0.2.3 → faststream-0.2.4}/faststream/kafka/broker.py +0 -0
- {faststream-0.2.3 → faststream-0.2.4}/faststream/kafka/broker.pyi +0 -0
- {faststream-0.2.3 → faststream-0.2.4}/faststream/kafka/fastapi.py +0 -0
- {faststream-0.2.3 → faststream-0.2.4}/faststream/kafka/handler.py +0 -0
- {faststream-0.2.3 → faststream-0.2.4}/faststream/kafka/message.py +0 -0
- {faststream-0.2.3 → faststream-0.2.4}/faststream/kafka/parser.py +0 -0
- {faststream-0.2.3 → faststream-0.2.4}/faststream/kafka/producer.py +0 -0
- {faststream-0.2.3 → faststream-0.2.4}/faststream/kafka/router.py +0 -0
- {faststream-0.2.3 → faststream-0.2.4}/faststream/kafka/router.pyi +0 -0
- {faststream-0.2.3 → faststream-0.2.4}/faststream/kafka/security.py +0 -0
- {faststream-0.2.3 → faststream-0.2.4}/faststream/kafka/shared/__init__.py +0 -0
- {faststream-0.2.3 → faststream-0.2.4}/faststream/kafka/shared/logging.py +0 -0
- {faststream-0.2.3 → faststream-0.2.4}/faststream/kafka/shared/publisher.py +0 -0
- {faststream-0.2.3 → faststream-0.2.4}/faststream/kafka/shared/router.py +0 -0
- {faststream-0.2.3 → faststream-0.2.4}/faststream/kafka/shared/router.pyi +0 -0
- {faststream-0.2.3 → faststream-0.2.4}/faststream/kafka/shared/schemas.py +0 -0
- {faststream-0.2.3 → faststream-0.2.4}/faststream/kafka/test.py +0 -0
- {faststream-0.2.3 → faststream-0.2.4}/faststream/log/__init__.py +0 -0
- {faststream-0.2.3 → faststream-0.2.4}/faststream/log/formatter.py +0 -0
- {faststream-0.2.3 → faststream-0.2.4}/faststream/log/logging.py +0 -0
- {faststream-0.2.3 → faststream-0.2.4}/faststream/nats/annotations.py +0 -0
- {faststream-0.2.3 → faststream-0.2.4}/faststream/nats/asyncapi.py +0 -0
- {faststream-0.2.3 → faststream-0.2.4}/faststream/nats/broker.py +0 -0
- {faststream-0.2.3 → faststream-0.2.4}/faststream/nats/broker.pyi +0 -0
- {faststream-0.2.3 → faststream-0.2.4}/faststream/nats/fastapi.py +0 -0
- {faststream-0.2.3 → faststream-0.2.4}/faststream/nats/helpers.py +0 -0
- {faststream-0.2.3 → faststream-0.2.4}/faststream/nats/js_stream.py +0 -0
- {faststream-0.2.3 → faststream-0.2.4}/faststream/nats/js_stream.pyi +0 -0
- {faststream-0.2.3 → faststream-0.2.4}/faststream/nats/message.py +0 -0
- {faststream-0.2.3 → faststream-0.2.4}/faststream/nats/producer.py +0 -0
- {faststream-0.2.3 → faststream-0.2.4}/faststream/nats/publisher.py +0 -0
- {faststream-0.2.3 → faststream-0.2.4}/faststream/nats/router.py +0 -0
- {faststream-0.2.3 → faststream-0.2.4}/faststream/nats/router.pyi +0 -0
- {faststream-0.2.3 → faststream-0.2.4}/faststream/nats/shared/__init__.py +0 -0
- {faststream-0.2.3 → faststream-0.2.4}/faststream/nats/shared/logging.py +0 -0
- {faststream-0.2.3 → faststream-0.2.4}/faststream/nats/shared/router.py +0 -0
- {faststream-0.2.3 → faststream-0.2.4}/faststream/nats/shared/router.pyi +0 -0
- {faststream-0.2.3 → faststream-0.2.4}/faststream/nats/test.py +0 -0
- {faststream-0.2.3 → faststream-0.2.4}/faststream/py.typed +0 -0
- {faststream-0.2.3 → faststream-0.2.4}/faststream/rabbit/annotations.py +0 -0
- {faststream-0.2.3 → faststream-0.2.4}/faststream/rabbit/asyncapi.py +0 -0
- {faststream-0.2.3 → faststream-0.2.4}/faststream/rabbit/broker.py +0 -0
- {faststream-0.2.3 → faststream-0.2.4}/faststream/rabbit/broker.pyi +0 -0
- {faststream-0.2.3 → faststream-0.2.4}/faststream/rabbit/fastapi.py +0 -0
- {faststream-0.2.3 → faststream-0.2.4}/faststream/rabbit/handler.py +0 -0
- {faststream-0.2.3 → faststream-0.2.4}/faststream/rabbit/message.py +0 -0
- {faststream-0.2.3 → faststream-0.2.4}/faststream/rabbit/publisher.py +0 -0
- {faststream-0.2.3 → faststream-0.2.4}/faststream/rabbit/publisher.pyi +0 -0
- {faststream-0.2.3 → faststream-0.2.4}/faststream/rabbit/router.py +0 -0
- {faststream-0.2.3 → faststream-0.2.4}/faststream/rabbit/router.pyi +0 -0
- {faststream-0.2.3 → faststream-0.2.4}/faststream/rabbit/security.py +0 -0
- {faststream-0.2.3 → faststream-0.2.4}/faststream/rabbit/shared/__init__.py +0 -0
- {faststream-0.2.3 → faststream-0.2.4}/faststream/rabbit/shared/constants.py +0 -0
- {faststream-0.2.3 → faststream-0.2.4}/faststream/rabbit/shared/logging.py +0 -0
- {faststream-0.2.3 → faststream-0.2.4}/faststream/rabbit/shared/publisher.py +0 -0
- {faststream-0.2.3 → faststream-0.2.4}/faststream/rabbit/shared/router.py +0 -0
- {faststream-0.2.3 → faststream-0.2.4}/faststream/rabbit/shared/router.pyi +0 -0
- {faststream-0.2.3 → faststream-0.2.4}/faststream/rabbit/shared/types.py +0 -0
- {faststream-0.2.3 → faststream-0.2.4}/faststream/rabbit/test.py +0 -0
- {faststream-0.2.3 → faststream-0.2.4}/faststream/rabbit/types.py +0 -0
- {faststream-0.2.3 → faststream-0.2.4}/faststream/types.py +0 -0
- {faststream-0.2.3 → faststream-0.2.4}/faststream/utils/classes.py +0 -0
- {faststream-0.2.3 → faststream-0.2.4}/faststream/utils/context/main.py +0 -0
- {faststream-0.2.3 → faststream-0.2.4}/faststream/utils/data.py +0 -0
- {faststream-0.2.3 → faststream-0.2.4}/faststream/utils/functions.py +0 -0
- {faststream-0.2.3 → faststream-0.2.4}/faststream/utils/no_cast.py +0 -0
- {faststream-0.2.3 → faststream-0.2.4}/scripts/build-docs-pre-commit.sh +0 -0
- {faststream-0.2.3 → faststream-0.2.4}/scripts/build-docs.sh +0 -0
- {faststream-0.2.3 → faststream-0.2.4}/scripts/lint-pre-commit.sh +0 -0
- {faststream-0.2.3 → faststream-0.2.4}/scripts/publish.sh +0 -0
- {faststream-0.2.3 → faststream-0.2.4}/scripts/serve-docs.sh +0 -0
- {faststream-0.2.3 → faststream-0.2.4}/scripts/set_variables.sh +0 -0
- {faststream-0.2.3 → faststream-0.2.4}/scripts/start_test_env.sh +0 -0
- {faststream-0.2.3 → faststream-0.2.4}/scripts/static-analysis.sh +0 -0
- {faststream-0.2.3 → faststream-0.2.4}/scripts/static-pre-commit.sh +0 -0
- {faststream-0.2.3 → faststream-0.2.4}/scripts/stop_test_env.sh +0 -0
- {faststream-0.2.3 → faststream-0.2.4}/scripts/test-cov.sh +0 -0
- {faststream-0.2.3 → faststream-0.2.4}/scripts/test.sh +0 -0
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
name: Deploy Docs
|
|
2
|
+
on:
|
|
3
|
+
push:
|
|
4
|
+
branches:
|
|
5
|
+
- main
|
|
6
|
+
paths:
|
|
7
|
+
- docs/**
|
|
8
|
+
- .github/workflows/deploy-docs.yaml
|
|
9
|
+
|
|
10
|
+
permissions:
|
|
11
|
+
contents: write
|
|
12
|
+
jobs:
|
|
13
|
+
deploy_docs:
|
|
14
|
+
runs-on: ubuntu-latest
|
|
15
|
+
steps:
|
|
16
|
+
- uses: actions/checkout@v4
|
|
17
|
+
with:
|
|
18
|
+
fetch-depth: 0
|
|
19
|
+
- uses: actions/setup-python@v4
|
|
20
|
+
with:
|
|
21
|
+
python-version: 3.x
|
|
22
|
+
- uses: actions/cache@v3
|
|
23
|
+
with:
|
|
24
|
+
key: ${{ github.ref }}
|
|
25
|
+
path: .cache
|
|
26
|
+
- run: pip install -e ".[dev]"
|
|
27
|
+
- run: ./scripts/build-docs.sh
|
|
28
|
+
- run: echo "VERSION=$(python3 -c 'from importlib.metadata import version; print(".".join(version("faststream").split(".")[:2]))')" >> $GITHUB_ENV
|
|
29
|
+
- name: Configure Git user
|
|
30
|
+
run: |
|
|
31
|
+
git config --local user.email "github-actions[bot]@users.noreply.github.com"
|
|
32
|
+
git config --local user.name "github-actions[bot]"
|
|
33
|
+
- run: echo $VERSION
|
|
34
|
+
# - run: cd docs && mike delete --all
|
|
35
|
+
- run: cd docs && mike deploy --template templates/redirect.html --update-aliases $VERSION latest
|
|
36
|
+
- run: cd docs && mike set-default --push --template templates/redirect.html latest
|
|
@@ -44,35 +44,6 @@ jobs:
|
|
|
44
44
|
pydantic-version: ["pydantic-v1", "pydantic-v2"]
|
|
45
45
|
fail-fast: false
|
|
46
46
|
|
|
47
|
-
services:
|
|
48
|
-
kafka:
|
|
49
|
-
image: bitnami/kafka:3.5.0
|
|
50
|
-
ports:
|
|
51
|
-
- 9092:9092
|
|
52
|
-
env:
|
|
53
|
-
KAFKA_ENABLE_KRAFT: "true"
|
|
54
|
-
KAFKA_CFG_NODE_ID: "1"
|
|
55
|
-
KAFKA_CFG_PROCESS_ROLES: "broker,controller"
|
|
56
|
-
KAFKA_CFG_CONTROLLER_LISTENER_NAMES: "CONTROLLER"
|
|
57
|
-
KAFKA_CFG_LISTENERS: "PLAINTEXT://:9092,CONTROLLER://:9093"
|
|
58
|
-
KAFKA_CFG_LISTENER_SECURITY_PROTOCOL_MAP: "CONTROLLER:PLAINTEXT,PLAINTEXT:PLAINTEXT"
|
|
59
|
-
KAFKA_CFG_ADVERTISED_LISTENERS: "PLAINTEXT://127.0.0.1:9092"
|
|
60
|
-
KAFKA_BROKER_ID: "1"
|
|
61
|
-
KAFKA_CFG_CONTROLLER_QUORUM_VOTERS: "1@kafka:9093"
|
|
62
|
-
ALLOW_PLAINTEXT_LISTENER: "true"
|
|
63
|
-
|
|
64
|
-
rabbitmq:
|
|
65
|
-
image: rabbitmq:alpine
|
|
66
|
-
ports:
|
|
67
|
-
- 5672:5672
|
|
68
|
-
|
|
69
|
-
# using own container with already included JetStream
|
|
70
|
-
# https://github.com/nats-io/nats-docker/issues/110
|
|
71
|
-
nats:
|
|
72
|
-
image: diementros/nats:js
|
|
73
|
-
ports:
|
|
74
|
-
- 4222:4222
|
|
75
|
-
|
|
76
47
|
steps:
|
|
77
48
|
- uses: actions/checkout@v4
|
|
78
49
|
- name: Set up Python
|
|
@@ -97,7 +68,7 @@ jobs:
|
|
|
97
68
|
run: pip install --pre "pydantic>=2.0.0b2,<3.0.0"
|
|
98
69
|
- run: mkdir coverage
|
|
99
70
|
- name: Test
|
|
100
|
-
run: bash scripts/test.sh -m "
|
|
71
|
+
run: bash scripts/test.sh -m "(slow and (not nats and not kafka and not rabbit)) or (not nats and not kafka and not rabbit)"
|
|
101
72
|
env:
|
|
102
73
|
COVERAGE_FILE: coverage/.coverage.${{ runner.os }}-py${{ matrix.python-version }}
|
|
103
74
|
CONTEXT: ${{ runner.os }}-py${{ matrix.python-version }}
|
|
@@ -122,7 +93,7 @@ jobs:
|
|
|
122
93
|
if: steps.cache.outputs.cache-hit != 'true'
|
|
123
94
|
run: pip install .[rabbit,kafka,nats,docs,testing]
|
|
124
95
|
- name: Test
|
|
125
|
-
run: bash scripts/test.sh -m "not kafka and not rabbit and not
|
|
96
|
+
run: bash scripts/test.sh -m "(slow and (not nats and not kafka and not rabbit)) or (not nats and not kafka and not rabbit)"
|
|
126
97
|
|
|
127
98
|
test-windows-latest:
|
|
128
99
|
if: github.event.pull_request.draft == false
|
|
@@ -139,9 +110,9 @@ jobs:
|
|
|
139
110
|
if: steps.cache.outputs.cache-hit != 'true'
|
|
140
111
|
run: pip install .[rabbit,kafka,nats,docs,testing]
|
|
141
112
|
- name: Test
|
|
142
|
-
run: bash scripts/test.sh -
|
|
113
|
+
run: bash scripts/test.sh -m "(slow and (not nats and not kafka and not rabbit)) or (not nats and not kafka and not rabbit)"
|
|
143
114
|
|
|
144
|
-
test-kafka-
|
|
115
|
+
test-kafka-real:
|
|
145
116
|
if: github.event.pull_request.draft == false
|
|
146
117
|
runs-on: ubuntu-latest
|
|
147
118
|
services:
|
|
@@ -160,6 +131,32 @@ jobs:
|
|
|
160
131
|
KAFKA_BROKER_ID: "1"
|
|
161
132
|
KAFKA_CFG_CONTROLLER_QUORUM_VOTERS: "1@kafka:9093"
|
|
162
133
|
ALLOW_PLAINTEXT_LISTENER: "true"
|
|
134
|
+
steps:
|
|
135
|
+
- uses: actions/checkout@v4
|
|
136
|
+
- name: Set up Python
|
|
137
|
+
uses: actions/setup-python@v4
|
|
138
|
+
with:
|
|
139
|
+
python-version: "3.11"
|
|
140
|
+
cache: "pip"
|
|
141
|
+
cache-dependency-path: pyproject.toml
|
|
142
|
+
- name: Install Dependencies
|
|
143
|
+
if: steps.cache.outputs.cache-hit != 'true'
|
|
144
|
+
run: pip install .[nats,kafka,rabbit,docs,testing]
|
|
145
|
+
- run: mkdir coverage
|
|
146
|
+
- name: Test
|
|
147
|
+
run: bash scripts/test.sh -m "(slow and kafka) or kafka"
|
|
148
|
+
env:
|
|
149
|
+
COVERAGE_FILE: coverage/.coverage.kafka-py
|
|
150
|
+
CONTEXT: kafka-py
|
|
151
|
+
- name: Store coverage files
|
|
152
|
+
uses: actions/upload-artifact@v3
|
|
153
|
+
with:
|
|
154
|
+
name: coverage
|
|
155
|
+
path: coverage
|
|
156
|
+
|
|
157
|
+
test-kafka-smoke:
|
|
158
|
+
if: github.event.pull_request.draft == false
|
|
159
|
+
runs-on: ubuntu-latest
|
|
163
160
|
steps:
|
|
164
161
|
- uses: actions/checkout@v4
|
|
165
162
|
- name: Set up Python
|
|
@@ -172,9 +169,9 @@ jobs:
|
|
|
172
169
|
if: steps.cache.outputs.cache-hit != 'true'
|
|
173
170
|
run: pip install .[kafka,test-core]
|
|
174
171
|
- name: Test
|
|
175
|
-
run: bash scripts/test.sh tests/brokers/kafka/
|
|
172
|
+
run: bash scripts/test.sh -m "not kafka" tests/brokers/kafka/test_test_client.py
|
|
176
173
|
|
|
177
|
-
test-rabbit-
|
|
174
|
+
test-rabbit-real:
|
|
178
175
|
if: github.event.pull_request.draft == false
|
|
179
176
|
runs-on: ubuntu-latest
|
|
180
177
|
services:
|
|
@@ -182,6 +179,32 @@ jobs:
|
|
|
182
179
|
image: rabbitmq:alpine
|
|
183
180
|
ports:
|
|
184
181
|
- 5672:5672
|
|
182
|
+
steps:
|
|
183
|
+
- uses: actions/checkout@v4
|
|
184
|
+
- name: Set up Python
|
|
185
|
+
uses: actions/setup-python@v4
|
|
186
|
+
with:
|
|
187
|
+
python-version: "3.11"
|
|
188
|
+
cache: "pip"
|
|
189
|
+
cache-dependency-path: pyproject.toml
|
|
190
|
+
- name: Install Dependencies
|
|
191
|
+
if: steps.cache.outputs.cache-hit != 'true'
|
|
192
|
+
run: pip install .[nats,kafka,rabbit,docs,testing]
|
|
193
|
+
- run: mkdir coverage
|
|
194
|
+
- name: Test
|
|
195
|
+
run: bash scripts/test.sh -m "(slow and rabbit) or rabbit"
|
|
196
|
+
env:
|
|
197
|
+
COVERAGE_FILE: coverage/.coverage.rabbit-py
|
|
198
|
+
CONTEXT: rabbit-py
|
|
199
|
+
- name: Store coverage files
|
|
200
|
+
uses: actions/upload-artifact@v3
|
|
201
|
+
with:
|
|
202
|
+
name: coverage
|
|
203
|
+
path: coverage
|
|
204
|
+
|
|
205
|
+
test-rabbit-smoke:
|
|
206
|
+
if: github.event.pull_request.draft == false
|
|
207
|
+
runs-on: ubuntu-latest
|
|
185
208
|
steps:
|
|
186
209
|
- uses: actions/checkout@v4
|
|
187
210
|
- name: Set up Python
|
|
@@ -194,9 +217,9 @@ jobs:
|
|
|
194
217
|
if: steps.cache.outputs.cache-hit != 'true'
|
|
195
218
|
run: pip install .[rabbit,test-core]
|
|
196
219
|
- name: Test
|
|
197
|
-
run: bash scripts/test.sh tests/brokers/rabbit/
|
|
220
|
+
run: bash scripts/test.sh -m "not rabbit" tests/brokers/rabbit/test_test_client.py
|
|
198
221
|
|
|
199
|
-
test-nats-
|
|
222
|
+
test-nats-real:
|
|
200
223
|
if: github.event.pull_request.draft == false
|
|
201
224
|
runs-on: ubuntu-latest
|
|
202
225
|
services:
|
|
@@ -205,7 +228,33 @@ jobs:
|
|
|
205
228
|
ports:
|
|
206
229
|
- 4222:4222
|
|
207
230
|
steps:
|
|
208
|
-
- uses: actions/checkout@
|
|
231
|
+
- uses: actions/checkout@v4
|
|
232
|
+
- name: Set up Python
|
|
233
|
+
uses: actions/setup-python@v4
|
|
234
|
+
with:
|
|
235
|
+
python-version: "3.11"
|
|
236
|
+
cache: "pip"
|
|
237
|
+
cache-dependency-path: pyproject.toml
|
|
238
|
+
- name: Install Dependencies
|
|
239
|
+
if: steps.cache.outputs.cache-hit != 'true'
|
|
240
|
+
run: pip install .[nats,kafka,rabbit,docs,testing]
|
|
241
|
+
- run: mkdir coverage
|
|
242
|
+
- name: Test
|
|
243
|
+
run: bash scripts/test.sh -m "(slow and nats) or nats"
|
|
244
|
+
env:
|
|
245
|
+
COVERAGE_FILE: coverage/.coverage.nats-py
|
|
246
|
+
CONTEXT: nats-py
|
|
247
|
+
- name: Store coverage files
|
|
248
|
+
uses: actions/upload-artifact@v3
|
|
249
|
+
with:
|
|
250
|
+
name: coverage
|
|
251
|
+
path: coverage
|
|
252
|
+
|
|
253
|
+
test-nats-smoke:
|
|
254
|
+
if: github.event.pull_request.draft == false
|
|
255
|
+
runs-on: ubuntu-latest
|
|
256
|
+
steps:
|
|
257
|
+
- uses: actions/checkout@v4
|
|
209
258
|
- name: Set up Python
|
|
210
259
|
uses: actions/setup-python@v4
|
|
211
260
|
with:
|
|
@@ -216,11 +265,15 @@ jobs:
|
|
|
216
265
|
if: steps.cache.outputs.cache-hit != 'true'
|
|
217
266
|
run: pip install .[nats,test-core]
|
|
218
267
|
- name: Test
|
|
219
|
-
run: bash scripts/test.sh tests/brokers/nats/
|
|
268
|
+
run: bash scripts/test.sh -m "not nats" tests/brokers/nats/test_test_client.py
|
|
220
269
|
|
|
221
270
|
coverage-combine:
|
|
222
271
|
if: github.event.pull_request.draft == false
|
|
223
|
-
needs:
|
|
272
|
+
needs:
|
|
273
|
+
- test
|
|
274
|
+
- test-kafka-real
|
|
275
|
+
- test-rabbit-real
|
|
276
|
+
- test-nats-real
|
|
224
277
|
runs-on: ubuntu-latest
|
|
225
278
|
|
|
226
279
|
steps:
|
|
@@ -256,10 +309,13 @@ jobs:
|
|
|
256
309
|
if: github.event.pull_request.draft == false
|
|
257
310
|
|
|
258
311
|
needs:
|
|
259
|
-
- coverage-combine
|
|
260
312
|
- static_analysis
|
|
313
|
+
- coverage-combine
|
|
261
314
|
- test-macos-latest
|
|
262
315
|
- test-windows-latest
|
|
316
|
+
- test-kafka-real
|
|
317
|
+
- test-rabbit-real
|
|
318
|
+
- test-nats-real
|
|
263
319
|
- test-kafka-smoke
|
|
264
320
|
- test-rabbit-smoke
|
|
265
321
|
- test-nats-smoke
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: faststream
|
|
3
|
-
Version: 0.2.
|
|
3
|
+
Version: 0.2.4
|
|
4
4
|
Summary: FastStream: the simplest way to work with a messaging queues
|
|
5
5
|
Project-URL: Homepage, https://faststream.airt.ai/
|
|
6
6
|
Project-URL: Documentation, https://faststream.airt.ai/latest/getting-started/
|
|
@@ -67,8 +67,8 @@ Requires-Dist: isort>=5; extra == 'lint'
|
|
|
67
67
|
Requires-Dist: mypy==1.5.1; extra == 'lint'
|
|
68
68
|
Requires-Dist: pre-commit==3.4.0; extra == 'lint'
|
|
69
69
|
Requires-Dist: pyupgrade-directories; extra == 'lint'
|
|
70
|
-
Requires-Dist: ruff==0.0.
|
|
71
|
-
Requires-Dist: semgrep==1.
|
|
70
|
+
Requires-Dist: ruff==0.0.292; extra == 'lint'
|
|
71
|
+
Requires-Dist: semgrep==1.43.0; extra == 'lint'
|
|
72
72
|
Requires-Dist: types-pyyaml; extra == 'lint'
|
|
73
73
|
Requires-Dist: types-setuptools; extra == 'lint'
|
|
74
74
|
Requires-Dist: types-ujson; extra == 'lint'
|
|
@@ -2,7 +2,7 @@ from faststream.annotations import ContextRepo, Logger, NoCast
|
|
|
2
2
|
from faststream.app import FastStream
|
|
3
3
|
from faststream.broker.middlewares import BaseMiddleware
|
|
4
4
|
from faststream.broker.test import TestApp
|
|
5
|
-
from faststream.utils import Context, Depends, apply_types, context
|
|
5
|
+
from faststream.utils import Context, Depends, Header, Path, apply_types, context
|
|
6
6
|
|
|
7
7
|
__all__ = (
|
|
8
8
|
# app
|
|
@@ -12,6 +12,8 @@ __all__ = (
|
|
|
12
12
|
"apply_types",
|
|
13
13
|
"context",
|
|
14
14
|
"Context",
|
|
15
|
+
"Header",
|
|
16
|
+
"Path",
|
|
15
17
|
"Depends",
|
|
16
18
|
# annotations
|
|
17
19
|
"Logger",
|
|
@@ -2,6 +2,7 @@ import importlib.util
|
|
|
2
2
|
import json
|
|
3
3
|
import os
|
|
4
4
|
import sys
|
|
5
|
+
from contextlib import suppress
|
|
5
6
|
from typing import Any, Callable, Dict, List, Mapping, Optional, Type, TypeVar, Union
|
|
6
7
|
|
|
7
8
|
from fast_depends._compat import PYDANTIC_V2 as PYDANTIC_V2
|
|
@@ -54,28 +55,34 @@ IS_OPTIMIZED = os.getenv("PYTHONOPTIMIZE", False)
|
|
|
54
55
|
|
|
55
56
|
|
|
56
57
|
if is_installed("fastapi"):
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
58
|
+
# NOTE: is_installed somewhen True for some reason
|
|
59
|
+
with suppress(ImportError):
|
|
60
|
+
from fastapi import __version__ as FASTAPI_VERSION
|
|
61
|
+
|
|
62
|
+
major, minor, _ = map(int, FASTAPI_VERSION.split("."))
|
|
63
|
+
FASTAPI_V2 = not (major < 0 and minor < 100)
|
|
64
|
+
|
|
65
|
+
if FASTAPI_V2:
|
|
66
|
+
from fastapi._compat import _normalize_errors
|
|
67
|
+
from fastapi.exceptions import RequestValidationError
|
|
68
|
+
|
|
69
|
+
def raise_fastapi_validation_error(
|
|
70
|
+
errors: List[Any], body: AnyDict
|
|
71
|
+
) -> Never:
|
|
72
|
+
raise RequestValidationError(_normalize_errors(errors), body=body)
|
|
73
|
+
|
|
74
|
+
else:
|
|
75
|
+
from pydantic import ( # type: ignore[assignment] # isort: skip
|
|
76
|
+
ValidationError as RequestValidationError,
|
|
77
|
+
)
|
|
78
|
+
from pydantic import create_model
|
|
79
|
+
|
|
80
|
+
ROUTER_VALIDATION_ERROR_MODEL = create_model("StreamRoute")
|
|
81
|
+
|
|
82
|
+
def raise_fastapi_validation_error(
|
|
83
|
+
errors: List[Any], body: AnyDict
|
|
84
|
+
) -> Never:
|
|
85
|
+
raise RequestValidationError(errors, ROUTER_VALIDATION_ERROR_MODEL) # type: ignore[misc]
|
|
79
86
|
|
|
80
87
|
|
|
81
88
|
JsonSchemaValue = Mapping[str, Any]
|
|
@@ -154,6 +154,7 @@ class StreamMessage(Request):
|
|
|
154
154
|
self,
|
|
155
155
|
body: Optional[AnyDict] = None,
|
|
156
156
|
headers: Optional[AnyDict] = None,
|
|
157
|
+
path: Optional[AnyDict] = None,
|
|
157
158
|
):
|
|
158
159
|
"""Initialize a class instance.
|
|
159
160
|
|
|
@@ -175,7 +176,7 @@ class StreamMessage(Request):
|
|
|
175
176
|
self._cookies = {}
|
|
176
177
|
self._headers = headers or {}
|
|
177
178
|
self._body = body or {}
|
|
178
|
-
self._query_params = self._body
|
|
179
|
+
self._query_params = {**self._body, **(path or {})}
|
|
179
180
|
|
|
180
181
|
@classmethod
|
|
181
182
|
def get_session(
|
|
@@ -237,7 +238,7 @@ class StreamMessage(Request):
|
|
|
237
238
|
else:
|
|
238
239
|
fastapi_body = body
|
|
239
240
|
|
|
240
|
-
session = cls(fastapi_body, message.headers)
|
|
241
|
+
session = cls(fastapi_body, message.headers, message.path)
|
|
241
242
|
else:
|
|
242
243
|
session = cls()
|
|
243
244
|
return await func(session)
|
|
@@ -31,10 +31,11 @@ class ABCStreamMessage(Generic[Msg]):
|
|
|
31
31
|
|
|
32
32
|
body: Union[bytes, Any]
|
|
33
33
|
decoded_body: Optional[DecodedMessage] = None
|
|
34
|
+
headers: AnyDict = field(default_factory=dict)
|
|
35
|
+
path: AnyDict = field(default_factory=dict)
|
|
34
36
|
|
|
35
37
|
content_type: Optional[str] = None
|
|
36
38
|
reply_to: str = ""
|
|
37
|
-
headers: AnyDict = field(default_factory=dict)
|
|
38
39
|
message_id: str = field(default_factory=lambda: str(uuid4())) # pragma: no cover
|
|
39
40
|
correlation_id: str = field(
|
|
40
41
|
default_factory=lambda: str(uuid4())
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
from abc import abstractmethod
|
|
2
|
-
from contextlib import asynccontextmanager
|
|
2
|
+
from contextlib import ExitStack, asynccontextmanager
|
|
3
3
|
from functools import partial
|
|
4
4
|
from types import MethodType, TracebackType
|
|
5
5
|
from typing import Any, AsyncGenerator, Dict, Generic, Optional, Type, TypeVar
|
|
6
6
|
from unittest.mock import AsyncMock, MagicMock
|
|
7
7
|
|
|
8
8
|
import anyio
|
|
9
|
-
from anyio.
|
|
9
|
+
from anyio.from_thread import start_blocking_portal
|
|
10
10
|
|
|
11
11
|
from faststream.app import FastStream
|
|
12
12
|
from faststream.broker.core.abc import BrokerUsecase
|
|
@@ -39,10 +39,9 @@ class TestApp:
|
|
|
39
39
|
The above docstring is autogenerated by docstring-gen library (https://docstring-gen.airt.ai)
|
|
40
40
|
"""
|
|
41
41
|
__test__ = False
|
|
42
|
+
|
|
42
43
|
app: FastStream
|
|
43
44
|
_extra_options: Optional[Dict[str, SettingField]]
|
|
44
|
-
_event: anyio.Event
|
|
45
|
-
_task: TaskGroup
|
|
46
45
|
|
|
47
46
|
def __init__(
|
|
48
47
|
self,
|
|
@@ -64,8 +63,32 @@ class TestApp:
|
|
|
64
63
|
self.app = app
|
|
65
64
|
self._extra_options = run_extra_options
|
|
66
65
|
|
|
66
|
+
def __enter__(self) -> FastStream:
|
|
67
|
+
with ExitStack() as stack:
|
|
68
|
+
portal = stack.enter_context(start_blocking_portal())
|
|
69
|
+
portal.call(self.app._init_async_cycle)
|
|
70
|
+
portal.call(partial(self.app._start, run_extra_options=self._extra_options))
|
|
71
|
+
|
|
72
|
+
@stack.callback
|
|
73
|
+
def wait_shutdown() -> None:
|
|
74
|
+
portal.call(self.app._stop)
|
|
75
|
+
|
|
76
|
+
self.exit_stack = stack.pop_all()
|
|
77
|
+
|
|
78
|
+
return self.app
|
|
79
|
+
|
|
80
|
+
def __exit__(
|
|
81
|
+
self,
|
|
82
|
+
exc_type: Optional[Type[BaseException]] = None,
|
|
83
|
+
exc_val: Optional[BaseException] = None,
|
|
84
|
+
exec_tb: Optional[TracebackType] = None,
|
|
85
|
+
) -> None:
|
|
86
|
+
assert self.app._stop_event # nosec B101
|
|
87
|
+
self.app._stop_event.set()
|
|
88
|
+
self.exit_stack.close()
|
|
89
|
+
|
|
67
90
|
async def __aenter__(self) -> FastStream:
|
|
68
|
-
self.app.
|
|
91
|
+
self.app._init_async_cycle()
|
|
69
92
|
await self.app._start(run_extra_options=self._extra_options)
|
|
70
93
|
self._task = tg = anyio.create_task_group()
|
|
71
94
|
await tg.__aenter__()
|
|
@@ -91,7 +114,8 @@ class TestApp:
|
|
|
91
114
|
|
|
92
115
|
The above docstring is autogenerated by docstring-gen library (https://docstring-gen.airt.ai)
|
|
93
116
|
"""
|
|
94
|
-
self.
|
|
117
|
+
assert self.app._stop_event # nosec B101
|
|
118
|
+
self.app._stop_event.set()
|
|
95
119
|
await self._task.__aexit__(None, None, None)
|
|
96
120
|
|
|
97
121
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
from faststream.broker.test import TestApp
|
|
2
|
+
from faststream.kafka.annotations import KafkaMessage
|
|
2
3
|
from faststream.kafka.broker import KafkaBroker
|
|
3
|
-
from faststream.kafka.message import KafkaMessage
|
|
4
4
|
from faststream.kafka.router import KafkaRouter
|
|
5
5
|
from faststream.kafka.shared.router import KafkaRoute
|
|
6
6
|
from faststream.kafka.test import TestKafkaBroker
|
|
@@ -128,6 +128,7 @@ class KafkaRouter(StreamRouter[ConsumerRecord]):
|
|
|
128
128
|
description: Optional[str] = None,
|
|
129
129
|
asyncapi_tags: Optional[Sequence[asyncapi.Tag]] = None,
|
|
130
130
|
schema_url: Optional[str] = "/asyncapi",
|
|
131
|
+
setup_state: bool = True,
|
|
131
132
|
# logging args
|
|
132
133
|
logger: Optional[logging.Logger] = access_logger,
|
|
133
134
|
log_level: int = logging.INFO,
|
|
@@ -87,7 +87,7 @@ class LogicPublisher(ABCPublisher[ConsumerRecord]):
|
|
|
87
87
|
if not messages:
|
|
88
88
|
if not isinstance(message, Sequence):
|
|
89
89
|
raise ValueError(
|
|
90
|
-
f"Message: {
|
|
90
|
+
f"Message: {message} should be Sequence type to send in batch"
|
|
91
91
|
)
|
|
92
92
|
else:
|
|
93
93
|
to_send = message
|
|
@@ -14,9 +14,9 @@ from nats.js.api import (
|
|
|
14
14
|
)
|
|
15
15
|
|
|
16
16
|
from faststream.broker.test import TestApp
|
|
17
|
+
from faststream.nats.annotations import NatsMessage
|
|
17
18
|
from faststream.nats.broker import NatsBroker
|
|
18
19
|
from faststream.nats.js_stream import JStream
|
|
19
|
-
from faststream.nats.message import NatsMessage
|
|
20
20
|
from faststream.nats.router import NatsRouter
|
|
21
21
|
from faststream.nats.shared.router import NatsRoute
|
|
22
22
|
from faststream.nats.test import TestNatsBroker
|
|
@@ -122,6 +122,7 @@ class NatsRouter(StreamRouter[Msg]):
|
|
|
122
122
|
description: Optional[str] = None,
|
|
123
123
|
asyncapi_tags: Optional[Sequence[asyncapi.Tag]] = None,
|
|
124
124
|
schema_url: Optional[str] = "/asyncapi",
|
|
125
|
+
setup_state: bool = True,
|
|
125
126
|
# FastAPI kwargs
|
|
126
127
|
prefix: str = "",
|
|
127
128
|
tags: Optional[List[Union[str, Enum]]] = None,
|
|
@@ -23,6 +23,7 @@ from faststream.nats.js_stream import JStream
|
|
|
23
23
|
from faststream.nats.message import NatsMessage
|
|
24
24
|
from faststream.nats.parser import JsParser, Parser
|
|
25
25
|
from faststream.types import AnyDict
|
|
26
|
+
from faststream.utils.context.path import compile_path
|
|
26
27
|
|
|
27
28
|
|
|
28
29
|
class LogicNatsHandler(AsyncHandler[Msg]):
|
|
@@ -39,7 +40,10 @@ class LogicNatsHandler(AsyncHandler[Msg]):
|
|
|
39
40
|
description: Optional[str] = None,
|
|
40
41
|
title: Optional[str] = None,
|
|
41
42
|
):
|
|
42
|
-
|
|
43
|
+
reg, path = compile_path(subject, replace_symbol="*")
|
|
44
|
+
self.subject = path
|
|
45
|
+
self.path_regex = reg
|
|
46
|
+
|
|
43
47
|
self.queue = queue
|
|
44
48
|
|
|
45
49
|
self.stream = stream
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
from typing import Optional, Pattern
|
|
1
2
|
from uuid import uuid4
|
|
2
3
|
|
|
3
4
|
from nats.aio.msg import Msg
|
|
@@ -5,7 +6,8 @@ from nats.aio.msg import Msg
|
|
|
5
6
|
from faststream.broker.message import StreamMessage
|
|
6
7
|
from faststream.broker.parsers import decode_message
|
|
7
8
|
from faststream.nats.message import NatsMessage
|
|
8
|
-
from faststream.types import DecodedMessage
|
|
9
|
+
from faststream.types import AnyDict, DecodedMessage
|
|
10
|
+
from faststream.utils.context.main import context
|
|
9
11
|
|
|
10
12
|
|
|
11
13
|
class NatsParser:
|
|
@@ -17,10 +19,21 @@ class NatsParser:
|
|
|
17
19
|
message: Msg,
|
|
18
20
|
) -> StreamMessage[Msg]:
|
|
19
21
|
headers = message.header or {}
|
|
22
|
+
|
|
23
|
+
handler = context.get("handler_")
|
|
24
|
+
path: AnyDict = {}
|
|
25
|
+
path_re: Optional[Pattern[str]]
|
|
26
|
+
if handler and (path_re := handler.path_regex):
|
|
27
|
+
if path_re is not None:
|
|
28
|
+
match = path_re.match(message.subject)
|
|
29
|
+
if match:
|
|
30
|
+
path = match.groupdict()
|
|
31
|
+
|
|
20
32
|
return NatsMessage(
|
|
21
33
|
is_js=self.is_js,
|
|
22
34
|
raw_message=message,
|
|
23
35
|
body=message.data,
|
|
36
|
+
path=path,
|
|
24
37
|
reply_to=headers.get("reply_to", "") if self.is_js else message.reply,
|
|
25
38
|
headers=headers,
|
|
26
39
|
content_type=headers.get("content-type", ""),
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
from faststream.broker.test import TestApp
|
|
2
|
+
from faststream.rabbit.annotations import RabbitMessage
|
|
2
3
|
from faststream.rabbit.broker import RabbitBroker
|
|
3
|
-
from faststream.rabbit.message import RabbitMessage
|
|
4
4
|
from faststream.rabbit.router import RabbitRouter
|
|
5
5
|
from faststream.rabbit.shared.constants import ExchangeType
|
|
6
6
|
from faststream.rabbit.shared.router import RabbitRoute
|
|
@@ -80,6 +80,7 @@ class RabbitRouter(StreamRouter[IncomingMessage]):
|
|
|
80
80
|
description: Optional[str] = None,
|
|
81
81
|
asyncapi_tags: Optional[Sequence[asyncapi.Tag]] = None,
|
|
82
82
|
schema_url: Optional[str] = "/asyncapi",
|
|
83
|
+
setup_state: bool = True,
|
|
83
84
|
# FastAPI kwargs
|
|
84
85
|
prefix: str = "",
|
|
85
86
|
tags: Optional[List[Union[str, Enum]]] = None,
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
from typing import Any, Optional
|
|
1
|
+
from typing import Any, Optional, Pattern
|
|
2
2
|
from uuid import uuid4
|
|
3
3
|
|
|
4
4
|
import aio_pika
|
|
@@ -8,7 +8,8 @@ from faststream.broker.message import StreamMessage
|
|
|
8
8
|
from faststream.broker.parsers import decode_message, encode_message
|
|
9
9
|
from faststream.rabbit.message import RabbitMessage
|
|
10
10
|
from faststream.rabbit.types import AioPikaSendableMessage
|
|
11
|
-
from faststream.types import DecodedMessage
|
|
11
|
+
from faststream.types import AnyDict, DecodedMessage
|
|
12
|
+
from faststream.utils.context.main import context
|
|
12
13
|
|
|
13
14
|
|
|
14
15
|
class AioPikaParser:
|
|
@@ -43,6 +44,15 @@ class AioPikaParser:
|
|
|
43
44
|
|
|
44
45
|
The above docstring is autogenerated by docstring-gen library (https://docstring-gen.airt.ai)
|
|
45
46
|
"""
|
|
47
|
+
handler = context.get("handler_")
|
|
48
|
+
path: AnyDict = {}
|
|
49
|
+
path_re: Optional[Pattern[str]]
|
|
50
|
+
if handler and (path_re := handler.queue.path_regex):
|
|
51
|
+
if path_re is not None:
|
|
52
|
+
match = path_re.match(message.routing_key or "")
|
|
53
|
+
if match:
|
|
54
|
+
path = match.groupdict()
|
|
55
|
+
|
|
46
56
|
return RabbitMessage(
|
|
47
57
|
body=message.body,
|
|
48
58
|
headers=message.headers,
|
|
@@ -50,6 +60,7 @@ class AioPikaParser:
|
|
|
50
60
|
content_type=message.content_type,
|
|
51
61
|
message_id=message.message_id or str(uuid4()),
|
|
52
62
|
correlation_id=message.correlation_id or str(uuid4()),
|
|
63
|
+
path=path,
|
|
53
64
|
raw_message=message,
|
|
54
65
|
)
|
|
55
66
|
|