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.
Files changed (628) hide show
  1. faststream-0.2.4/.github/workflows/deploy-docs.yaml +36 -0
  2. {faststream-0.2.3 → faststream-0.2.4}/.github/workflows/test.yaml +97 -41
  3. {faststream-0.2.3 → faststream-0.2.4}/.gitignore +1 -0
  4. {faststream-0.2.3 → faststream-0.2.4}/PKG-INFO +3 -3
  5. {faststream-0.2.3 → faststream-0.2.4}/faststream/__about__.py +2 -1
  6. {faststream-0.2.3 → faststream-0.2.4}/faststream/__init__.py +3 -1
  7. {faststream-0.2.3 → faststream-0.2.4}/faststream/_compat.py +29 -22
  8. {faststream-0.2.3 → faststream-0.2.4}/faststream/broker/fastapi/route.py +3 -2
  9. {faststream-0.2.3 → faststream-0.2.4}/faststream/broker/message.py +2 -1
  10. {faststream-0.2.3 → faststream-0.2.4}/faststream/broker/test.py +30 -6
  11. {faststream-0.2.3 → faststream-0.2.4}/faststream/cli/main.py +1 -1
  12. {faststream-0.2.3 → faststream-0.2.4}/faststream/kafka/__init__.py +1 -1
  13. {faststream-0.2.3 → faststream-0.2.4}/faststream/kafka/fastapi.pyi +1 -0
  14. {faststream-0.2.3 → faststream-0.2.4}/faststream/kafka/publisher.py +1 -1
  15. {faststream-0.2.3 → faststream-0.2.4}/faststream/nats/__init__.py +1 -1
  16. {faststream-0.2.3 → faststream-0.2.4}/faststream/nats/fastapi.pyi +1 -0
  17. {faststream-0.2.3 → faststream-0.2.4}/faststream/nats/handler.py +5 -1
  18. {faststream-0.2.3 → faststream-0.2.4}/faststream/nats/parser.py +14 -1
  19. {faststream-0.2.3 → faststream-0.2.4}/faststream/rabbit/__init__.py +1 -1
  20. {faststream-0.2.3 → faststream-0.2.4}/faststream/rabbit/fastapi.pyi +1 -0
  21. {faststream-0.2.3 → faststream-0.2.4}/faststream/rabbit/helpers.py +1 -0
  22. {faststream-0.2.3 → faststream-0.2.4}/faststream/rabbit/parser.py +13 -2
  23. {faststream-0.2.3 → faststream-0.2.4}/faststream/rabbit/producer.py +1 -0
  24. {faststream-0.2.3 → faststream-0.2.4}/faststream/rabbit/shared/schemas.py +13 -1
  25. {faststream-0.2.3 → faststream-0.2.4}/faststream/utils/__init__.py +3 -1
  26. {faststream-0.2.3 → faststream-0.2.4}/faststream/utils/context/__init__.py +3 -1
  27. faststream-0.2.4/faststream/utils/context/builders.py +45 -0
  28. faststream-0.2.4/faststream/utils/context/path.py +45 -0
  29. {faststream-0.2.3 → faststream-0.2.4}/faststream/utils/context/types.py +9 -4
  30. {faststream-0.2.3 → faststream-0.2.4}/pyproject.toml +4 -2
  31. faststream-0.2.4/scripts/lint.sh +10 -0
  32. faststream-0.2.3/.faststream_gen/api/faststream/app/ABCApp.md +0 -3
  33. faststream-0.2.3/.faststream_gen/api/faststream/app/FastStream.md +0 -3
  34. faststream-0.2.3/.faststream_gen/api/faststream/asyncapi/base/AsyncAPIOperation.md +0 -3
  35. faststream-0.2.3/.faststream_gen/api/faststream/asyncapi/generate/get_app_broker_channels.md +0 -3
  36. faststream-0.2.3/.faststream_gen/api/faststream/asyncapi/generate/get_app_broker_server.md +0 -3
  37. faststream-0.2.3/.faststream_gen/api/faststream/asyncapi/generate/get_app_schema.md +0 -3
  38. faststream-0.2.3/.faststream_gen/api/faststream/asyncapi/message/get_model_schema.md +0 -3
  39. faststream-0.2.3/.faststream_gen/api/faststream/asyncapi/message/get_response_schema.md +0 -3
  40. faststream-0.2.3/.faststream_gen/api/faststream/asyncapi/message/parse_handler_params.md +0 -3
  41. faststream-0.2.3/.faststream_gen/api/faststream/asyncapi/schema/bindings/amqp/ChannelBinding.md +0 -3
  42. faststream-0.2.3/.faststream_gen/api/faststream/asyncapi/schema/bindings/amqp/Exchange.md +0 -3
  43. faststream-0.2.3/.faststream_gen/api/faststream/asyncapi/schema/bindings/amqp/OperationBinding.md +0 -3
  44. faststream-0.2.3/.faststream_gen/api/faststream/asyncapi/schema/bindings/amqp/Queue.md +0 -3
  45. faststream-0.2.3/.faststream_gen/api/faststream/asyncapi/schema/bindings/amqp/ServerBinding.md +0 -3
  46. faststream-0.2.3/.faststream_gen/api/faststream/asyncapi/schema/bindings/kafka/ChannelBinding.md +0 -3
  47. faststream-0.2.3/.faststream_gen/api/faststream/asyncapi/schema/bindings/kafka/OperationBinding.md +0 -3
  48. faststream-0.2.3/.faststream_gen/api/faststream/asyncapi/schema/bindings/kafka/ServerBinding.md +0 -3
  49. faststream-0.2.3/.faststream_gen/api/faststream/asyncapi/schema/bindings/main/ChannelBinding.md +0 -3
  50. faststream-0.2.3/.faststream_gen/api/faststream/asyncapi/schema/bindings/main/OperationBinding.md +0 -3
  51. faststream-0.2.3/.faststream_gen/api/faststream/asyncapi/schema/bindings/main/ServerBinding.md +0 -3
  52. faststream-0.2.3/.faststream_gen/api/faststream/asyncapi/schema/bindings/nats/ChannelBinding.md +0 -3
  53. faststream-0.2.3/.faststream_gen/api/faststream/asyncapi/schema/bindings/nats/OperationBinding.md +0 -3
  54. faststream-0.2.3/.faststream_gen/api/faststream/asyncapi/schema/bindings/nats/ServerBinding.md +0 -3
  55. faststream-0.2.3/.faststream_gen/api/faststream/asyncapi/schema/bindings/redis/ChannelBinding.md +0 -3
  56. faststream-0.2.3/.faststream_gen/api/faststream/asyncapi/schema/bindings/redis/OperationBinding.md +0 -3
  57. faststream-0.2.3/.faststream_gen/api/faststream/asyncapi/schema/bindings/redis/ServerBinding.md +0 -3
  58. faststream-0.2.3/.faststream_gen/api/faststream/asyncapi/schema/bindings/sqs/ChannelBinding.md +0 -3
  59. faststream-0.2.3/.faststream_gen/api/faststream/asyncapi/schema/bindings/sqs/OperationBinding.md +0 -3
  60. faststream-0.2.3/.faststream_gen/api/faststream/asyncapi/schema/bindings/sqs/ServerBinding.md +0 -3
  61. faststream-0.2.3/.faststream_gen/api/faststream/asyncapi/schema/channels/Channel.md +0 -3
  62. faststream-0.2.3/.faststream_gen/api/faststream/asyncapi/schema/info/Contact.md +0 -3
  63. faststream-0.2.3/.faststream_gen/api/faststream/asyncapi/schema/info/ContactDict.md +0 -3
  64. faststream-0.2.3/.faststream_gen/api/faststream/asyncapi/schema/info/EmailStr.md +0 -3
  65. faststream-0.2.3/.faststream_gen/api/faststream/asyncapi/schema/info/Info.md +0 -3
  66. faststream-0.2.3/.faststream_gen/api/faststream/asyncapi/schema/info/License.md +0 -3
  67. faststream-0.2.3/.faststream_gen/api/faststream/asyncapi/schema/info/LicenseDict.md +0 -3
  68. faststream-0.2.3/.faststream_gen/api/faststream/asyncapi/schema/main/Components.md +0 -3
  69. faststream-0.2.3/.faststream_gen/api/faststream/asyncapi/schema/main/Schema.md +0 -3
  70. faststream-0.2.3/.faststream_gen/api/faststream/asyncapi/schema/message/CorrelationId.md +0 -3
  71. faststream-0.2.3/.faststream_gen/api/faststream/asyncapi/schema/message/Message.md +0 -3
  72. faststream-0.2.3/.faststream_gen/api/faststream/asyncapi/schema/operations/Operation.md +0 -3
  73. faststream-0.2.3/.faststream_gen/api/faststream/asyncapi/schema/security/OauthFlowObj.md +0 -3
  74. faststream-0.2.3/.faststream_gen/api/faststream/asyncapi/schema/security/OauthFlows.md +0 -3
  75. faststream-0.2.3/.faststream_gen/api/faststream/asyncapi/schema/security/SecuritySchemaComponent.md +0 -3
  76. faststream-0.2.3/.faststream_gen/api/faststream/asyncapi/schema/servers/Server.md +0 -3
  77. faststream-0.2.3/.faststream_gen/api/faststream/asyncapi/schema/servers/ServerVariable.md +0 -3
  78. faststream-0.2.3/.faststream_gen/api/faststream/asyncapi/schema/utils/ExternalDocs.md +0 -3
  79. faststream-0.2.3/.faststream_gen/api/faststream/asyncapi/schema/utils/ExternalDocsDict.md +0 -3
  80. faststream-0.2.3/.faststream_gen/api/faststream/asyncapi/schema/utils/Parameter.md +0 -3
  81. faststream-0.2.3/.faststream_gen/api/faststream/asyncapi/schema/utils/Reference.md +0 -3
  82. faststream-0.2.3/.faststream_gen/api/faststream/asyncapi/schema/utils/Tag.md +0 -3
  83. faststream-0.2.3/.faststream_gen/api/faststream/asyncapi/schema/utils/TagDict.md +0 -3
  84. faststream-0.2.3/.faststream_gen/api/faststream/asyncapi/utils/resolve_payloads.md +0 -3
  85. faststream-0.2.3/.faststream_gen/api/faststream/asyncapi/utils/to_camelcase.md +0 -3
  86. faststream-0.2.3/.faststream_gen/api/faststream/broker/core/abc/BrokerUsecase.md +0 -3
  87. faststream-0.2.3/.faststream_gen/api/faststream/broker/core/abc/extend_dependencies.md +0 -3
  88. faststream-0.2.3/.faststream_gen/api/faststream/broker/core/asyncronous/BrokerAsyncUsecase.md +0 -3
  89. faststream-0.2.3/.faststream_gen/api/faststream/broker/core/asyncronous/default_filter.md +0 -3
  90. faststream-0.2.3/.faststream_gen/api/faststream/broker/core/mixins/LoggingMixin.md +0 -3
  91. faststream-0.2.3/.faststream_gen/api/faststream/broker/fastapi/route/StreamMessage.md +0 -3
  92. faststream-0.2.3/.faststream_gen/api/faststream/broker/fastapi/route/StreamRoute.md +0 -3
  93. faststream-0.2.3/.faststream_gen/api/faststream/broker/fastapi/route/get_app.md +0 -3
  94. faststream-0.2.3/.faststream_gen/api/faststream/broker/fastapi/router/StreamRouter.md +0 -3
  95. faststream-0.2.3/.faststream_gen/api/faststream/broker/handler/AsyncHandler.md +0 -3
  96. faststream-0.2.3/.faststream_gen/api/faststream/broker/handler/BaseHandler.md +0 -3
  97. faststream-0.2.3/.faststream_gen/api/faststream/broker/message/ABCStreamMessage.md +0 -3
  98. faststream-0.2.3/.faststream_gen/api/faststream/broker/message/StreamMessage.md +0 -3
  99. faststream-0.2.3/.faststream_gen/api/faststream/broker/message/SyncStreamMessage.md +0 -3
  100. faststream-0.2.3/.faststream_gen/api/faststream/broker/middlewares/BaseMiddleware.md +0 -3
  101. faststream-0.2.3/.faststream_gen/api/faststream/broker/middlewares/CriticalLogMiddleware.md +0 -3
  102. faststream-0.2.3/.faststream_gen/api/faststream/broker/parsers/decode_message.md +0 -3
  103. faststream-0.2.3/.faststream_gen/api/faststream/broker/parsers/encode_message.md +0 -3
  104. faststream-0.2.3/.faststream_gen/api/faststream/broker/parsers/resolve_custom_func.md +0 -3
  105. faststream-0.2.3/.faststream_gen/api/faststream/broker/publisher/BasePublisher.md +0 -3
  106. faststream-0.2.3/.faststream_gen/api/faststream/broker/push_back_watcher/BaseWatcher.md +0 -3
  107. faststream-0.2.3/.faststream_gen/api/faststream/broker/push_back_watcher/CounterWatcher.md +0 -3
  108. faststream-0.2.3/.faststream_gen/api/faststream/broker/push_back_watcher/EndlessWatcher.md +0 -3
  109. faststream-0.2.3/.faststream_gen/api/faststream/broker/push_back_watcher/OneTryWatcher.md +0 -3
  110. faststream-0.2.3/.faststream_gen/api/faststream/broker/push_back_watcher/WatcherContext.md +0 -3
  111. faststream-0.2.3/.faststream_gen/api/faststream/broker/router/BrokerRoute.md +0 -3
  112. faststream-0.2.3/.faststream_gen/api/faststream/broker/router/BrokerRouter.md +0 -3
  113. faststream-0.2.3/.faststream_gen/api/faststream/broker/schemas/NameRequired.md +0 -3
  114. faststream-0.2.3/.faststream_gen/api/faststream/broker/schemas/RawDecoced.md +0 -3
  115. faststream-0.2.3/.faststream_gen/api/faststream/broker/security/BaseSecurity.md +0 -3
  116. faststream-0.2.3/.faststream_gen/api/faststream/broker/security/SASLPlaintext.md +0 -3
  117. faststream-0.2.3/.faststream_gen/api/faststream/broker/security/SASLScram256.md +0 -3
  118. faststream-0.2.3/.faststream_gen/api/faststream/broker/security/SASLScram512.md +0 -3
  119. faststream-0.2.3/.faststream_gen/api/faststream/broker/test/TestApp.md +0 -3
  120. faststream-0.2.3/.faststream_gen/api/faststream/broker/test/TestBroker.md +0 -3
  121. faststream-0.2.3/.faststream_gen/api/faststream/broker/test/call_handler.md +0 -3
  122. faststream-0.2.3/.faststream_gen/api/faststream/broker/test/patch_broker_calls.md +0 -3
  123. faststream-0.2.3/.faststream_gen/api/faststream/broker/types/AsyncPublisherProtocol.md +0 -3
  124. faststream-0.2.3/.faststream_gen/api/faststream/broker/utils/change_logger_handlers.md +0 -3
  125. faststream-0.2.3/.faststream_gen/api/faststream/broker/utils/get_watcher.md +0 -3
  126. faststream-0.2.3/.faststream_gen/api/faststream/broker/utils/set_message_context.md +0 -3
  127. faststream-0.2.3/.faststream_gen/api/faststream/broker/wrapper/FakePublisher.md +0 -3
  128. faststream-0.2.3/.faststream_gen/api/faststream/broker/wrapper/HandlerCallWrapper.md +0 -3
  129. faststream-0.2.3/.faststream_gen/api/faststream/cli/docs/app/gen.md +0 -3
  130. faststream-0.2.3/.faststream_gen/api/faststream/cli/docs/app/serve.md +0 -3
  131. faststream-0.2.3/.faststream_gen/api/faststream/cli/main/main.md +0 -3
  132. faststream-0.2.3/.faststream_gen/api/faststream/cli/main/run.md +0 -3
  133. faststream-0.2.3/.faststream_gen/api/faststream/cli/main/version_callback.md +0 -3
  134. faststream-0.2.3/.faststream_gen/api/faststream/cli/supervisors/basereload/BaseReload.md +0 -3
  135. faststream-0.2.3/.faststream_gen/api/faststream/cli/supervisors/multiprocess/Multiprocess.md +0 -3
  136. faststream-0.2.3/.faststream_gen/api/faststream/cli/supervisors/utils/get_subprocess.md +0 -3
  137. faststream-0.2.3/.faststream_gen/api/faststream/cli/supervisors/utils/set_exit.md +0 -3
  138. faststream-0.2.3/.faststream_gen/api/faststream/cli/supervisors/utils/subprocess_started.md +0 -3
  139. faststream-0.2.3/.faststream_gen/api/faststream/cli/supervisors/watchfiles/ExtendedFilter.md +0 -3
  140. faststream-0.2.3/.faststream_gen/api/faststream/cli/supervisors/watchfiles/WatchReloader.md +0 -3
  141. faststream-0.2.3/.faststream_gen/api/faststream/cli/utils/imports/get_app_path.md +0 -3
  142. faststream-0.2.3/.faststream_gen/api/faststream/cli/utils/imports/import_object.md +0 -3
  143. faststream-0.2.3/.faststream_gen/api/faststream/cli/utils/imports/try_import_app.md +0 -3
  144. faststream-0.2.3/.faststream_gen/api/faststream/cli/utils/logs/LogLevels.md +0 -3
  145. faststream-0.2.3/.faststream_gen/api/faststream/cli/utils/logs/get_log_level.md +0 -3
  146. faststream-0.2.3/.faststream_gen/api/faststream/cli/utils/logs/set_log_level.md +0 -3
  147. faststream-0.2.3/.faststream_gen/api/faststream/cli/utils/parser/parse_cli_args.md +0 -3
  148. faststream-0.2.3/.faststream_gen/api/faststream/cli/utils/parser/remove_prefix.md +0 -3
  149. faststream-0.2.3/.faststream_gen/api/faststream/constants/ContentTypes.md +0 -3
  150. faststream-0.2.3/.faststream_gen/api/faststream/exceptions/AckMessage.md +0 -3
  151. faststream-0.2.3/.faststream_gen/api/faststream/exceptions/HandlerException.md +0 -3
  152. faststream-0.2.3/.faststream_gen/api/faststream/exceptions/NackMessage.md +0 -3
  153. faststream-0.2.3/.faststream_gen/api/faststream/exceptions/RejectMessage.md +0 -3
  154. faststream-0.2.3/.faststream_gen/api/faststream/exceptions/SkipMessage.md +0 -3
  155. faststream-0.2.3/.faststream_gen/api/faststream/exceptions/StopConsume.md +0 -3
  156. faststream-0.2.3/.faststream_gen/api/faststream/kafka/asyncapi/Handler.md +0 -3
  157. faststream-0.2.3/.faststream_gen/api/faststream/kafka/asyncapi/Publisher.md +0 -3
  158. faststream-0.2.3/.faststream_gen/api/faststream/kafka/broker/KafkaBroker.md +0 -3
  159. faststream-0.2.3/.faststream_gen/api/faststream/kafka/fastapi/KafkaRouter.md +0 -3
  160. faststream-0.2.3/.faststream_gen/api/faststream/kafka/handler/LogicHandler.md +0 -3
  161. faststream-0.2.3/.faststream_gen/api/faststream/kafka/message/KafkaMessage.md +0 -3
  162. faststream-0.2.3/.faststream_gen/api/faststream/kafka/parser/AioKafkaParser.md +0 -3
  163. faststream-0.2.3/.faststream_gen/api/faststream/kafka/producer/AioKafkaFastProducer.md +0 -3
  164. faststream-0.2.3/.faststream_gen/api/faststream/kafka/publisher/LogicPublisher.md +0 -3
  165. faststream-0.2.3/.faststream_gen/api/faststream/kafka/router/KafkaRouter.md +0 -3
  166. faststream-0.2.3/.faststream_gen/api/faststream/kafka/security/parse_security.md +0 -3
  167. faststream-0.2.3/.faststream_gen/api/faststream/kafka/shared/logging/KafkaLoggingMixin.md +0 -3
  168. faststream-0.2.3/.faststream_gen/api/faststream/kafka/shared/publisher/ABCPublisher.md +0 -3
  169. faststream-0.2.3/.faststream_gen/api/faststream/kafka/shared/router/KafkaRouter.md +0 -3
  170. faststream-0.2.3/.faststream_gen/api/faststream/kafka/shared/schemas/ConsumerConnectionParams.md +0 -3
  171. faststream-0.2.3/.faststream_gen/api/faststream/kafka/test/FakeProducer.md +0 -3
  172. faststream-0.2.3/.faststream_gen/api/faststream/kafka/test/TestKafkaBroker.md +0 -3
  173. faststream-0.2.3/.faststream_gen/api/faststream/kafka/test/build_message.md +0 -3
  174. faststream-0.2.3/.faststream_gen/api/faststream/log/formatter/ColourizedFormatter.md +0 -3
  175. faststream-0.2.3/.faststream_gen/api/faststream/log/formatter/expand_log_field.md +0 -3
  176. faststream-0.2.3/.faststream_gen/api/faststream/log/formatter/make_record_with_extra.md +0 -3
  177. faststream-0.2.3/.faststream_gen/api/faststream/log/logging/configure_formatter.md +0 -3
  178. faststream-0.2.3/.faststream_gen/api/faststream/nats/asyncapi/Handler.md +0 -3
  179. faststream-0.2.3/.faststream_gen/api/faststream/nats/asyncapi/Publisher.md +0 -3
  180. faststream-0.2.3/.faststream_gen/api/faststream/nats/broker/NatsBroker.md +0 -3
  181. faststream-0.2.3/.faststream_gen/api/faststream/nats/fastapi/NatsRouter.md +0 -3
  182. faststream-0.2.3/.faststream_gen/api/faststream/nats/handler/LogicNatsHandler.md +0 -3
  183. faststream-0.2.3/.faststream_gen/api/faststream/nats/helpers/StreamBuilder.md +0 -3
  184. faststream-0.2.3/.faststream_gen/api/faststream/nats/js_stream/JStream.md +0 -3
  185. faststream-0.2.3/.faststream_gen/api/faststream/nats/message/NatsMessage.md +0 -3
  186. faststream-0.2.3/.faststream_gen/api/faststream/nats/parser/NatsParser.md +0 -3
  187. faststream-0.2.3/.faststream_gen/api/faststream/nats/producer/NatsFastProducer.md +0 -3
  188. faststream-0.2.3/.faststream_gen/api/faststream/nats/producer/NatsJSFastProducer.md +0 -3
  189. faststream-0.2.3/.faststream_gen/api/faststream/nats/publisher/LogicPublisher.md +0 -3
  190. faststream-0.2.3/.faststream_gen/api/faststream/nats/router/NatsRouter.md +0 -3
  191. faststream-0.2.3/.faststream_gen/api/faststream/nats/shared/logging/NatsLoggingMixin.md +0 -3
  192. faststream-0.2.3/.faststream_gen/api/faststream/nats/shared/router/NatsRouter.md +0 -3
  193. faststream-0.2.3/.faststream_gen/api/faststream/nats/test/FakeProducer.md +0 -3
  194. faststream-0.2.3/.faststream_gen/api/faststream/nats/test/PatchedMessage.md +0 -3
  195. faststream-0.2.3/.faststream_gen/api/faststream/nats/test/TestNatsBroker.md +0 -3
  196. faststream-0.2.3/.faststream_gen/api/faststream/nats/test/build_message.md +0 -3
  197. faststream-0.2.3/.faststream_gen/api/faststream/rabbit/asyncapi/Handler.md +0 -3
  198. faststream-0.2.3/.faststream_gen/api/faststream/rabbit/asyncapi/Publisher.md +0 -3
  199. faststream-0.2.3/.faststream_gen/api/faststream/rabbit/asyncapi/RMQAsyncAPIChannel.md +0 -3
  200. faststream-0.2.3/.faststream_gen/api/faststream/rabbit/broker/RabbitBroker.md +0 -3
  201. faststream-0.2.3/.faststream_gen/api/faststream/rabbit/fastapi/RabbitRouter.md +0 -3
  202. faststream-0.2.3/.faststream_gen/api/faststream/rabbit/handler/LogicHandler.md +0 -3
  203. faststream-0.2.3/.faststream_gen/api/faststream/rabbit/helpers/RabbitDeclarer.md +0 -3
  204. faststream-0.2.3/.faststream_gen/api/faststream/rabbit/message/RabbitMessage.md +0 -3
  205. faststream-0.2.3/.faststream_gen/api/faststream/rabbit/parser/AioPikaParser.md +0 -3
  206. faststream-0.2.3/.faststream_gen/api/faststream/rabbit/producer/AioPikaFastProducer.md +0 -3
  207. faststream-0.2.3/.faststream_gen/api/faststream/rabbit/publisher/LogicPublisher.md +0 -3
  208. faststream-0.2.3/.faststream_gen/api/faststream/rabbit/router/RabbitRouter.md +0 -3
  209. faststream-0.2.3/.faststream_gen/api/faststream/rabbit/security/parse_security.md +0 -3
  210. faststream-0.2.3/.faststream_gen/api/faststream/rabbit/shared/constants/ExchangeType.md +0 -3
  211. faststream-0.2.3/.faststream_gen/api/faststream/rabbit/shared/logging/RabbitLoggingMixin.md +0 -3
  212. faststream-0.2.3/.faststream_gen/api/faststream/rabbit/shared/publisher/ABCPublisher.md +0 -3
  213. faststream-0.2.3/.faststream_gen/api/faststream/rabbit/shared/router/RabbitRouter.md +0 -3
  214. faststream-0.2.3/.faststream_gen/api/faststream/rabbit/shared/schemas/BaseRMQInformation.md +0 -3
  215. faststream-0.2.3/.faststream_gen/api/faststream/rabbit/shared/schemas/RabbitExchange.md +0 -3
  216. faststream-0.2.3/.faststream_gen/api/faststream/rabbit/shared/schemas/RabbitQueue.md +0 -3
  217. faststream-0.2.3/.faststream_gen/api/faststream/rabbit/shared/schemas/get_routing_hash.md +0 -3
  218. faststream-0.2.3/.faststream_gen/api/faststream/rabbit/test/FakeProducer.md +0 -3
  219. faststream-0.2.3/.faststream_gen/api/faststream/rabbit/test/PatchedMessage.md +0 -3
  220. faststream-0.2.3/.faststream_gen/api/faststream/rabbit/test/TestRabbitBroker.md +0 -3
  221. faststream-0.2.3/.faststream_gen/api/faststream/rabbit/test/build_message.md +0 -3
  222. faststream-0.2.3/.faststream_gen/api/faststream/utils/classes/Singleton.md +0 -3
  223. faststream-0.2.3/.faststream_gen/api/faststream/utils/context/main/ContextRepo.md +0 -3
  224. faststream-0.2.3/.faststream_gen/api/faststream/utils/context/types/Context.md +0 -3
  225. faststream-0.2.3/.faststream_gen/api/faststream/utils/context/types/resolve_context.md +0 -3
  226. faststream-0.2.3/.faststream_gen/api/faststream/utils/data/filter_by_dict.md +0 -3
  227. faststream-0.2.3/.faststream_gen/api/faststream/utils/functions/get_function_positional_arguments.md +0 -3
  228. faststream-0.2.3/.faststream_gen/api/faststream/utils/functions/timeout_scope.md +0 -3
  229. faststream-0.2.3/.faststream_gen/api/faststream/utils/functions/to_async.md +0 -3
  230. faststream-0.2.3/.faststream_gen/api/faststream/utils/no_cast/NoCast.md +0 -3
  231. faststream-0.2.3/.faststream_gen/getting-started/asyncapi/custom.md +0 -188
  232. faststream-0.2.3/.faststream_gen/getting-started/asyncapi/export.md +0 -56
  233. faststream-0.2.3/.faststream_gen/getting-started/asyncapi/hosting.md +0 -38
  234. faststream-0.2.3/.faststream_gen/getting-started/cli/index.md +0 -128
  235. faststream-0.2.3/.faststream_gen/getting-started/config/index.md +0 -167
  236. faststream-0.2.3/.faststream_gen/getting-started/context/custom.md +0 -83
  237. faststream-0.2.3/.faststream_gen/getting-started/context/existed.md +0 -82
  238. faststream-0.2.3/.faststream_gen/getting-started/context/extra.md +0 -60
  239. faststream-0.2.3/.faststream_gen/getting-started/context/fields.md +0 -11
  240. faststream-0.2.3/.faststream_gen/getting-started/context/index.md +0 -66
  241. faststream-0.2.3/.faststream_gen/getting-started/contributing/CONTRIBUTING.md +0 -143
  242. faststream-0.2.3/.faststream_gen/getting-started/contributing/docs.md +0 -44
  243. faststream-0.2.3/.faststream_gen/getting-started/dependencies/class.md +0 -0
  244. faststream-0.2.3/.faststream_gen/getting-started/dependencies/global.md +0 -3
  245. faststream-0.2.3/.faststream_gen/getting-started/dependencies/index.md +0 -163
  246. faststream-0.2.3/.faststream_gen/getting-started/dependencies/sub.md +0 -0
  247. faststream-0.2.3/.faststream_gen/getting-started/dependencies/testing.md +0 -3
  248. faststream-0.2.3/.faststream_gen/getting-started/dependencies/yield.md +0 -0
  249. faststream-0.2.3/.faststream_gen/getting-started/index.md +0 -39
  250. faststream-0.2.3/.faststream_gen/getting-started/integrations/fastapi/index.md +0 -73
  251. faststream-0.2.3/.faststream_gen/getting-started/integrations/frameworks/index.md +0 -16
  252. faststream-0.2.3/.faststream_gen/getting-started/lifespan/hooks.md +0 -119
  253. faststream-0.2.3/.faststream_gen/getting-started/lifespan/index.md +0 -11
  254. faststream-0.2.3/.faststream_gen/getting-started/lifespan/test.md +0 -12
  255. faststream-0.2.3/.faststream_gen/getting-started/logging.md +0 -208
  256. faststream-0.2.3/.faststream_gen/getting-started/middlewares/index.md +0 -85
  257. faststream-0.2.3/.faststream_gen/getting-started/publishing/broker.md +0 -20
  258. faststream-0.2.3/.faststream_gen/getting-started/publishing/decorator.md +0 -34
  259. faststream-0.2.3/.faststream_gen/getting-started/publishing/direct.md +0 -27
  260. faststream-0.2.3/.faststream_gen/getting-started/publishing/index.md +0 -35
  261. faststream-0.2.3/.faststream_gen/getting-started/publishing/object.md +0 -34
  262. faststream-0.2.3/.faststream_gen/getting-started/publishing/test.md +0 -62
  263. faststream-0.2.3/.faststream_gen/getting-started/routers/index.md +0 -51
  264. faststream-0.2.3/.faststream_gen/getting-started/serialization/decoder.md +0 -84
  265. faststream-0.2.3/.faststream_gen/getting-started/serialization/examples.md +0 -123
  266. faststream-0.2.3/.faststream_gen/getting-started/serialization/index.md +0 -20
  267. faststream-0.2.3/.faststream_gen/getting-started/serialization/parser.md +0 -106
  268. faststream-0.2.3/.faststream_gen/getting-started/subscription/annotation.md +0 -61
  269. faststream-0.2.3/.faststream_gen/getting-started/subscription/filtering.md +0 -60
  270. faststream-0.2.3/.faststream_gen/getting-started/subscription/index.md +0 -138
  271. faststream-0.2.3/.faststream_gen/getting-started/subscription/pydantic.md +0 -43
  272. faststream-0.2.3/.faststream_gen/getting-started/subscription/test.md +0 -152
  273. faststream-0.2.3/.faststream_gen/getting-started/template/index.md +0 -207
  274. faststream-0.2.3/.faststream_gen/index.md +0 -352
  275. faststream-0.2.3/.faststream_gen/kafka/Publisher/batch_publisher.md +0 -96
  276. faststream-0.2.3/.faststream_gen/kafka/Publisher/index.md +0 -126
  277. faststream-0.2.3/.faststream_gen/kafka/Publisher/using_a_key.md +0 -61
  278. faststream-0.2.3/.faststream_gen/kafka/Subscriber/batch_subscriber.md +0 -58
  279. faststream-0.2.3/.faststream_gen/kafka/Subscriber/index.md +0 -78
  280. faststream-0.2.3/.faststream_gen/kafka/ack.md +0 -88
  281. faststream-0.2.3/.faststream_gen/kafka/index.md +0 -61
  282. faststream-0.2.3/.faststream_gen/kafka/message.md +0 -53
  283. faststream-0.2.3/.faststream_gen/nats/examples/direct.md +0 -96
  284. faststream-0.2.3/.faststream_gen/nats/examples/pattern.md +0 -87
  285. faststream-0.2.3/.faststream_gen/nats/index.md +0 -35
  286. faststream-0.2.3/.faststream_gen/nats/jetstream/ack.md +0 -78
  287. faststream-0.2.3/.faststream_gen/nats/jetstream/index.md +0 -53
  288. faststream-0.2.3/.faststream_gen/nats/jetstream/key-value.md +0 -107
  289. faststream-0.2.3/.faststream_gen/nats/jetstream/object.md +0 -111
  290. faststream-0.2.3/.faststream_gen/nats/message.md +0 -104
  291. faststream-0.2.3/.faststream_gen/nats/publishing/index.md +0 -40
  292. faststream-0.2.3/.faststream_gen/nats/rpc.md +0 -45
  293. faststream-0.2.3/.faststream_gen/rabbit/ack.md +0 -90
  294. faststream-0.2.3/.faststream_gen/rabbit/declare.md +0 -40
  295. faststream-0.2.3/.faststream_gen/rabbit/examples/direct.md +0 -129
  296. faststream-0.2.3/.faststream_gen/rabbit/examples/fanout.md +0 -93
  297. faststream-0.2.3/.faststream_gen/rabbit/examples/headers.md +0 -181
  298. faststream-0.2.3/.faststream_gen/rabbit/examples/index.md +0 -36
  299. faststream-0.2.3/.faststream_gen/rabbit/examples/stream.md +0 -36
  300. faststream-0.2.3/.faststream_gen/rabbit/examples/topic.md +0 -113
  301. faststream-0.2.3/.faststream_gen/rabbit/index.md +0 -69
  302. faststream-0.2.3/.faststream_gen/rabbit/message.md +0 -104
  303. faststream-0.2.3/.faststream_gen/rabbit/publishing.md +0 -83
  304. faststream-0.2.3/.faststream_gen/rabbit/rpc.md +0 -42
  305. faststream-0.2.3/.faststream_gen/release.md +0 -36
  306. faststream-0.2.3/.github/workflows/deploy-docs.yaml +0 -33
  307. faststream-0.2.3/faststream_gen_examples/__init__.py +0 -0
  308. faststream-0.2.3/faststream_gen_examples/example_add_and_publish_with_key/__init__.py +0 -0
  309. faststream-0.2.3/faststream_gen_examples/example_add_and_publish_with_key/app.py +0 -55
  310. faststream-0.2.3/faststream_gen_examples/example_add_and_publish_with_key/app_skeleton.py +0 -58
  311. faststream-0.2.3/faststream_gen_examples/example_add_and_publish_with_key/description.txt +0 -12
  312. faststream-0.2.3/faststream_gen_examples/example_add_and_publish_with_key/test_app.py +0 -33
  313. faststream-0.2.3/faststream_gen_examples/example_add_and_publish_with_key2/__init__.py +0 -0
  314. faststream-0.2.3/faststream_gen_examples/example_add_and_publish_with_key2/app.py +0 -54
  315. faststream-0.2.3/faststream_gen_examples/example_add_and_publish_with_key2/app_skeleton.py +0 -54
  316. faststream-0.2.3/faststream_gen_examples/example_add_and_publish_with_key2/description.txt +0 -11
  317. faststream-0.2.3/faststream_gen_examples/example_add_and_publish_with_key2/test_app.py +0 -21
  318. faststream-0.2.3/faststream_gen_examples/example_calculate_mean_temperature/__init__.py +0 -0
  319. faststream-0.2.3/faststream_gen_examples/example_calculate_mean_temperature/app.py +0 -53
  320. faststream-0.2.3/faststream_gen_examples/example_calculate_mean_temperature/app_skeleton.py +0 -57
  321. faststream-0.2.3/faststream_gen_examples/example_calculate_mean_temperature/description.txt +0 -11
  322. faststream-0.2.3/faststream_gen_examples/example_calculate_mean_temperature/test_app.py +0 -47
  323. faststream-0.2.3/faststream_gen_examples/example_consume_publish_with_key/__init__.py +0 -0
  324. faststream-0.2.3/faststream_gen_examples/example_consume_publish_with_key/app.py +0 -36
  325. faststream-0.2.3/faststream_gen_examples/example_consume_publish_with_key/app_skeleton.py +0 -45
  326. faststream-0.2.3/faststream_gen_examples/example_consume_publish_with_key/description.txt +0 -10
  327. faststream-0.2.3/faststream_gen_examples/example_consume_publish_with_key/test_app.py +0 -30
  328. faststream-0.2.3/faststream_gen_examples/example_course_updates/__init__.py +0 -0
  329. faststream-0.2.3/faststream_gen_examples/example_course_updates/app.py +0 -38
  330. faststream-0.2.3/faststream_gen_examples/example_course_updates/app_skeleton.py +0 -40
  331. faststream-0.2.3/faststream_gen_examples/example_course_updates/description.txt +0 -4
  332. faststream-0.2.3/faststream_gen_examples/example_course_updates/test_app.py +0 -64
  333. faststream-0.2.3/faststream_gen_examples/example_execute_trade/__init__.py +0 -0
  334. faststream-0.2.3/faststream_gen_examples/example_execute_trade/app.py +0 -33
  335. faststream-0.2.3/faststream_gen_examples/example_execute_trade/app_skeleton.py +0 -32
  336. faststream-0.2.3/faststream_gen_examples/example_execute_trade/description.txt +0 -3
  337. faststream-0.2.3/faststream_gen_examples/example_execute_trade/test_app.py +0 -36
  338. faststream-0.2.3/faststream_gen_examples/example_forward_to_another_topic/__init__.py +0 -0
  339. faststream-0.2.3/faststream_gen_examples/example_forward_to_another_topic/app.py +0 -24
  340. faststream-0.2.3/faststream_gen_examples/example_forward_to_another_topic/app_skeleton.py +0 -31
  341. faststream-0.2.3/faststream_gen_examples/example_forward_to_another_topic/description.txt +0 -2
  342. faststream-0.2.3/faststream_gen_examples/example_forward_to_another_topic/test_app.py +0 -24
  343. faststream-0.2.3/faststream_gen_examples/example_forward_to_multiple_topics/__init__.py +0 -0
  344. faststream-0.2.3/faststream_gen_examples/example_forward_to_multiple_topics/app.py +0 -14
  345. faststream-0.2.3/faststream_gen_examples/example_forward_to_multiple_topics/app_skeleton.py +0 -20
  346. faststream-0.2.3/faststream_gen_examples/example_forward_to_multiple_topics/description.txt +0 -2
  347. faststream-0.2.3/faststream_gen_examples/example_forward_to_multiple_topics/test_app.py +0 -29
  348. faststream-0.2.3/faststream_gen_examples/example_forward_with_security/__init__.py +0 -0
  349. faststream-0.2.3/faststream_gen_examples/example_forward_with_security/app.py +0 -28
  350. faststream-0.2.3/faststream_gen_examples/example_forward_with_security/app_skeleton.py +0 -36
  351. faststream-0.2.3/faststream_gen_examples/example_forward_with_security/description.txt +0 -3
  352. faststream-0.2.3/faststream_gen_examples/example_forward_with_security/test_app.py +0 -24
  353. faststream-0.2.3/faststream_gen_examples/example_infinity_publishing/__init__.py +0 -0
  354. faststream-0.2.3/faststream_gen_examples/example_infinity_publishing/app.py +0 -45
  355. faststream-0.2.3/faststream_gen_examples/example_infinity_publishing/app_skeleton.py +0 -47
  356. faststream-0.2.3/faststream_gen_examples/example_infinity_publishing/description.txt +0 -2
  357. faststream-0.2.3/faststream_gen_examples/example_infinity_publishing/test_app.py +0 -21
  358. faststream-0.2.3/faststream_gen_examples/example_investment_updates/__init__.py +0 -0
  359. faststream-0.2.3/faststream_gen_examples/example_investment_updates/app.py +0 -32
  360. faststream-0.2.3/faststream_gen_examples/example_investment_updates/app_skeleton.py +0 -38
  361. faststream-0.2.3/faststream_gen_examples/example_investment_updates/description.txt +0 -3
  362. faststream-0.2.3/faststream_gen_examples/example_investment_updates/test_app.py +0 -42
  363. faststream-0.2.3/faststream_gen_examples/example_log_msgs_with_plaintext_security/__init__.py +0 -0
  364. faststream-0.2.3/faststream_gen_examples/example_log_msgs_with_plaintext_security/app.py +0 -27
  365. faststream-0.2.3/faststream_gen_examples/example_log_msgs_with_plaintext_security/app_skeleton.py +0 -34
  366. faststream-0.2.3/faststream_gen_examples/example_log_msgs_with_plaintext_security/description.txt +0 -3
  367. faststream-0.2.3/faststream_gen_examples/example_log_msgs_with_plaintext_security/test_app.py +0 -16
  368. faststream-0.2.3/faststream_gen_examples/example_new_employee/__init__.py +0 -0
  369. faststream-0.2.3/faststream_gen_examples/example_new_employee/app.py +0 -31
  370. faststream-0.2.3/faststream_gen_examples/example_new_employee/app_skeleton.py +0 -35
  371. faststream-0.2.3/faststream_gen_examples/example_new_employee/description.txt +0 -5
  372. faststream-0.2.3/faststream_gen_examples/example_new_employee/test_app.py +0 -33
  373. faststream-0.2.3/faststream_gen_examples/example_pets/__init__.py +0 -0
  374. faststream-0.2.3/faststream_gen_examples/example_pets/app.py +0 -22
  375. faststream-0.2.3/faststream_gen_examples/example_pets/app_skeleton.py +0 -28
  376. faststream-0.2.3/faststream_gen_examples/example_pets/description.txt +0 -3
  377. faststream-0.2.3/faststream_gen_examples/example_pets/test_app.py +0 -20
  378. faststream-0.2.3/faststream_gen_examples/example_plants/__init__.py +0 -0
  379. faststream-0.2.3/faststream_gen_examples/example_plants/app.py +0 -27
  380. faststream-0.2.3/faststream_gen_examples/example_plants/app_skeleton.py +0 -33
  381. faststream-0.2.3/faststream_gen_examples/example_plants/description.txt +0 -2
  382. faststream-0.2.3/faststream_gen_examples/example_plants/test_app.py +0 -43
  383. faststream-0.2.3/faststream_gen_examples/example_product_reviews/__init__.py +0 -0
  384. faststream-0.2.3/faststream_gen_examples/example_product_reviews/app.py +0 -37
  385. faststream-0.2.3/faststream_gen_examples/example_product_reviews/app_skeleton.py +0 -45
  386. faststream-0.2.3/faststream_gen_examples/example_product_reviews/description.txt +0 -3
  387. faststream-0.2.3/faststream_gen_examples/example_product_reviews/test_app.py +0 -54
  388. faststream-0.2.3/faststream_gen_examples/example_publish_with_key/__init__.py +0 -0
  389. faststream-0.2.3/faststream_gen_examples/example_publish_with_key/app.py +0 -28
  390. faststream-0.2.3/faststream_gen_examples/example_publish_with_key/app_skeleton.py +0 -37
  391. faststream-0.2.3/faststream_gen_examples/example_publish_with_key/description.txt +0 -8
  392. faststream-0.2.3/faststream_gen_examples/example_publish_with_key/test_app.py +0 -19
  393. faststream-0.2.3/faststream_gen_examples/example_scram256_security/__init__.py +0 -0
  394. faststream-0.2.3/faststream_gen_examples/example_scram256_security/app.py +0 -37
  395. faststream-0.2.3/faststream_gen_examples/example_scram256_security/app_skeleton.py +0 -43
  396. faststream-0.2.3/faststream_gen_examples/example_scram256_security/description.txt +0 -5
  397. faststream-0.2.3/faststream_gen_examples/example_scram256_security/test_app.py +0 -40
  398. faststream-0.2.3/faststream_gen_examples/example_scram512_security/__init__.py +0 -0
  399. faststream-0.2.3/faststream_gen_examples/example_scram512_security/app.py +0 -37
  400. faststream-0.2.3/faststream_gen_examples/example_scram512_security/app_skeleton.py +0 -44
  401. faststream-0.2.3/faststream_gen_examples/example_scram512_security/description.txt +0 -4
  402. faststream-0.2.3/faststream_gen_examples/example_scram512_security/test_app.py +0 -34
  403. faststream-0.2.3/faststream_gen_examples/example_scrape_weather/__init__.py +0 -0
  404. faststream-0.2.3/faststream_gen_examples/example_scrape_weather/app.py +0 -103
  405. faststream-0.2.3/faststream_gen_examples/example_scrape_weather/app_skeleton.py +0 -89
  406. faststream-0.2.3/faststream_gen_examples/example_scrape_weather/description.txt +0 -26
  407. faststream-0.2.3/faststream_gen_examples/example_scrape_weather/test_app.py +0 -19
  408. faststream-0.2.3/faststream_gen_examples/example_social_media_post/__init__.py +0 -0
  409. faststream-0.2.3/faststream_gen_examples/example_social_media_post/app.py +0 -34
  410. faststream-0.2.3/faststream_gen_examples/example_social_media_post/app_skeleton.py +0 -49
  411. faststream-0.2.3/faststream_gen_examples/example_social_media_post/description.txt +0 -4
  412. faststream-0.2.3/faststream_gen_examples/example_social_media_post/test_app.py +0 -38
  413. faststream-0.2.3/faststream_gen_examples/example_student_query/__init__.py +0 -0
  414. faststream-0.2.3/faststream_gen_examples/example_student_query/app.py +0 -46
  415. faststream-0.2.3/faststream_gen_examples/example_student_query/app_skeleton.py +0 -49
  416. faststream-0.2.3/faststream_gen_examples/example_student_query/description.txt +0 -4
  417. faststream-0.2.3/faststream_gen_examples/example_student_query/test_app.py +0 -58
  418. faststream-0.2.3/faststream_gen_examples/example_weather_updates/__init__.py +0 -0
  419. faststream-0.2.3/faststream_gen_examples/example_weather_updates/app.py +0 -30
  420. faststream-0.2.3/faststream_gen_examples/example_weather_updates/app_skeleton.py +0 -35
  421. faststream-0.2.3/faststream_gen_examples/example_weather_updates/description.txt +0 -3
  422. faststream-0.2.3/faststream_gen_examples/example_weather_updates/test_app.py +0 -44
  423. faststream-0.2.3/scripts/lint.sh +0 -10
  424. {faststream-0.2.3 → faststream-0.2.4}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
  425. {faststream-0.2.3 → faststream-0.2.4}/.github/ISSUE_TEMPLATE/config.yml +0 -0
  426. {faststream-0.2.3 → faststream-0.2.4}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
  427. {faststream-0.2.3 → faststream-0.2.4}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
  428. {faststream-0.2.3 → faststream-0.2.4}/.github/dependabot.yml +0 -0
  429. {faststream-0.2.3 → faststream-0.2.4}/.github/workflows/codeql.yml +0 -0
  430. {faststream-0.2.3 → faststream-0.2.4}/.github/workflows/dependency-review.yaml +0 -0
  431. {faststream-0.2.3 → faststream-0.2.4}/.github/workflows/publish_coverage.yml +0 -0
  432. {faststream-0.2.3 → faststream-0.2.4}/.github/workflows/publish_pypi.yml +0 -0
  433. {faststream-0.2.3 → faststream-0.2.4}/.pre-commit-config.yaml +0 -0
  434. {faststream-0.2.3 → faststream-0.2.4}/.secrets.baseline +0 -0
  435. {faststream-0.2.3 → faststream-0.2.4}/CODE_OF_CONDUCT.md +0 -0
  436. {faststream-0.2.3 → faststream-0.2.4}/CONTRIBUTING.md +0 -0
  437. {faststream-0.2.3 → faststream-0.2.4}/LICENSE +0 -0
  438. {faststream-0.2.3 → faststream-0.2.4}/README.md +0 -0
  439. {faststream-0.2.3 → faststream-0.2.4}/SECURITY.md +0 -0
  440. {faststream-0.2.3 → faststream-0.2.4}/examples/__init__.py +0 -0
  441. {faststream-0.2.3 → faststream-0.2.4}/examples/e01_basic_consume.py +0 -0
  442. {faststream-0.2.3 → faststream-0.2.4}/examples/e02_1_basic_publisher.py +0 -0
  443. {faststream-0.2.3 → faststream-0.2.4}/examples/e02_2_basic_publisher.py +0 -0
  444. {faststream-0.2.3 → faststream-0.2.4}/examples/e02_3_basic_publisher.py +0 -0
  445. {faststream-0.2.3 → faststream-0.2.4}/examples/e03_miltiple_pubsub.py +0 -0
  446. {faststream-0.2.3 → faststream-0.2.4}/examples/e04_msg_filter.py +0 -0
  447. {faststream-0.2.3 → faststream-0.2.4}/examples/e05_rpc_request.py +0 -0
  448. {faststream-0.2.3 → faststream-0.2.4}/examples/e06_manual_ack.py +0 -0
  449. {faststream-0.2.3 → faststream-0.2.4}/examples/e07_ack_immediately.py +0 -0
  450. {faststream-0.2.3 → faststream-0.2.4}/examples/e08_testing.py +0 -0
  451. {faststream-0.2.3 → faststream-0.2.4}/examples/e09_testing_mocks.py +0 -0
  452. {faststream-0.2.3 → faststream-0.2.4}/examples/e10_middlewares.py +0 -0
  453. {faststream-0.2.3 → faststream-0.2.4}/examples/e11_settings.py +0 -0
  454. {faststream-0.2.3 → faststream-0.2.4}/examples/fastapi_integration/__init__.py +0 -0
  455. {faststream-0.2.3 → faststream-0.2.4}/examples/fastapi_integration/app.py +0 -0
  456. {faststream-0.2.3 → faststream-0.2.4}/examples/fastapi_integration/testing.py +0 -0
  457. {faststream-0.2.3 → faststream-0.2.4}/examples/howto/__init__.py +0 -0
  458. {faststream-0.2.3 → faststream-0.2.4}/examples/howto/structlogs.py +0 -0
  459. {faststream-0.2.3 → faststream-0.2.4}/examples/kafka/__init__.py +0 -0
  460. {faststream-0.2.3 → faststream-0.2.4}/examples/kafka/ack_after_process.py +0 -0
  461. {faststream-0.2.3 → faststream-0.2.4}/examples/kafka/batch_consume.py +0 -0
  462. {faststream-0.2.3 → faststream-0.2.4}/examples/kafka/batch_publish_1.py +0 -0
  463. {faststream-0.2.3 → faststream-0.2.4}/examples/kafka/batch_publish_2.py +0 -0
  464. {faststream-0.2.3 → faststream-0.2.4}/examples/kafka/batch_publish_3.py +0 -0
  465. {faststream-0.2.3 → faststream-0.2.4}/examples/kafka/testing.py +0 -0
  466. {faststream-0.2.3 → faststream-0.2.4}/examples/nats/e01_basic.py +0 -0
  467. {faststream-0.2.3 → faststream-0.2.4}/examples/nats/e02_basic_rpc.py +0 -0
  468. {faststream-0.2.3 → faststream-0.2.4}/examples/nats/e03_publisher.py +0 -0
  469. {faststream-0.2.3 → faststream-0.2.4}/examples/nats/e04_js_basic.py +0 -0
  470. {faststream-0.2.3 → faststream-0.2.4}/examples/nats/e05_basic_and_js.py +0 -0
  471. {faststream-0.2.3 → faststream-0.2.4}/examples/nats/e06_key_value.py +0 -0
  472. {faststream-0.2.3 → faststream-0.2.4}/examples/nats/e07_object_storage.py +0 -0
  473. {faststream-0.2.3 → faststream-0.2.4}/examples/nats/e08_wildcards.py +0 -0
  474. {faststream-0.2.3 → faststream-0.2.4}/examples/rabbit/__init__.py +0 -0
  475. {faststream-0.2.3 → faststream-0.2.4}/examples/rabbit/direct.py +0 -0
  476. {faststream-0.2.3 → faststream-0.2.4}/examples/rabbit/fanout.py +0 -0
  477. {faststream-0.2.3 → faststream-0.2.4}/examples/rabbit/header.py +0 -0
  478. {faststream-0.2.3 → faststream-0.2.4}/examples/rabbit/stream.py +0 -0
  479. {faststream-0.2.3 → faststream-0.2.4}/examples/rabbit/topic.py +0 -0
  480. {faststream-0.2.3 → faststream-0.2.4}/examples/router/__init__.py +0 -0
  481. {faststream-0.2.3 → faststream-0.2.4}/examples/router/basic_consume.py +0 -0
  482. {faststream-0.2.3 → faststream-0.2.4}/examples/router/basic_publish.py +0 -0
  483. {faststream-0.2.3 → faststream-0.2.4}/examples/router/delay_registration.py +0 -0
  484. {faststream-0.2.3 → faststream-0.2.4}/examples/serialization/__init__.py +0 -0
  485. {faststream-0.2.3 → faststream-0.2.4}/examples/serialization/msgpack/__init__.py +0 -0
  486. {faststream-0.2.3 → faststream-0.2.4}/examples/serialization/msgpack/pack.py +0 -0
  487. {faststream-0.2.3 → faststream-0.2.4}/examples/serialization/msgpack/requirements.txt +0 -0
  488. {faststream-0.2.3 → faststream-0.2.4}/examples/serialization/protobuf/__init__.py +0 -0
  489. {faststream-0.2.3 → faststream-0.2.4}/examples/serialization/protobuf/message.proto +0 -0
  490. {faststream-0.2.3 → faststream-0.2.4}/examples/serialization/protobuf/protobuf.py +0 -0
  491. {faststream-0.2.3 → faststream-0.2.4}/examples/serialization/protobuf/requirements.txt +0 -0
  492. {faststream-0.2.3 → faststream-0.2.4}/faststream/__main__.py +0 -0
  493. {faststream-0.2.3 → faststream-0.2.4}/faststream/annotations.py +0 -0
  494. {faststream-0.2.3 → faststream-0.2.4}/faststream/app.py +0 -0
  495. {faststream-0.2.3 → faststream-0.2.4}/faststream/asyncapi/__init__.py +0 -0
  496. {faststream-0.2.3 → faststream-0.2.4}/faststream/asyncapi/base.py +0 -0
  497. {faststream-0.2.3 → faststream-0.2.4}/faststream/asyncapi/generate.py +0 -0
  498. {faststream-0.2.3 → faststream-0.2.4}/faststream/asyncapi/message.py +0 -0
  499. {faststream-0.2.3 → faststream-0.2.4}/faststream/asyncapi/schema/__init__.py +0 -0
  500. {faststream-0.2.3 → faststream-0.2.4}/faststream/asyncapi/schema/bindings/__init__.py +0 -0
  501. {faststream-0.2.3 → faststream-0.2.4}/faststream/asyncapi/schema/bindings/amqp.py +0 -0
  502. {faststream-0.2.3 → faststream-0.2.4}/faststream/asyncapi/schema/bindings/kafka.py +0 -0
  503. {faststream-0.2.3 → faststream-0.2.4}/faststream/asyncapi/schema/bindings/main.py +0 -0
  504. {faststream-0.2.3 → faststream-0.2.4}/faststream/asyncapi/schema/bindings/nats.py +0 -0
  505. {faststream-0.2.3 → faststream-0.2.4}/faststream/asyncapi/schema/bindings/redis.py +0 -0
  506. {faststream-0.2.3 → faststream-0.2.4}/faststream/asyncapi/schema/bindings/sqs.py +0 -0
  507. {faststream-0.2.3 → faststream-0.2.4}/faststream/asyncapi/schema/channels.py +0 -0
  508. {faststream-0.2.3 → faststream-0.2.4}/faststream/asyncapi/schema/info.py +0 -0
  509. {faststream-0.2.3 → faststream-0.2.4}/faststream/asyncapi/schema/main.py +0 -0
  510. {faststream-0.2.3 → faststream-0.2.4}/faststream/asyncapi/schema/message.py +0 -0
  511. {faststream-0.2.3 → faststream-0.2.4}/faststream/asyncapi/schema/operations.py +0 -0
  512. {faststream-0.2.3 → faststream-0.2.4}/faststream/asyncapi/schema/security.py +0 -0
  513. {faststream-0.2.3 → faststream-0.2.4}/faststream/asyncapi/schema/servers.py +0 -0
  514. {faststream-0.2.3 → faststream-0.2.4}/faststream/asyncapi/schema/utils.py +0 -0
  515. {faststream-0.2.3 → faststream-0.2.4}/faststream/asyncapi/site.py +0 -0
  516. {faststream-0.2.3 → faststream-0.2.4}/faststream/asyncapi/utils.py +0 -0
  517. {faststream-0.2.3 → faststream-0.2.4}/faststream/broker/__init__.py +0 -0
  518. {faststream-0.2.3 → faststream-0.2.4}/faststream/broker/core/__init__.py +0 -0
  519. {faststream-0.2.3 → faststream-0.2.4}/faststream/broker/core/abc.py +0 -0
  520. {faststream-0.2.3 → faststream-0.2.4}/faststream/broker/core/asyncronous.py +0 -0
  521. {faststream-0.2.3 → faststream-0.2.4}/faststream/broker/core/mixins.py +0 -0
  522. {faststream-0.2.3 → faststream-0.2.4}/faststream/broker/fastapi/__init__.py +0 -0
  523. {faststream-0.2.3 → faststream-0.2.4}/faststream/broker/fastapi/router.py +0 -0
  524. {faststream-0.2.3 → faststream-0.2.4}/faststream/broker/handler.py +0 -0
  525. {faststream-0.2.3 → faststream-0.2.4}/faststream/broker/middlewares.py +0 -0
  526. {faststream-0.2.3 → faststream-0.2.4}/faststream/broker/parsers.py +0 -0
  527. {faststream-0.2.3 → faststream-0.2.4}/faststream/broker/publisher.py +0 -0
  528. {faststream-0.2.3 → faststream-0.2.4}/faststream/broker/push_back_watcher.py +0 -0
  529. {faststream-0.2.3 → faststream-0.2.4}/faststream/broker/router.py +0 -0
  530. {faststream-0.2.3 → faststream-0.2.4}/faststream/broker/schemas.py +0 -0
  531. {faststream-0.2.3 → faststream-0.2.4}/faststream/broker/security.py +0 -0
  532. {faststream-0.2.3 → faststream-0.2.4}/faststream/broker/types.py +0 -0
  533. {faststream-0.2.3 → faststream-0.2.4}/faststream/broker/utils.py +0 -0
  534. {faststream-0.2.3 → faststream-0.2.4}/faststream/broker/wrapper.py +0 -0
  535. {faststream-0.2.3 → faststream-0.2.4}/faststream/cli/__init__.py +0 -0
  536. {faststream-0.2.3 → faststream-0.2.4}/faststream/cli/docs/__init__.py +0 -0
  537. {faststream-0.2.3 → faststream-0.2.4}/faststream/cli/docs/app.py +0 -0
  538. {faststream-0.2.3 → faststream-0.2.4}/faststream/cli/supervisors/__init__.py +0 -0
  539. {faststream-0.2.3 → faststream-0.2.4}/faststream/cli/supervisors/basereload.py +0 -0
  540. {faststream-0.2.3 → faststream-0.2.4}/faststream/cli/supervisors/multiprocess.py +0 -0
  541. {faststream-0.2.3 → faststream-0.2.4}/faststream/cli/supervisors/utils.py +0 -0
  542. {faststream-0.2.3 → faststream-0.2.4}/faststream/cli/supervisors/watchfiles.py +0 -0
  543. {faststream-0.2.3 → faststream-0.2.4}/faststream/cli/utils/__init__.py +0 -0
  544. {faststream-0.2.3 → faststream-0.2.4}/faststream/cli/utils/imports.py +0 -0
  545. {faststream-0.2.3 → faststream-0.2.4}/faststream/cli/utils/logs.py +0 -0
  546. {faststream-0.2.3 → faststream-0.2.4}/faststream/cli/utils/parser.py +0 -0
  547. {faststream-0.2.3 → faststream-0.2.4}/faststream/constants.py +0 -0
  548. {faststream-0.2.3 → faststream-0.2.4}/faststream/exceptions.py +0 -0
  549. {faststream-0.2.3 → faststream-0.2.4}/faststream/kafka/annotations.py +0 -0
  550. {faststream-0.2.3 → faststream-0.2.4}/faststream/kafka/asyncapi.py +0 -0
  551. {faststream-0.2.3 → faststream-0.2.4}/faststream/kafka/broker.py +0 -0
  552. {faststream-0.2.3 → faststream-0.2.4}/faststream/kafka/broker.pyi +0 -0
  553. {faststream-0.2.3 → faststream-0.2.4}/faststream/kafka/fastapi.py +0 -0
  554. {faststream-0.2.3 → faststream-0.2.4}/faststream/kafka/handler.py +0 -0
  555. {faststream-0.2.3 → faststream-0.2.4}/faststream/kafka/message.py +0 -0
  556. {faststream-0.2.3 → faststream-0.2.4}/faststream/kafka/parser.py +0 -0
  557. {faststream-0.2.3 → faststream-0.2.4}/faststream/kafka/producer.py +0 -0
  558. {faststream-0.2.3 → faststream-0.2.4}/faststream/kafka/router.py +0 -0
  559. {faststream-0.2.3 → faststream-0.2.4}/faststream/kafka/router.pyi +0 -0
  560. {faststream-0.2.3 → faststream-0.2.4}/faststream/kafka/security.py +0 -0
  561. {faststream-0.2.3 → faststream-0.2.4}/faststream/kafka/shared/__init__.py +0 -0
  562. {faststream-0.2.3 → faststream-0.2.4}/faststream/kafka/shared/logging.py +0 -0
  563. {faststream-0.2.3 → faststream-0.2.4}/faststream/kafka/shared/publisher.py +0 -0
  564. {faststream-0.2.3 → faststream-0.2.4}/faststream/kafka/shared/router.py +0 -0
  565. {faststream-0.2.3 → faststream-0.2.4}/faststream/kafka/shared/router.pyi +0 -0
  566. {faststream-0.2.3 → faststream-0.2.4}/faststream/kafka/shared/schemas.py +0 -0
  567. {faststream-0.2.3 → faststream-0.2.4}/faststream/kafka/test.py +0 -0
  568. {faststream-0.2.3 → faststream-0.2.4}/faststream/log/__init__.py +0 -0
  569. {faststream-0.2.3 → faststream-0.2.4}/faststream/log/formatter.py +0 -0
  570. {faststream-0.2.3 → faststream-0.2.4}/faststream/log/logging.py +0 -0
  571. {faststream-0.2.3 → faststream-0.2.4}/faststream/nats/annotations.py +0 -0
  572. {faststream-0.2.3 → faststream-0.2.4}/faststream/nats/asyncapi.py +0 -0
  573. {faststream-0.2.3 → faststream-0.2.4}/faststream/nats/broker.py +0 -0
  574. {faststream-0.2.3 → faststream-0.2.4}/faststream/nats/broker.pyi +0 -0
  575. {faststream-0.2.3 → faststream-0.2.4}/faststream/nats/fastapi.py +0 -0
  576. {faststream-0.2.3 → faststream-0.2.4}/faststream/nats/helpers.py +0 -0
  577. {faststream-0.2.3 → faststream-0.2.4}/faststream/nats/js_stream.py +0 -0
  578. {faststream-0.2.3 → faststream-0.2.4}/faststream/nats/js_stream.pyi +0 -0
  579. {faststream-0.2.3 → faststream-0.2.4}/faststream/nats/message.py +0 -0
  580. {faststream-0.2.3 → faststream-0.2.4}/faststream/nats/producer.py +0 -0
  581. {faststream-0.2.3 → faststream-0.2.4}/faststream/nats/publisher.py +0 -0
  582. {faststream-0.2.3 → faststream-0.2.4}/faststream/nats/router.py +0 -0
  583. {faststream-0.2.3 → faststream-0.2.4}/faststream/nats/router.pyi +0 -0
  584. {faststream-0.2.3 → faststream-0.2.4}/faststream/nats/shared/__init__.py +0 -0
  585. {faststream-0.2.3 → faststream-0.2.4}/faststream/nats/shared/logging.py +0 -0
  586. {faststream-0.2.3 → faststream-0.2.4}/faststream/nats/shared/router.py +0 -0
  587. {faststream-0.2.3 → faststream-0.2.4}/faststream/nats/shared/router.pyi +0 -0
  588. {faststream-0.2.3 → faststream-0.2.4}/faststream/nats/test.py +0 -0
  589. {faststream-0.2.3 → faststream-0.2.4}/faststream/py.typed +0 -0
  590. {faststream-0.2.3 → faststream-0.2.4}/faststream/rabbit/annotations.py +0 -0
  591. {faststream-0.2.3 → faststream-0.2.4}/faststream/rabbit/asyncapi.py +0 -0
  592. {faststream-0.2.3 → faststream-0.2.4}/faststream/rabbit/broker.py +0 -0
  593. {faststream-0.2.3 → faststream-0.2.4}/faststream/rabbit/broker.pyi +0 -0
  594. {faststream-0.2.3 → faststream-0.2.4}/faststream/rabbit/fastapi.py +0 -0
  595. {faststream-0.2.3 → faststream-0.2.4}/faststream/rabbit/handler.py +0 -0
  596. {faststream-0.2.3 → faststream-0.2.4}/faststream/rabbit/message.py +0 -0
  597. {faststream-0.2.3 → faststream-0.2.4}/faststream/rabbit/publisher.py +0 -0
  598. {faststream-0.2.3 → faststream-0.2.4}/faststream/rabbit/publisher.pyi +0 -0
  599. {faststream-0.2.3 → faststream-0.2.4}/faststream/rabbit/router.py +0 -0
  600. {faststream-0.2.3 → faststream-0.2.4}/faststream/rabbit/router.pyi +0 -0
  601. {faststream-0.2.3 → faststream-0.2.4}/faststream/rabbit/security.py +0 -0
  602. {faststream-0.2.3 → faststream-0.2.4}/faststream/rabbit/shared/__init__.py +0 -0
  603. {faststream-0.2.3 → faststream-0.2.4}/faststream/rabbit/shared/constants.py +0 -0
  604. {faststream-0.2.3 → faststream-0.2.4}/faststream/rabbit/shared/logging.py +0 -0
  605. {faststream-0.2.3 → faststream-0.2.4}/faststream/rabbit/shared/publisher.py +0 -0
  606. {faststream-0.2.3 → faststream-0.2.4}/faststream/rabbit/shared/router.py +0 -0
  607. {faststream-0.2.3 → faststream-0.2.4}/faststream/rabbit/shared/router.pyi +0 -0
  608. {faststream-0.2.3 → faststream-0.2.4}/faststream/rabbit/shared/types.py +0 -0
  609. {faststream-0.2.3 → faststream-0.2.4}/faststream/rabbit/test.py +0 -0
  610. {faststream-0.2.3 → faststream-0.2.4}/faststream/rabbit/types.py +0 -0
  611. {faststream-0.2.3 → faststream-0.2.4}/faststream/types.py +0 -0
  612. {faststream-0.2.3 → faststream-0.2.4}/faststream/utils/classes.py +0 -0
  613. {faststream-0.2.3 → faststream-0.2.4}/faststream/utils/context/main.py +0 -0
  614. {faststream-0.2.3 → faststream-0.2.4}/faststream/utils/data.py +0 -0
  615. {faststream-0.2.3 → faststream-0.2.4}/faststream/utils/functions.py +0 -0
  616. {faststream-0.2.3 → faststream-0.2.4}/faststream/utils/no_cast.py +0 -0
  617. {faststream-0.2.3 → faststream-0.2.4}/scripts/build-docs-pre-commit.sh +0 -0
  618. {faststream-0.2.3 → faststream-0.2.4}/scripts/build-docs.sh +0 -0
  619. {faststream-0.2.3 → faststream-0.2.4}/scripts/lint-pre-commit.sh +0 -0
  620. {faststream-0.2.3 → faststream-0.2.4}/scripts/publish.sh +0 -0
  621. {faststream-0.2.3 → faststream-0.2.4}/scripts/serve-docs.sh +0 -0
  622. {faststream-0.2.3 → faststream-0.2.4}/scripts/set_variables.sh +0 -0
  623. {faststream-0.2.3 → faststream-0.2.4}/scripts/start_test_env.sh +0 -0
  624. {faststream-0.2.3 → faststream-0.2.4}/scripts/static-analysis.sh +0 -0
  625. {faststream-0.2.3 → faststream-0.2.4}/scripts/static-pre-commit.sh +0 -0
  626. {faststream-0.2.3 → faststream-0.2.4}/scripts/stop_test_env.sh +0 -0
  627. {faststream-0.2.3 → faststream-0.2.4}/scripts/test-cov.sh +0 -0
  628. {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 "all"
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 nats"
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 -vv -m "not kafka and not rabbit and not nats"
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-smoke:
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/test_publish.py
172
+ run: bash scripts/test.sh -m "not kafka" tests/brokers/kafka/test_test_client.py
176
173
 
177
- test-rabbit-smoke:
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/test_publish.py
220
+ run: bash scripts/test.sh -m "not rabbit" tests/brokers/rabbit/test_test_client.py
198
221
 
199
- test-nats-smoke:
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@v3
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/test_publish.py
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: [test]
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
@@ -4,6 +4,7 @@ dist
4
4
  venv*
5
5
  .venv*
6
6
  .env
7
+ .env*
7
8
  *.lock
8
9
  .vscode
9
10
  .pypirc
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: faststream
3
- Version: 0.2.3
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.291; extra == 'lint'
71
- Requires-Dist: semgrep==1.42.0; extra == 'lint'
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'
@@ -1,5 +1,6 @@
1
1
  """Simple and fast framework to create message brokers based microservices"""
2
- __version__ = "0.2.3"
2
+ __version__ = "0.2.4"
3
+
3
4
 
4
5
  INSTALL_YAML = """
5
6
  To generate YAML documentation, please install dependencies:\n
@@ -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
- from fastapi import __version__ as FASTAPI_VERSION
58
-
59
- major, minor, _ = map(int, FASTAPI_VERSION.split("."))
60
- FASTAPI_V2 = not (major < 0 and minor < 100)
61
-
62
- if FASTAPI_V2:
63
- from fastapi._compat import _normalize_errors
64
- from fastapi.exceptions import RequestValidationError
65
-
66
- def raise_fastapi_validation_error(errors: List[Any], body: AnyDict) -> Never:
67
- raise RequestValidationError(_normalize_errors(errors), body=body)
68
-
69
- else:
70
- from pydantic import ( # type: ignore[assignment] # isort: skip
71
- ValidationError as RequestValidationError,
72
- )
73
- from pydantic import create_model
74
-
75
- ROUTER_VALIDATION_ERROR_MODEL = create_model("StreamRoute")
76
-
77
- def raise_fastapi_validation_error(errors: List[Any], body: AnyDict) -> Never:
78
- raise RequestValidationError(errors, ROUTER_VALIDATION_ERROR_MODEL) # type: ignore[misc]
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.abc._tasks import TaskGroup
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._stop_event = self._event = anyio.Event()
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._event.set()
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
 
@@ -165,7 +165,7 @@ def _run(
165
165
  except ImportError:
166
166
  logger.warning("You have no installed `uvloop`")
167
167
  else:
168
- uvloop.install()
168
+ uvloop.install() # type: ignore[attr-defined]
169
169
 
170
170
  anyio.run(
171
171
  app_obj.run,
@@ -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: {messages} should be Sequence type to send in batch"
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
- self.subject = subject
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,
@@ -78,6 +78,7 @@ class RabbitDeclarer(Singleton):
78
78
  queue,
79
79
  exclude={
80
80
  "routing_key",
81
+ "path_regex",
81
82
  "bind_arguments",
82
83
  },
83
84
  )
@@ -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