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