python-ddd-framework 0.3.2__py3-none-any.whl → 0.4.0__py3-none-any.whl

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 (334) hide show
  1. python_ddd_framework/__init__.py +139 -21
  2. python_ddd_framework/application/builder.py +23 -78
  3. python_ddd_framework/application/composition.py +4 -22
  4. python_ddd_framework/application/runtime.py +96 -291
  5. python_ddd_framework/application/state.py +7 -75
  6. python_ddd_framework/application_services/__init__.py +5 -21
  7. python_ddd_framework/{services/application_bindings.py → application_services/bindings.py} +52 -9
  8. python_ddd_framework/application_services/catalog.py +36 -288
  9. python_ddd_framework/application_services/contracts.py +14 -13
  10. python_ddd_framework/application_services/dispatcher.py +19 -269
  11. python_ddd_framework/application_services/invocation.py +126 -7
  12. python_ddd_framework/application_services/module.py +168 -0
  13. python_ddd_framework/application_services/pagination.py +21 -0
  14. python_ddd_framework/auditing/control.py +1 -1
  15. python_ddd_framework/auditing/module.py +15 -0
  16. python_ddd_framework/authorization/__init__.py +2 -0
  17. python_ddd_framework/authorization/contracts.py +7 -2
  18. python_ddd_framework/authorization/definitions.py +5 -0
  19. python_ddd_framework/authorization/module.py +40 -0
  20. python_ddd_framework/authorization/options.py +7 -0
  21. python_ddd_framework/background_execution/child.py +13 -3
  22. python_ddd_framework/background_execution/declarations.py +45 -0
  23. python_ddd_framework/background_execution/lifecycle.py +12 -0
  24. python_ddd_framework/background_execution/module.py +107 -1
  25. python_ddd_framework/background_jobs/catalog.py +59 -42
  26. python_ddd_framework/background_jobs/contracts.py +16 -19
  27. python_ddd_framework/background_jobs/pgqueuer/enqueue.py +4 -0
  28. python_ddd_framework/background_jobs/pgqueuer/module.py +2 -1
  29. python_ddd_framework/background_jobs/pgqueuer/runtime.py +7 -7
  30. python_ddd_framework/background_workers/catalog.py +23 -36
  31. python_ddd_framework/background_workers/contracts.py +3 -0
  32. python_ddd_framework/background_workers/execution.py +1 -1
  33. python_ddd_framework/background_workers/runtime.py +38 -1
  34. python_ddd_framework/caching/__init__.py +7 -6
  35. python_ddd_framework/caching/contracts.py +65 -67
  36. python_ddd_framework/caching/errors.py +0 -7
  37. python_ddd_framework/caching/module.py +18 -0
  38. python_ddd_framework/caching/naming.py +29 -0
  39. python_ddd_framework/caching/options.py +38 -0
  40. python_ddd_framework/caching/unit_of_work.py +46 -0
  41. python_ddd_framework/cli/__init__.py +31 -6
  42. python_ddd_framework/cli/project.py +68 -6
  43. python_ddd_framework/cli/runtime.py +1 -1
  44. python_ddd_framework/developer_kit/generation.py +75 -22
  45. python_ddd_framework/developer_kit/project_metadata.py +2 -4
  46. python_ddd_framework/developer_kit/templates/basic/cookiecutter.json +4 -0
  47. python_ddd_framework/developer_kit/templates/basic/{{cookiecutter.module_name}}/README.md +45 -0
  48. python_ddd_framework/developer_kit/templates/basic/{{cookiecutter.module_name}}/__init__.py.jinja +0 -0
  49. python_ddd_framework/developer_kit/templates/basic/{{cookiecutter.module_name}}/contracts/__init__.py.jinja +0 -0
  50. python_ddd_framework/developer_kit/templates/basic/{{cookiecutter.module_name}}/contracts/conversion_service.py.jinja +7 -0
  51. python_ddd_framework/developer_kit/templates/basic/{{cookiecutter.module_name}}/module.py.jinja +38 -0
  52. python_ddd_framework/developer_kit/templates/basic/{{cookiecutter.module_name}}/services/__init__.py.jinja +0 -0
  53. python_ddd_framework/developer_kit/templates/basic/{{cookiecutter.module_name}}/services/default_conversion_service.py.jinja +10 -0
  54. python_ddd_framework/developer_kit/templates/module/cookiecutter.json +1 -1
  55. python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/README.md +41 -49
  56. python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/application/background_jobs/__init__.py.jinja +1 -0
  57. python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/application/background_jobs/order_approval/__init__.py.jinja +1 -0
  58. python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/application/background_jobs/order_approval/handler.py.jinja +45 -0
  59. python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/application/background_jobs/order_approval/payload.py.jinja +8 -0
  60. python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/application/background_jobs/order_statistics/__init__.py.jinja +1 -0
  61. python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/application/background_jobs/order_statistics/handler.py.jinja +35 -0
  62. python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/application/background_jobs/order_statistics/payload.py.jinja +5 -0
  63. python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/application/background_jobs/order_statistics/schedule.py.jinja +15 -0
  64. python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/application/background_workers/__init__.py.jinja +1 -0
  65. python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/application/background_workers/order_maintenance_worker.py.jinja +28 -0
  66. python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/application/background_workers/order_statistics_worker.py.jinja +26 -0
  67. python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/application/caching/__init__.py.jinja +1 -0
  68. python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/application/caching/order_cache.py.jinja +9 -0
  69. python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/application/caching/statistics_cache.py.jinja +9 -0
  70. python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/application/event_handlers/__init__.py.jinja +1 -0
  71. python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/application/event_handlers/order_changed_handler.py.jinja +23 -0
  72. python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/application/hosted_services/__init__.py.jinja +1 -0
  73. python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/application/{integration.py.jinja → hosted_services/order_integration_service.py.jinja} +8 -2
  74. python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/application/hosted_services/order_observation_handler.py.jinja +16 -0
  75. python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/application/integration_services/__init__.py.jinja +1 -0
  76. python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/application/integration_services/order_reporting_service.py.jinja +16 -0
  77. python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/application/interceptors/__init__.py.jinja +1 -0
  78. python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/application/interceptors/order_timing_interceptor.py.jinja +17 -0
  79. python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/application/module.py.jinja +105 -10
  80. python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/application/options/__init__.py.jinja +1 -0
  81. python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/application/{options.py.jinja → options/order_options.py.jinja} +1 -1
  82. python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/application/services/__init__.py.jinja +1 -0
  83. python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/application/services/order_approval_service.py.jinja +65 -0
  84. python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/application/services/order_management_service.py.jinja +35 -0
  85. python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/application/services/order_query_service.py.jinja +41 -0
  86. python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/application/setting_handlers/__init__.py.jinja +1 -0
  87. python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/application/setting_handlers/approval_setting_observer.py.jinja +17 -0
  88. python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/application_contracts/inputs/__init__.py.jinja +1 -0
  89. python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/application_contracts/inputs/approve_order.py.jinja +6 -0
  90. python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/application_contracts/inputs/create_order.py.jinja +7 -0
  91. python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/application_contracts/integration_services/__init__.py.jinja +1 -0
  92. python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/application_contracts/integration_services/order_reporting_service.py.jinja +7 -0
  93. python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/application_contracts/module.py.jinja +39 -2
  94. python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/application_contracts/services/__init__.py.jinja +1 -0
  95. python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/application_contracts/services/order_approval_service.py.jinja +13 -0
  96. python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/application_contracts/services/order_management_service.py.jinja +10 -0
  97. python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/application_contracts/services/order_query_service.py.jinja +12 -0
  98. python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/application_contracts/views/__init__.py.jinja +1 -0
  99. python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/application_contracts/views/order_statistics_snapshot.py.jinja +9 -0
  100. python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/application_contracts/views/order_view.py.jinja +12 -0
  101. python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/domain/entities/__init__.py.jinja +1 -0
  102. python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/domain/{orders.py.jinja → entities/order.py.jinja} +10 -18
  103. python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/domain/events/__init__.py.jinja +1 -0
  104. python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/domain/events/order_changed.py.jinja +13 -0
  105. python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/domain/module.py.jinja +42 -3
  106. python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/domain/repositories/__init__.py.jinja +1 -0
  107. python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/domain/repositories/order_repository.py.jinja +17 -0
  108. python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/domain/seeding/__init__.py.jinja +1 -0
  109. python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/domain/seeding/order_seed_contributor.py.jinja +22 -0
  110. python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/domain/services/__init__.py.jinja +1 -0
  111. python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/domain/services/order_approval_service.py.jinja +23 -0
  112. python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/domain/settings/__init__.py.jinja +1 -0
  113. python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/domain/{settings.py.jinja → settings/approval_settings.py.jinja} +3 -2
  114. python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/domain/value_objects/__init__.py.jinja +1 -0
  115. python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/domain/value_objects/order_title.py.jinja +10 -0
  116. python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/domain_shared/constants/__init__.py.jinja +1 -0
  117. python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/domain_shared/constants/order_constants.py.jinja +3 -0
  118. python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/domain_shared/enums/__init__.py.jinja +1 -0
  119. python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/domain_shared/enums/order_status.py.jinja +6 -0
  120. python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/domain_shared/errors/__init__.py.jinja +1 -0
  121. python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/domain_shared/errors/order_errors.py.jinja +11 -0
  122. python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/domain_shared/messages/__init__.py.jinja +1 -0
  123. python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/domain_shared/messages/order_messages.py.jinja +26 -0
  124. python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/domain_shared/messages/order_observation.py.jinja +13 -0
  125. python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/domain_shared/module.py.jinja +40 -1
  126. python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/domain_shared/permissions/__init__.py.jinja +1 -0
  127. python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/domain_shared/{permissions.py.jinja → permissions/order_permission_provider.py.jinja} +6 -2
  128. python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/domain_shared/permissions/order_permissions.py.jinja +7 -0
  129. python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/domain_shared/value_objects/__init__.py.jinja +1 -0
  130. python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/domain_shared/value_objects/money.py.jinja +18 -0
  131. python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/http_api/filters/__init__.py.jinja +1 -0
  132. python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/http_api/filters/export_filter.py.jinja +15 -0
  133. python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/http_api/models/__init__.py.jinja +1 -0
  134. python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/http_api/models/refresh_orders.py.jinja +5 -0
  135. python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/http_api/module.py.jinja +85 -7
  136. python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/http_api/routers/__init__.py.jinja +1 -0
  137. python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/http_api/{files.py.jinja → routers/order_files.py.jinja} +23 -20
  138. python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/http_api/websockets/__init__.py.jinja +1 -0
  139. python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/http_api/websockets/order_socket.py.jinja +44 -0
  140. python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/sqlalchemy/migrations/__init__.py.jinja +1 -1
  141. python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/sqlalchemy/models/__init__.py.jinja +1 -7
  142. python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/sqlalchemy/models/base.py.jinja +7 -0
  143. python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/sqlalchemy/models/{orders.py.jinja → order_model.py.jinja} +7 -3
  144. python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/sqlalchemy/module.py.jinja +42 -5
  145. python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/sqlalchemy/repositories/order_repository.py.jinja +79 -0
  146. python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/tests/__init__.py.jinja +1 -0
  147. python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/tests/test_domain.py.jinja +4 -3
  148. python_ddd_framework/developer_kit/templates/project/cookiecutter.json +1 -1
  149. python_ddd_framework/developer_kit/templates/project/{{cookiecutter.project_name}}/AGENTS.md +16 -3
  150. python_ddd_framework/developer_kit/templates/project/{{cookiecutter.project_name}}/README.md +29 -22
  151. python_ddd_framework/developer_kit/templates/project/{{cookiecutter.project_name}}/{app.development.yaml.jinja → backend/app.development.yaml.jinja} +2 -0
  152. python_ddd_framework/developer_kit/templates/project/{{cookiecutter.project_name}}/{pyproject.toml.jinja → backend/pyproject.toml.jinja} +1 -1
  153. python_ddd_framework/developer_kit/templates/project/{{cookiecutter.project_name}}/{src → backend/src}/host/main.py.jinja +2 -0
  154. python_ddd_framework/developer_kit/templates/project/{{cookiecutter.project_name}}/{src → backend/src}/host/module.py.jinja +40 -3
  155. python_ddd_framework/developer_kit/templates/project/{{cookiecutter.project_name}}/docs/architecture.md +40 -10
  156. python_ddd_framework/developer_kit/templates/project/{{cookiecutter.project_name}}/docs/development.md +134 -23
  157. python_ddd_framework/developer_kit/templates/project/{{cookiecutter.project_name}}/scripts/.gitkeep +0 -0
  158. python_ddd_framework/distributed_lock/contracts.py +4 -1
  159. python_ddd_framework/domain/__init__.py +2 -0
  160. python_ddd_framework/domain/services.py +11 -0
  161. python_ddd_framework/errors/business.py +10 -1
  162. python_ddd_framework/errors/lifecycle.py +3 -31
  163. python_ddd_framework/events/__init__.py +5 -2
  164. python_ddd_framework/events/aggregate.py +3 -3
  165. python_ddd_framework/events/catalog.py +12 -11
  166. python_ddd_framework/events/contracts.py +6 -1
  167. python_ddd_framework/events/contribution.py +1 -52
  168. python_ddd_framework/events/entities.py +23 -0
  169. python_ddd_framework/events/module.py +97 -0
  170. python_ddd_framework/events/runtime.py +80 -29
  171. python_ddd_framework/events/subscription.py +36 -0
  172. python_ddd_framework/events/unit_of_work.py +25 -0
  173. python_ddd_framework/extensions/__init__.py +22 -0
  174. python_ddd_framework/extensions/catalog.py +198 -0
  175. python_ddd_framework/extensions/contracts.py +85 -0
  176. python_ddd_framework/extensions/models.py +142 -0
  177. python_ddd_framework/extensions/module.py +21 -0
  178. python_ddd_framework/fastapi/__init__.py +2 -0
  179. python_ddd_framework/fastapi/action.py +1 -2
  180. python_ddd_framework/fastapi/adapter.py +16 -0
  181. python_ddd_framework/fastapi/application_services.py +43 -25
  182. python_ddd_framework/fastapi/background.py +2 -1
  183. python_ddd_framework/fastapi/contracts.py +26 -8
  184. python_ddd_framework/fastapi/health.py +1 -1
  185. python_ddd_framework/fastapi/module.py +14 -0
  186. python_ddd_framework/fastapi/parameters.py +3 -18
  187. python_ddd_framework/fastapi/realtime/connection.py +10 -7
  188. python_ddd_framework/fastapi/realtime/module.py +3 -0
  189. python_ddd_framework/fastapi/realtime/runtime.py +10 -24
  190. python_ddd_framework/fastapi/request_context.py +2 -1
  191. python_ddd_framework/fastapi/routing.py +2 -1
  192. python_ddd_framework/fastapi/server.py +8 -0
  193. python_ddd_framework/fastapi/settings.py +2 -1
  194. python_ddd_framework/hosted_services/bridge.py +20 -1
  195. python_ddd_framework/hosted_services/catalog.py +6 -16
  196. python_ddd_framework/hosted_services/contracts.py +4 -0
  197. python_ddd_framework/hosted_services/declarations.py +15 -0
  198. python_ddd_framework/hosted_services/module.py +69 -0
  199. python_ddd_framework/hosted_services/runtime.py +30 -1
  200. python_ddd_framework/identity/__init__.py +24 -0
  201. python_ddd_framework/identity/application.py +38 -90
  202. python_ddd_framework/identity/contracts.py +181 -16
  203. python_ddd_framework/identity/http_api.py +79 -2
  204. python_ddd_framework/identity/management.py +166 -0
  205. python_ddd_framework/identity/module.py +12 -4
  206. python_ddd_framework/identity/services.py +29 -16
  207. python_ddd_framework/identity/sqlalchemy/migrations/0003_extra_properties.py +26 -0
  208. python_ddd_framework/identity/sqlalchemy/migrations/0004_concurrency_version.py +29 -0
  209. python_ddd_framework/identity/sqlalchemy/models.py +21 -2
  210. python_ddd_framework/identity/sqlalchemy/module.py +11 -2
  211. python_ddd_framework/identity/sqlalchemy/repository.py +458 -0
  212. python_ddd_framework/identity/sqlalchemy/session_security.py +88 -0
  213. python_ddd_framework/identity/sqlalchemy/stores.py +69 -290
  214. python_ddd_framework/identity/tokens.py +2 -5
  215. python_ddd_framework/{application_services/validation.py → invocation/arguments.py} +8 -6
  216. python_ddd_framework/invocation/contribution.py +61 -0
  217. python_ddd_framework/invocation/dispatcher.py +291 -0
  218. python_ddd_framework/invocation/entries.py +2 -25
  219. python_ddd_framework/invocation/entrypoints.py +126 -0
  220. python_ddd_framework/{application_services → invocation}/execution.py +8 -5
  221. python_ddd_framework/invocation/function_runtime.py +3 -1
  222. python_ddd_framework/invocation/interception.py +113 -42
  223. python_ddd_framework/{application_services → invocation}/interceptors.py +2 -2
  224. python_ddd_framework/invocation/managed_proxy.py +116 -0
  225. python_ddd_framework/invocation/managed_services.py +250 -0
  226. python_ddd_framework/invocation/methods.py +345 -0
  227. python_ddd_framework/invocation/module.py +113 -0
  228. python_ddd_framework/{application_services → invocation}/policies.py +8 -1
  229. python_ddd_framework/invocation/validation.py +25 -0
  230. python_ddd_framework/lifecycle/__init__.py +2 -0
  231. python_ddd_framework/lifecycle/composition.py +5 -2
  232. python_ddd_framework/lifecycle/participants.py +33 -0
  233. python_ddd_framework/messaging/__init__.py +25 -0
  234. python_ddd_framework/messaging/channel.py +205 -0
  235. python_ddd_framework/messaging/contracts.py +69 -0
  236. python_ddd_framework/messaging/module.py +101 -0
  237. python_ddd_framework/messaging/options.py +13 -0
  238. python_ddd_framework/messaging/receipt.py +27 -0
  239. python_ddd_framework/messaging/runtime.py +124 -0
  240. python_ddd_framework/modularity/__init__.py +11 -1
  241. python_ddd_framework/modularity/contracts.py +47 -16
  242. python_ddd_framework/modularity/discovery.py +21 -2
  243. python_ddd_framework/modularity/graph.py +45 -1
  244. python_ddd_framework/modularity/registry.py +83 -3
  245. python_ddd_framework/notifications/__init__.py +2 -0
  246. python_ddd_framework/notifications/catalog.py +3 -2
  247. python_ddd_framework/notifications/declarations.py +18 -0
  248. python_ddd_framework/notifications/module.py +21 -0
  249. python_ddd_framework/observability/logging.py +3 -0
  250. python_ddd_framework/observability/tracing.py +3 -0
  251. python_ddd_framework/options/contribution.py +12 -0
  252. python_ddd_framework/options/registry.py +44 -11
  253. python_ddd_framework/realtime/__init__.py +2 -1
  254. python_ddd_framework/realtime/contracts.py +3 -7
  255. python_ddd_framework/realtime/messages.py +26 -1
  256. python_ddd_framework/redis/cache.py +243 -0
  257. python_ddd_framework/redis/cache_scripts.py +40 -0
  258. python_ddd_framework/redis/distributed_lock.py +10 -2
  259. python_ddd_framework/redis/module.py +13 -4
  260. python_ddd_framework/redis/notifications.py +5 -2
  261. python_ddd_framework/redis/runtime.py +1 -79
  262. python_ddd_framework/seeding/__init__.py +13 -0
  263. python_ddd_framework/seeding/contracts.py +45 -0
  264. python_ddd_framework/seeding/module.py +73 -0
  265. python_ddd_framework/seeding/runtime.py +63 -0
  266. python_ddd_framework/services/arbitration.py +23 -0
  267. python_ddd_framework/services/binding.py +2 -3
  268. python_ddd_framework/services/composition.py +108 -0
  269. python_ddd_framework/services/contribution.py +44 -54
  270. python_ddd_framework/services/convention.py +53 -181
  271. python_ddd_framework/services/fixed_lifetime.py +12 -15
  272. python_ddd_framework/services/framework_provider.py +3 -158
  273. python_ddd_framework/services/native_graph.py +35 -60
  274. python_ddd_framework/services/provider.py +59 -4
  275. python_ddd_framework/services/repository.py +6 -0
  276. python_ddd_framework/services/runtime.py +129 -215
  277. python_ddd_framework/settings/catalog.py +5 -4
  278. python_ddd_framework/settings/declarations.py +18 -0
  279. python_ddd_framework/settings/definitions.py +5 -0
  280. python_ddd_framework/settings/manager.py +1 -1
  281. python_ddd_framework/settings/module.py +50 -1
  282. python_ddd_framework/settings/notifications.py +4 -2
  283. python_ddd_framework/settings/refresh_module.py +9 -2
  284. python_ddd_framework/settings/sqlalchemy/module.py +2 -1
  285. python_ddd_framework/sqlalchemy/__init__.py +12 -0
  286. python_ddd_framework/sqlalchemy/alembic_runtime/env.py +1 -0
  287. python_ddd_framework/sqlalchemy/auditing.py +7 -1
  288. python_ddd_framework/sqlalchemy/extensions.py +186 -0
  289. python_ddd_framework/sqlalchemy/metadata.py +110 -6
  290. python_ddd_framework/sqlalchemy/migration.py +61 -8
  291. python_ddd_framework/sqlalchemy/migration_operations.py +86 -0
  292. python_ddd_framework/sqlalchemy/module.py +14 -11
  293. python_ddd_framework/sqlalchemy/module_migration.py +71 -3
  294. python_ddd_framework/sqlalchemy/repository.py +217 -13
  295. python_ddd_framework/sqlalchemy/session_provider.py +14 -1
  296. python_ddd_framework/testing/runtime.py +5 -4
  297. python_ddd_framework/unit_of_work/__init__.py +2 -1
  298. python_ddd_framework/unit_of_work/contracts.py +6 -7
  299. python_ddd_framework/unit_of_work/errors.py +11 -0
  300. python_ddd_framework/unit_of_work/lifecycle.py +19 -0
  301. python_ddd_framework/unit_of_work/manager.py +86 -32
  302. python_ddd_framework/unit_of_work/module.py +61 -0
  303. python_ddd_framework/unit_of_work/options.py +7 -1
  304. python_ddd_framework/validation/__init__.py +1 -0
  305. python_ddd_framework/validation/models.py +37 -0
  306. {python_ddd_framework-0.3.2.dist-info → python_ddd_framework-0.4.0.dist-info}/METADATA +139 -44
  307. python_ddd_framework-0.4.0.dist-info/RECORD +488 -0
  308. {python_ddd_framework-0.3.2.dist-info → python_ddd_framework-0.4.0.dist-info}/WHEEL +1 -1
  309. python_ddd_framework/application_services/seeding.py +0 -72
  310. python_ddd_framework/caching/catalog.py +0 -73
  311. python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/application/cache.py.jinja +0 -10
  312. python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/application/events.py.jinja +0 -24
  313. python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/application/orders.py.jinja +0 -83
  314. python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/application/tasks.py.jinja +0 -84
  315. python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/application_contracts/orders.py.jinja +0 -35
  316. python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/domain/repository.py.jinja +0 -14
  317. python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/domain/seeding.py.jinja +0 -19
  318. python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/domain_shared/definitions.py.jinja +0 -24
  319. python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/http_api/realtime.py.jinja +0 -36
  320. python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/sqlalchemy/repositories/orders.py.jinja +0 -49
  321. python_ddd_framework-0.3.2.dist-info/RECORD +0 -355
  322. /python_ddd_framework/developer_kit/templates/project/{{cookiecutter.project_name}}/{.dockerignore → backend/.dockerignore} +0 -0
  323. /python_ddd_framework/developer_kit/templates/project/{{cookiecutter.project_name}}/{.gitignore → backend/.gitignore} +0 -0
  324. /python_ddd_framework/developer_kit/templates/project/{{cookiecutter.project_name}}/{.python-version → backend/.python-version} +0 -0
  325. /python_ddd_framework/developer_kit/templates/project/{{cookiecutter.project_name}}/{Dockerfile → backend/Dockerfile} +0 -0
  326. /python_ddd_framework/developer_kit/templates/project/{{cookiecutter.project_name}}/{compose.dev.yaml.jinja → backend/compose.dev.yaml.jinja} +0 -0
  327. /python_ddd_framework/developer_kit/templates/project/{{cookiecutter.project_name}}/{compose.production.yaml.jinja → backend/compose.production.yaml.jinja} +0 -0
  328. /python_ddd_framework/developer_kit/templates/project/{{cookiecutter.project_name}}/{src → backend/src}/host/__init__.py.jinja +0 -0
  329. /python_ddd_framework/developer_kit/templates/project/{{cookiecutter.project_name}}/{tests → backend/tests}/conftest.py.jinja +0 -0
  330. /python_ddd_framework/developer_kit/templates/project/{{cookiecutter.project_name}}/{tests → backend/tests}/host/test_http.py.jinja +0 -0
  331. /python_ddd_framework/{application_services → invocation}/signature.py +0 -0
  332. {python_ddd_framework-0.3.2.dist-info → python_ddd_framework-0.4.0.dist-info}/entry_points.txt +0 -0
  333. {python_ddd_framework-0.3.2.dist-info → python_ddd_framework-0.4.0.dist-info}/licenses/LICENSE +0 -0
  334. {python_ddd_framework-0.3.2.dist-info → python_ddd_framework-0.4.0.dist-info}/licenses/src/python_ddd_framework/background_jobs/pgqueuer/UPSTREAM_LICENSE.txt +0 -0
@@ -0,0 +1,488 @@
1
+ python_ddd_framework/__init__.py,sha256=UUsi5Ye8kGFX3zp7nC7QW87VEhfSCWy3_u_dcZ5qUgI,15416
2
+ python_ddd_framework/application/__init__.py,sha256=RPe_lkegIRim7GcBnXyevOg5KM7bfUIO9YGsqcA0lXk,184
3
+ python_ddd_framework/application/build_spec.py,sha256=Udj1JIgP2oBMCUezmzWzOdjFYBCEE8OxwHSEaDqrMMo,1030
4
+ python_ddd_framework/application/builder.py,sha256=d0vc1D5HvG_aJI5lPQydr-ha0OTNviWlplxlyP99qDs,8080
5
+ python_ddd_framework/application/composition.py,sha256=vgtalmP-ovAHZ3vgDen2Eywj5WPfkhvtPHbPmreQbwc,7601
6
+ python_ddd_framework/application/runtime.py,sha256=KZt4tb0-8OSAFvb22I77SqxDEuOwbidRSgxX_k9SC6k,14559
7
+ python_ddd_framework/application/runtime_hooks.py,sha256=RFlte6jMRmlla00ZGXqi4CBHJAJ7TI7GGZ_sv3V41dU,12240
8
+ python_ddd_framework/application/state.py,sha256=IH0KLhNpsqrUKHaal5yvZ5svcbhX2shJmQ4pPP_lyAs,5478
9
+ python_ddd_framework/application_services/__init__.py,sha256=sxmrmycrqb3PWmhUNt1FGOQKzezeoZabkxWQDxW3K8I,1203
10
+ python_ddd_framework/application_services/bindings.py,sha256=IMykLVyfzbXpOSr1DXz692zdGOcMUJESa1MAXtd4Tdc,11046
11
+ python_ddd_framework/application_services/catalog.py,sha256=1T3QtLj1ENx6VtsfcvVlLL0yQgKrobym5B2AwXp6QQo,9685
12
+ python_ddd_framework/application_services/contracts.py,sha256=dTVMuinGho3aAagXF5ZOdqMngMCsl1mLcrqNNLoJ1rU,7379
13
+ python_ddd_framework/application_services/dispatcher.py,sha256=FD4DP2tkGA2hp1MYD2-GnIXrRBMUixUG8QkRq8hzBeg,6505
14
+ python_ddd_framework/application_services/errors.py,sha256=jBR9zt8kRygNG7gUbZOe8dugCT3YR3iOV-DmuNX0znA,2970
15
+ python_ddd_framework/application_services/invocation.py,sha256=SIPZBbJ6TjpnXPHRGAq9cuLC0iwttuXg-0B7MYRR-fo,21205
16
+ python_ddd_framework/application_services/module.py,sha256=9uvigujA-Rraw0vbpO85VA-pDjtHAhoOObJRL0kMuas,7091
17
+ python_ddd_framework/application_services/pagination.py,sha256=4jq4wGO60iPrIpP_6gnXYnIYkvcqgC6wJ6B0cmyL7Xw,500
18
+ python_ddd_framework/auditing/__init__.py,sha256=299w-hyoCj50QNr-1FPq6G4NO8boiRDKTfcPcGLT5Ao,345
19
+ python_ddd_framework/auditing/contracts.py,sha256=QJbwm7MIcOPul7iU_zLx6Yi7UOkrfsYh-GqqBNpPgmw,978
20
+ python_ddd_framework/auditing/control.py,sha256=4_WjiMlef1gjKYPJEF3vJmIXDA4Asx-jHTlI-Iu5UTM,1307
21
+ python_ddd_framework/auditing/module.py,sha256=GWw0jtQoAmJHlR-UuOpYXcmp7qYlbfL7d6h2MFEbG-c,584
22
+ python_ddd_framework/auditing/sqlalchemy/__init__.py,sha256=syQ0c6nOv9ToytGTPeDmWLhAG_E9O1KUNbDtks1yt8g,193
23
+ python_ddd_framework/auditing/sqlalchemy/migrations/0001_auditing.py,sha256=yTjEYNHRSX7mEmQmUm-Snl7KPQwrZ5cKM9Ew3Co9gcw,1757
24
+ python_ddd_framework/auditing/sqlalchemy/migrations/__init__.py,sha256=0dKsLJbYSEP35hzyDfdyW6x5m6GRq3v_19xs5nr_JMg,43
25
+ python_ddd_framework/auditing/sqlalchemy/models.py,sha256=5kY-FgKDruq-wjkvmrKCOmDBRw-Sjbbq8JWEAl-IF-I,1417
26
+ python_ddd_framework/auditing/sqlalchemy/module.py,sha256=KLS-Kz9mYcU4Kr1PAErWGw9rM1aOi1Txvk707kso6v8,1039
27
+ python_ddd_framework/auditing/sqlalchemy/store.py,sha256=1_hD_yIrLTiwioqGxVcyxqcVBXcOUTxrcD5R0zZwpWo,2280
28
+ python_ddd_framework/authorization/__init__.py,sha256=vDkdpaIgdW0RR7TAF7c860VVc_TzTWRARvKEfi2qngo,1052
29
+ python_ddd_framework/authorization/catalog.py,sha256=ul9iHLggH3uGXi3DwrzxVRqT9E_qXioQnarMpuhlcMc,2437
30
+ python_ddd_framework/authorization/contracts.py,sha256=H8oYlZwlERkRa4VXp_EkX81vhIztZb8hvCm4PjIusUM,9380
31
+ python_ddd_framework/authorization/definition_discovery.py,sha256=4NTEb4VGMuw573dmCOsWMxJWnhprl3YCJfTi6o0ZCVY,3337
32
+ python_ddd_framework/authorization/definitions.py,sha256=efeU_GGhPremX6YYDI31CzTzywuZcch42pkMmwd3FAA,1682
33
+ python_ddd_framework/authorization/errors.py,sha256=P7HyqGtq6IFS917bs2YVZ2v0z8ZCkcs9jxQRYDyqvmE,1375
34
+ python_ddd_framework/authorization/module.py,sha256=2x9qdojKH6CD-pBA6LW-QJ-G4vbjy0m6fC3MVwZ9JVk,1517
35
+ python_ddd_framework/authorization/options.py,sha256=6RjokXsAF2VfzecR4aGOBD1KWoZEZZWlCJoX4w5pBrY,175
36
+ python_ddd_framework/background_execution/__init__.py,sha256=nGNXigF1wBMToTbqC_tz5fR9QIQFA1Ti98BBXUC2P3k,384
37
+ python_ddd_framework/background_execution/application.py,sha256=ShrvX-_bZO469GBX9Z4h237ilAXIcncebtnQs6DFA4k,1855
38
+ python_ddd_framework/background_execution/child.py,sha256=EgTP-xkWpmXrYZO-3G6qMSoVCnsZCbkQP82xIybcfkM,4958
39
+ python_ddd_framework/background_execution/contracts.py,sha256=8K7ILU67rJQ9jUd7zU2Rcf1YZ1Q-KePjS5xkl_E7W6c,1185
40
+ python_ddd_framework/background_execution/declarations.py,sha256=xqA5fG3F5V8KrQF9oRW-E_hgHbR2f5VRw6fMNwWZkpA,1478
41
+ python_ddd_framework/background_execution/lifecycle.py,sha256=BhVkTlNPLhqUXG1h6nuG958r47Be0haqBgTKimE48Eo,1194
42
+ python_ddd_framework/background_execution/local.py,sha256=E01p23aWJ-xyYzTc2fSFW5sGgii4QdSynYDMquFAHBo,5235
43
+ python_ddd_framework/background_execution/locks.py,sha256=bD_hT_PfZnXXrq4VwTPK1pPHzeJ6JEZ7d6cekBBjG9g,1298
44
+ python_ddd_framework/background_execution/management.py,sha256=FmtuhU1glMXnQoYzn-w1F7GjUCVjhnW6ssACr4_tSeE,716
45
+ python_ddd_framework/background_execution/module.py,sha256=V7AMhBwPOQlrHMoO5xgq6SyGJepykiv8HaPjohiRuBo,4831
46
+ python_ddd_framework/background_execution/permissions.py,sha256=63PomRO6Zb9z0ezn6ra6n8zVjbdFFsnzqpGJ_Xcm3AU,584
47
+ python_ddd_framework/background_execution/processes.py,sha256=E1ynb_Og8xu6hOUXHXQw-xMNXaMFkbsqEkmyQWgdkpA,13383
48
+ python_ddd_framework/background_jobs/__init__.py,sha256=DLPrkoSb7wXWmGZOAzFynmjvI7qtyKXpaCGTnU5FWBs,819
49
+ python_ddd_framework/background_jobs/catalog.py,sha256=-D4Rhln_VkIRt5nrld-icxZSMUqfZsYhJXRd1wV3d-M,14237
50
+ python_ddd_framework/background_jobs/contracts.py,sha256=WT0Zr6HsbMr2Pd-OP8boq0hcD0MZ8M5n78FgNcLL9B4,7855
51
+ python_ddd_framework/background_jobs/declaration.py,sha256=lG5wvMGxi16RsMcq6LKOriehVVwa46432xegn4Ubpgc,2620
52
+ python_ddd_framework/background_jobs/errors.py,sha256=DqxEYOjF6zePAajZDxWhCTA9TRMS0ZB0f5F0TMsGIMo,1002
53
+ python_ddd_framework/background_jobs/execution.py,sha256=olNvPhmvI5GBdKdH6eOEK9XPk8XW4kbnsR_sl0tSx0E,7140
54
+ python_ddd_framework/background_jobs/pgqueuer/UPSTREAM_LICENSE.txt,sha256=0lCGUd5Pke2Up1Kqn1kRnHcwLlBz60E8xvR7WL4k_kE,1066
55
+ python_ddd_framework/background_jobs/pgqueuer/__init__.py,sha256=n-JvhTn9cDVbJE553wD6GTSDZLF99nJ2766pBZRlrXk,246
56
+ python_ddd_framework/background_jobs/pgqueuer/enqueue.py,sha256=lXnzCjylFCOoNmDcKeAy3ADtl5HSUdEywZiO3FsiJtQ,3839
57
+ python_ddd_framework/background_jobs/pgqueuer/migrations/0001_pgqueuer_1_3_2.py,sha256=kcB-brergYrpWkmQJR_cqfpL1grioQRI4OTiuszLhyM,3437
58
+ python_ddd_framework/background_jobs/pgqueuer/migrations/__init__.py,sha256=PIhnqwZXnEQ7msJi74mXM7Ej27Fy6J96Xaomu3h8yUo,52
59
+ python_ddd_framework/background_jobs/pgqueuer/module.py,sha256=tcqbrFg8oXnqTQcUGjTw0TmjGhQRLBRndWWn7W6EUOI,4504
60
+ python_ddd_framework/background_jobs/pgqueuer/options.py,sha256=ueoAm1FbQpwu8M7SYx-r4zEjihEYZ6w_IrAKYoRha2k,3821
61
+ python_ddd_framework/background_jobs/pgqueuer/runtime.py,sha256=rbl2TB2BQB00rRiJz6iKHxzgwpw7oG43PpfGm1n9Bv4,17622
62
+ python_ddd_framework/background_jobs/pgqueuer/sql/pgqueuer_1_3_2_install.sql,sha256=sMXEZXO66IGYuU7YSaKWz4vEViEnA2Ab1YdOV9CwqLA,5964
63
+ python_ddd_framework/background_jobs/pgqueuer/supervision.py,sha256=cZO2XAudfiipPpcgNJLE41rneeqJQI7hZyl22ocnqCM,8063
64
+ python_ddd_framework/background_workers/__init__.py,sha256=tOMBBvihovf1NegDJx5H_yZ3x9SOO_DGaARdJ75X6Jk,647
65
+ python_ddd_framework/background_workers/catalog.py,sha256=esbPe_nz6GFKOkNy3cHJaHGJT4AKvPHbUwejVZBtbe4,3912
66
+ python_ddd_framework/background_workers/contracts.py,sha256=rDscYI7o9jebr1eFGIaOVCUyFFp9WG127obj50fYLyY,5603
67
+ python_ddd_framework/background_workers/errors.py,sha256=sNPth84yM9fE77dr5V_SdAI8oqcPZu4eXqOhsDMqeaU,732
68
+ python_ddd_framework/background_workers/execution.py,sha256=e7OywrRefIN6mhzvHApCoS8L5fXKI8kLgNxHpGV2idY,5490
69
+ python_ddd_framework/background_workers/runtime.py,sha256=hJJKpMRTDUBy3uJ23iJbzH7DH-RDlCrncE9fAf4poqA,10391
70
+ python_ddd_framework/caching/__init__.py,sha256=J4MKK4ptwl8KraAKWiqDo18LYAQmZ_Wb5SgCL35VUM0,341
71
+ python_ddd_framework/caching/contracts.py,sha256=71zhKUqi3zD-iZ5lZfVKRNjlkNfMpjffICaGmGUoe0A,2190
72
+ python_ddd_framework/caching/errors.py,sha256=pR-lBWjNY6UFcnPhM9eahoipC_1VxZmJESRoQp9kpa8,473
73
+ python_ddd_framework/caching/module.py,sha256=jTRHucFxJc5wwhVV-8n4E9wMbzCiHXjey_SWhHaobBI,701
74
+ python_ddd_framework/caching/naming.py,sha256=tfzmBSzbiVZsyJTKaoO7ayvl4qYgyozcjN-hKdegU_Y,977
75
+ python_ddd_framework/caching/options.py,sha256=F-Js1n-WfERr4kn86tP6sSOTm_42wMHqALOO-1r-ZD0,1441
76
+ python_ddd_framework/caching/unit_of_work.py,sha256=noS5LHQvr7LMWWRX965eTBMmE2GzWkfswWvK6CZVkmo,1390
77
+ python_ddd_framework/cli/__init__.py,sha256=yK3U_M-p5KvD5OWBL-Zo2SCswy4huZGv_P49zFEve-8,5110
78
+ python_ddd_framework/cli/development.py,sha256=2EMVAjCvHJ7W-GwiXJ6nzN-kH5ksuyh6aTJiaStueks,3595
79
+ python_ddd_framework/cli/errors.py,sha256=Kx0Vr029fWiIqP2sP-D41EXMOLB6RdVbgDvNIwOCwuw,131
80
+ python_ddd_framework/cli/inspection.py,sha256=a21h-hUqGbT0nKr36aE5B0KMhtwGagHV0y6RDd2p9rI,3587
81
+ python_ddd_framework/cli/project.py,sha256=lK1Dtzj7iqUJhegrnty_WFJV_mI4G-8Zm_XjwxzTI7M,4858
82
+ python_ddd_framework/cli/runtime.py,sha256=QMkSeLelYi_VbBLK9efVSaTuPL-ih4zFayzyIWWU5y4,1989
83
+ python_ddd_framework/configuration/__init__.py,sha256=eSWGpeWl38hLZPWDo4zhpQ8YQsL0gvFQ9gHrOPv9Yfs,568
84
+ python_ddd_framework/configuration/composition.py,sha256=WAe3_KXbd3kj-m1gePW9eRxOcN8CBwBtq9HqKY64HyE,2230
85
+ python_ddd_framework/configuration/contracts.py,sha256=04vnMJ8j9NpFdfXEpIYcnO0iVLut8ZqWl45BbnkSCwQ,1625
86
+ python_ddd_framework/configuration/dotenv_source.py,sha256=X_H-N6u8DTBntWFKXGXD80LF6e6R2T6sNNMyQhNwk5w,2062
87
+ python_ddd_framework/configuration/environment_source.py,sha256=5DFYpLyOXpCkYT4WmNH-Hj-ehOjwQefx9ihHIlX3pj4,1570
88
+ python_ddd_framework/configuration/immutability.py,sha256=TRB2caTQtoDUA1bcQt9bPWBl-7u45f5vO30sRJQnKkc,5672
89
+ python_ddd_framework/configuration/input_shape.py,sha256=T97z95F2PQkvNN0PV5Iz1s19UvX1CZGvyV7Ojo7cRLY,2438
90
+ python_ddd_framework/configuration/merge.py,sha256=VE6vtvcyQu8rQaqGAQs23JQmhJFneq6cWd1SZCow1Bk,3702
91
+ python_ddd_framework/configuration/root.py,sha256=aF2ideF_Hz6N3cY_W1kvZDQRe1JGv8SeIC3-bxpYMrQ,7919
92
+ python_ddd_framework/configuration/sources.py,sha256=Xd7Sxk0umHS7h5SRq08NSWGhLmJ3lHVP6tyzmh1F7AA,19233
93
+ python_ddd_framework/configuration/values.py,sha256=4S8Ae2CRRekA9ge0ZxoMJcdJn3XqnF06E6DOaAZZuHc,14591
94
+ python_ddd_framework/configuration/yaml_source.py,sha256=hZhKftmip6rRQUwqQBfTi_d-UYthUqWPbL5dQUvb89Q,2016
95
+ python_ddd_framework/developer_kit/__init__.py,sha256=PWBBMijgV-eaks044Q9KoSkGJ6Nr1BGvyDJpEKLUMsw,76
96
+ python_ddd_framework/developer_kit/generation.py,sha256=HIFHYpz99WyNZWzOQQbznU6ApNVDqf33BSQZmRKlmso,9600
97
+ python_ddd_framework/developer_kit/project_metadata.py,sha256=_GMMdxSgVdJ6NHMdv9RKvRiokJMD2ok9it6p8LFY1G0,2011
98
+ python_ddd_framework/developer_kit/source.py,sha256=KgAqGJS1MpLpOuvGR7C8ree8zE33FfeC6Zn12Svb6Lg,2062
99
+ python_ddd_framework/developer_kit/templates/basic/cookiecutter.json,sha256=mvKvjygi_k6DqcE_fLuvTuvSeD5qXttudCL0dtRTqck,68
100
+ python_ddd_framework/developer_kit/templates/basic/{{cookiecutter.module_name}}/README.md,sha256=n5DAddnnCAmpZanAyEphAylUCWIOM2lrMV5vmg26ytk,3382
101
+ python_ddd_framework/developer_kit/templates/basic/{{cookiecutter.module_name}}/__init__.py.jinja,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
102
+ python_ddd_framework/developer_kit/templates/basic/{{cookiecutter.module_name}}/contracts/__init__.py.jinja,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
103
+ python_ddd_framework/developer_kit/templates/basic/{{cookiecutter.module_name}}/contracts/conversion_service.py.jinja,sha256=1GteLhlW89bfhWNP_Hk0Ph0HXbix3KeEple42r6Kai4,194
104
+ python_ddd_framework/developer_kit/templates/basic/{{cookiecutter.module_name}}/module.py.jinja,sha256=6SfgAEQlwiGJYHAg9wQ2WJLOIbduwXVmL3qIcO8dL6M,1004
105
+ python_ddd_framework/developer_kit/templates/basic/{{cookiecutter.module_name}}/services/__init__.py.jinja,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
106
+ python_ddd_framework/developer_kit/templates/basic/{{cookiecutter.module_name}}/services/default_conversion_service.py.jinja,sha256=YIYXqDycBVoUlLCwwUZ2tcyUk2fKSu-20mI00u5QUhc,342
107
+ python_ddd_framework/developer_kit/templates/module/cookiecutter.json,sha256=yirXpnODe6TAOyf2VR0LhAMPdrX-_Qvjobu4K0mC8ck,120
108
+ python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/README.md,sha256=C1YxGxTx0SuSeeWawAxSjRvCjl0CPEQQ1NKP4-QRUe4,8362
109
+ python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/__init__.py.jinja,sha256=byPOI4PKtQDi5IQa9tzZZEVYy5zGx9PJdBzPrgcxm64,89
110
+ python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/application/__init__.py.jinja,sha256=pm9_TqjN20deRELpopxK412O3mra0OZ6QdesPdcsaRU,90
111
+ python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/application/background_jobs/__init__.py.jinja,sha256=Kbig4VsdpmVUDHx5SLPf7ZZM6S5ftVmzBxBAJIjwvng,40
112
+ python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/application/background_jobs/order_approval/__init__.py.jinja,sha256=Kbig4VsdpmVUDHx5SLPf7ZZM6S5ftVmzBxBAJIjwvng,40
113
+ python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/application/background_jobs/order_approval/handler.py.jinja,sha256=6rSMbsLXX9gB8WpTnJJenJdL3hJ4E8QAK6RCsRYNMEw,2411
114
+ python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/application/background_jobs/order_approval/payload.py.jinja,sha256=a3d-y9BZPKhxvSytOw2-Bq11CJ6kHygAcUD9DduB3z4,180
115
+ python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/application/background_jobs/order_statistics/__init__.py.jinja,sha256=Kbig4VsdpmVUDHx5SLPf7ZZM6S5ftVmzBxBAJIjwvng,40
116
+ python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/application/background_jobs/order_statistics/handler.py.jinja,sha256=5dSFkMycni0TTB5JvnwixcSGAzA-Q0_RdeAJug0h6N8,1494
117
+ python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/application/background_jobs/order_statistics/payload.py.jinja,sha256=PdiJtzMYOi0nWtemkSA5T_TzYb0QrKS1MJaxTMLJ1sY,140
118
+ python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/application/background_jobs/order_statistics/schedule.py.jinja,sha256=GllIbgUWgmLoEBbKTsN3Sf1KfvEW0vbWjV2ivc-iZJU,542
119
+ python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/application/background_workers/__init__.py.jinja,sha256=Kbig4VsdpmVUDHx5SLPf7ZZM6S5ftVmzBxBAJIjwvng,40
120
+ python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/application/background_workers/order_maintenance_worker.py.jinja,sha256=R-9ELZrL7vV3PRF6Bhvrfo5hzw6uJryxKfw1ZzFgfVw,1315
121
+ python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/application/background_workers/order_statistics_worker.py.jinja,sha256=e55c_NxAmUof1cHXvLJrnpyHCCRCQRMKbbfXyLsxTa8,1106
122
+ python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/application/caching/__init__.py.jinja,sha256=Kbig4VsdpmVUDHx5SLPf7ZZM6S5ftVmzBxBAJIjwvng,40
123
+ python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/application/caching/order_cache.py.jinja,sha256=JSqqIY7PugJn0Lw40zhuoDRQHCLvsxEYb3arTW-IPcc,335
124
+ python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/application/caching/statistics_cache.py.jinja,sha256=KsRq9Z29Tfa5sF342X-3zt9p8vLoNq8Ml55CVDxitfw,394
125
+ python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/application/event_handlers/__init__.py.jinja,sha256=Kbig4VsdpmVUDHx5SLPf7ZZM6S5ftVmzBxBAJIjwvng,40
126
+ python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/application/event_handlers/order_changed_handler.py.jinja,sha256=Tu40Q_HPbF0dNO0hqNJDBFCs6G2n9kNt3RHanIcfhUM,1311
127
+ python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/application/hosted_services/__init__.py.jinja,sha256=Kbig4VsdpmVUDHx5SLPf7ZZM6S5ftVmzBxBAJIjwvng,40
128
+ python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/application/hosted_services/order_integration_service.py.jinja,sha256=gc2N-sFdUj8W2aSfAa-b9PNt_r3UgX7cCa5zMHfIMx0,1746
129
+ python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/application/hosted_services/order_observation_handler.py.jinja,sha256=wb6MEg3X6T8YExt1CGl7VPPLDhANmVYCaylMQm8Qh5g,656
130
+ python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/application/integration_services/__init__.py.jinja,sha256=Kbig4VsdpmVUDHx5SLPf7ZZM6S5ftVmzBxBAJIjwvng,40
131
+ python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/application/integration_services/order_reporting_service.py.jinja,sha256=cdJ7odGr4z-Ag-yMQRiDdjmOnGK4r_s7ncOLMYOuq8A,650
132
+ python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/application/interceptors/__init__.py.jinja,sha256=Kbig4VsdpmVUDHx5SLPf7ZZM6S5ftVmzBxBAJIjwvng,40
133
+ python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/application/interceptors/order_timing_interceptor.py.jinja,sha256=1sHnsVkmhnppTUSCHLGw7XLvJGcmTdM4Rw9uuqBBf_A,544
134
+ python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/application/module.py.jinja,sha256=7chw1b1HbWCAul9sWcHlApyYvT0tD6XZLp0M6k9Y0gA,5216
135
+ python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/application/options/__init__.py.jinja,sha256=Kbig4VsdpmVUDHx5SLPf7ZZM6S5ftVmzBxBAJIjwvng,40
136
+ python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/application/options/order_options.py.jinja,sha256=KWROjwhiHoq4XLSFBB1upiEFW7YPgjQKVVN52jaxbsM,223
137
+ python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/application/services/__init__.py.jinja,sha256=Kbig4VsdpmVUDHx5SLPf7ZZM6S5ftVmzBxBAJIjwvng,40
138
+ python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/application/services/order_approval_service.py.jinja,sha256=U45LiIi71Q-pLp63HNpDuZBFrQCYR_c_4cIabrx-V-k,3301
139
+ python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/application/services/order_management_service.py.jinja,sha256=BhfVZZpK6FcbqfBohU1VcFXwM-uyd_4q9Vfm0Lsw-5g,1843
140
+ python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/application/services/order_query_service.py.jinja,sha256=JK5jTXJPfTcovlmo3TochsAi_DoKYPrLiuGctyi4KyI,2079
141
+ python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/application/setting_handlers/__init__.py.jinja,sha256=Kbig4VsdpmVUDHx5SLPf7ZZM6S5ftVmzBxBAJIjwvng,40
142
+ python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/application/setting_handlers/approval_setting_observer.py.jinja,sha256=7n00AKKcDhPAMMQtPEwcyliM_xOmQkcN-pMJ_eO1fc8,511
143
+ python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/application_contracts/__init__.py.jinja,sha256=grSDmU4IKdRYZsqi56aEVvsgx92AYF2k3jlDzANqra4,51
144
+ python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/application_contracts/inputs/__init__.py.jinja,sha256=Kbig4VsdpmVUDHx5SLPf7ZZM6S5ftVmzBxBAJIjwvng,40
145
+ python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/application_contracts/inputs/approve_order.py.jinja,sha256=WV78b_z40n7IL3Pxm7CMSzZxeZktPdUwXRoccM78TfQ,182
146
+ python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/application_contracts/inputs/create_order.py.jinja,sha256=3mDGPddJ9DmK0a8PfbMTQlNds4T55LQvWy87GCQ_aBM,315
147
+ python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/application_contracts/integration_services/__init__.py.jinja,sha256=Kbig4VsdpmVUDHx5SLPf7ZZM6S5ftVmzBxBAJIjwvng,40
148
+ python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/application_contracts/integration_services/order_reporting_service.py.jinja,sha256=5_fvkJORmvmVJjhH63_of3rEW2ocXryYVdoNsTlKYMk,200
149
+ python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/application_contracts/module.py.jinja,sha256=_OONVbsuCD5Lu1NGgrO1P8XsZcGnyxMKsGpdpUUtgHA,1734
150
+ python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/application_contracts/services/__init__.py.jinja,sha256=Kbig4VsdpmVUDHx5SLPf7ZZM6S5ftVmzBxBAJIjwvng,40
151
+ python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/application_contracts/services/order_approval_service.py.jinja,sha256=YZMDiLprKSfzi7Nq8Wx3Bmt0vIgcT1YYiI3FIvEofTQ,561
152
+ python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/application_contracts/services/order_management_service.py.jinja,sha256=9wajkaXiEC-qLBxSOlexsDg1h23-3fKcMqbH8M4HkxU,469
153
+ python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/application_contracts/services/order_query_service.py.jinja,sha256=S0T_223keC4oLDCSrkkHt7L0_XmnmKPH4aJgmcUqcQA,426
154
+ python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/application_contracts/views/__init__.py.jinja,sha256=Kbig4VsdpmVUDHx5SLPf7ZZM6S5ftVmzBxBAJIjwvng,40
155
+ python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/application_contracts/views/order_statistics_snapshot.py.jinja,sha256=EB4pUY8MpAqRPHrLf023DHkGdialHqJnd7TgI-9FEQo,223
156
+ python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/application_contracts/views/order_view.py.jinja,sha256=1Vj-E0uzpLrj2nbUv7YQEbxTkFXK2xWbbGb3bnjOKG8,326
157
+ python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/domain/__init__.py.jinja,sha256=m2rqZegGy5XHzGMUVk9vwVcjEF7TufveMAELuJLynnk,60
158
+ python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/domain/entities/__init__.py.jinja,sha256=Kbig4VsdpmVUDHx5SLPf7ZZM6S5ftVmzBxBAJIjwvng,40
159
+ python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/domain/entities/order.py.jinja,sha256=MSzdvdo274tMYKv1nfYfE47N6XPD0kNdL4xgFAvU5dU,1970
160
+ python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/domain/events/__init__.py.jinja,sha256=Kbig4VsdpmVUDHx5SLPf7ZZM6S5ftVmzBxBAJIjwvng,40
161
+ python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/domain/events/order_changed.py.jinja,sha256=rppAqmZUE__uuB9LUhn82K43WjMhpkKJvpQ4LPpcArM,310
162
+ python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/domain/module.py.jinja,sha256=QkQSHBHhqkui0TEkW78gkB_KB7KYBl6JhF1nFA7M2U8,1819
163
+ python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/domain/repositories/__init__.py.jinja,sha256=Kbig4VsdpmVUDHx5SLPf7ZZM6S5ftVmzBxBAJIjwvng,40
164
+ python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/domain/repositories/order_repository.py.jinja,sha256=fq-sEnbavHmMdzMl4i2pCyIefLxHNnE8TsRR_Batcvg,804
165
+ python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/domain/seeding/__init__.py.jinja,sha256=Kbig4VsdpmVUDHx5SLPf7ZZM6S5ftVmzBxBAJIjwvng,40
166
+ python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/domain/seeding/order_seed_contributor.py.jinja,sha256=c3moNxkFyXqaI3GBTUGyLj183BJqvtpVJ-45yEh36OM,1254
167
+ python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/domain/services/__init__.py.jinja,sha256=Kbig4VsdpmVUDHx5SLPf7ZZM6S5ftVmzBxBAJIjwvng,40
168
+ python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/domain/services/order_approval_service.py.jinja,sha256=Nz0r5QJlDVJrR_PmbMq543YUayO58MXUGgGTOS5UYxc,1194
169
+ python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/domain/settings/__init__.py.jinja,sha256=Kbig4VsdpmVUDHx5SLPf7ZZM6S5ftVmzBxBAJIjwvng,40
170
+ python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/domain/settings/approval_settings.py.jinja,sha256=azxRfoZZyFN_R5duP12uzEICU5PZMxXdK2ZNrmLFLf8,759
171
+ python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/domain/value_objects/__init__.py.jinja,sha256=Kbig4VsdpmVUDHx5SLPf7ZZM6S5ftVmzBxBAJIjwvng,40
172
+ python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/domain/value_objects/order_title.py.jinja,sha256=w9LB9gUzq75yE1GhZUUNt2eOBc3cZd48Z4TRZc88tBw,316
173
+ python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/domain_shared/__init__.py.jinja,sha256=LU6KHrXMq__7fxyg38mtvQcKT53lPyyZh5NdWOJco6I,64
174
+ python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/domain_shared/constants/__init__.py.jinja,sha256=Kbig4VsdpmVUDHx5SLPf7ZZM6S5ftVmzBxBAJIjwvng,40
175
+ python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/domain_shared/constants/order_constants.py.jinja,sha256=3YxN9H7_F3cEg01RC22xJ1i1RuBy1hbtaO9C25USehE,71
176
+ python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/domain_shared/enums/__init__.py.jinja,sha256=Kbig4VsdpmVUDHx5SLPf7ZZM6S5ftVmzBxBAJIjwvng,40
177
+ python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/domain_shared/enums/order_status.py.jinja,sha256=XGsuAY0lHzPMhABp2Kw1mztHjj8VTH63ivrx_ehe3oI,104
178
+ python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/domain_shared/errors/__init__.py.jinja,sha256=Kbig4VsdpmVUDHx5SLPf7ZZM6S5ftVmzBxBAJIjwvng,40
179
+ python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/domain_shared/errors/order_errors.py.jinja,sha256=sbiJjLG1lIlLN_-sUvAaADShxnGHex3qg98nZIizXdI,399
180
+ python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/domain_shared/messages/__init__.py.jinja,sha256=Kbig4VsdpmVUDHx5SLPf7ZZM6S5ftVmzBxBAJIjwvng,40
181
+ python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/domain_shared/messages/order_messages.py.jinja,sha256=0imvpRYha7golR8cC83HGdGRV-GvdJx67aoUZGgaKdE,741
182
+ python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/domain_shared/messages/order_observation.py.jinja,sha256=c-BnXSKbExBKLX5kWDkSq_FvxyLEqpG-tCl4B1yx-iw,286
183
+ python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/domain_shared/module.py.jinja,sha256=0iJiL9whwHHtm324C7TAjbZDQaBb8loImArhRmAULHc,1613
184
+ python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/domain_shared/permissions/__init__.py.jinja,sha256=Kbig4VsdpmVUDHx5SLPf7ZZM6S5ftVmzBxBAJIjwvng,40
185
+ python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/domain_shared/permissions/order_permission_provider.py.jinja,sha256=GWQCECuEhksTxGfGfw-G3UfJ82DcTyk2C6fcI9vfyw4,802
186
+ python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/domain_shared/permissions/order_permissions.py.jinja,sha256=s7oAdtLGMfDHmpO6tla1nHN9O0_ROwikMETcWMkI_5o,260
187
+ python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/domain_shared/value_objects/__init__.py.jinja,sha256=nBHEqMXm9wNPIjUvK-sD6SdyiyD0vMZKER0Oy1OUM1I,76
188
+ python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/domain_shared/value_objects/money.py.jinja,sha256=AwSZal8EhlbLaoOo05Ro2r5xKIlvDRyP4nKZlokGUiY,601
189
+ python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/http_api/__init__.py.jinja,sha256=0YILK1GtpKuf4icbuq3C9BhggZlv5MUD65FHMth6YG0,89
190
+ python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/http_api/filters/__init__.py.jinja,sha256=Kbig4VsdpmVUDHx5SLPf7ZZM6S5ftVmzBxBAJIjwvng,40
191
+ python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/http_api/filters/export_filter.py.jinja,sha256=qfHBAxGV2q-hmG3ffyB4Af-HgeG9Rb75SaVsSn-WlNc,639
192
+ python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/http_api/models/__init__.py.jinja,sha256=Kbig4VsdpmVUDHx5SLPf7ZZM6S5ftVmzBxBAJIjwvng,40
193
+ python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/http_api/models/refresh_orders.py.jinja,sha256=0NDWyOJThlCGgZQUS1FRZSVoLBCryF9nw5qgHaps6To,136
194
+ python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/http_api/module.py.jinja,sha256=GG_msIQ74kcD3G0pIIxsaDQ160VSxudutviLi43XzQk,4780
195
+ python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/http_api/routers/__init__.py.jinja,sha256=Kbig4VsdpmVUDHx5SLPf7ZZM6S5ftVmzBxBAJIjwvng,40
196
+ python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/http_api/routers/order_files.py.jinja,sha256=GKvUT5DAeUbUn3wqfKSLM8XdM7KgQQy-ZGY2p3Iswx0,3465
197
+ python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/http_api/websockets/__init__.py.jinja,sha256=Kbig4VsdpmVUDHx5SLPf7ZZM6S5ftVmzBxBAJIjwvng,40
198
+ python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/http_api/websockets/order_socket.py.jinja,sha256=1QjmBavWJgS360bG3rN-csGwkjYX_l3ff9hwOZbty10,1903
199
+ python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/sqlalchemy/__init__.py.jinja,sha256=orK7ZIMzTjfc5ZcFnbqqAZwe3vc3LaB4_dCisIbuUZc,50
200
+ python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/sqlalchemy/migrations/__init__.py.jinja,sha256=SOgnSnlPoYAJLxOxAyJMnJ-btjLHCRwFGXxASSXaaZE,92
201
+ python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/sqlalchemy/models/__init__.py.jinja,sha256=Z-KE6r2YqebbJLxeTG28gHFou7ylPiEn0u-kRJnUbzk,52
202
+ python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/sqlalchemy/models/base.py.jinja,sha256=T25cme03rmEWFZtfn4dmsER11ZmD_vz3FiUYeqgGMlE,181
203
+ python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/sqlalchemy/models/order_model.py.jinja,sha256=jIUiI8yka9NzccXG5hzl9fcXoppdfsujadSNpAsdxkU,1328
204
+ python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/sqlalchemy/module.py.jinja,sha256=PGfDaKfUTC2_G31RUchvZVshVGRrrCrxEcpTiulxHJ4,2409
205
+ python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/sqlalchemy/repositories/__init__.py.jinja,sha256=VdqphDwvoB9nhl5Q9vHpSnmMWwDUlDp_YckRkionwWw,46
206
+ python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/sqlalchemy/repositories/order_repository.py.jinja,sha256=CaC1CddHrIRiovsdX6M8a0K8d3vhmitKhYvr0oEO7dQ,3907
207
+ python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/tests/__init__.py.jinja,sha256=Kbig4VsdpmVUDHx5SLPf7ZZM6S5ftVmzBxBAJIjwvng,40
208
+ python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/tests/test_domain.py.jinja,sha256=7aELY93ty7EiJOS6s3GpXYE1z5CLy658rnAUElTyy-U,738
209
+ python_ddd_framework/developer_kit/templates/project/cookiecutter.json,sha256=vmN799k9eRHAEGeYt8uUjPsusbblvgpNIsXVOsXUno4,314
210
+ python_ddd_framework/developer_kit/templates/project/{{cookiecutter.project_name}}/AGENTS.md,sha256=lu3CQ7HdMczt7zWHVyfHUilOX8YvAdXkDtaZYopD1uc,7660
211
+ python_ddd_framework/developer_kit/templates/project/{{cookiecutter.project_name}}/README.md,sha256=xJZD8VyGjAkTbYMdOAWKn3gMgCo_aYzcH0jeVqiZKZI,8605
212
+ python_ddd_framework/developer_kit/templates/project/{{cookiecutter.project_name}}/backend/.dockerignore,sha256=TG053vIzikxG8h53vCcU_s5wcr7p4GEKwsedbrRrSOo,71
213
+ python_ddd_framework/developer_kit/templates/project/{{cookiecutter.project_name}}/backend/.gitignore,sha256=OF6nwgb-RiP8EAXc5osbk3bsOEYkk0JaV99v3FcglTU,66
214
+ python_ddd_framework/developer_kit/templates/project/{{cookiecutter.project_name}}/backend/.python-version,sha256=lN0hZ-3c-Wk_uFRrQasUfy9YJrXrdvSzYKhuHeXIXbY,34
215
+ python_ddd_framework/developer_kit/templates/project/{{cookiecutter.project_name}}/backend/Dockerfile,sha256=iCv_T4LCAPLEi0qQa04UwUqeCOOIHRvipf4BPQZS_FQ,1164
216
+ python_ddd_framework/developer_kit/templates/project/{{cookiecutter.project_name}}/backend/app.development.yaml.jinja,sha256=FWhOsw85PuxVF0BLtEeHsqR-5oxnu6T0m4eFLZo5nMc,1031
217
+ python_ddd_framework/developer_kit/templates/project/{{cookiecutter.project_name}}/backend/compose.dev.yaml.jinja,sha256=cF0YQ31Z3IkGiae12MQlRtDcMztfeWoh9V0gCbqAlGw,756
218
+ python_ddd_framework/developer_kit/templates/project/{{cookiecutter.project_name}}/backend/compose.production.yaml.jinja,sha256=_6bOPW2232spgvInM1PA9lgRZMlWdkf_HW7GgTM0s0Q,748
219
+ python_ddd_framework/developer_kit/templates/project/{{cookiecutter.project_name}}/backend/pyproject.toml.jinja,sha256=zZ-kDjgfOYo4g35VLoctEEoyvlZm9fEB2ddHW30JzUs,932
220
+ python_ddd_framework/developer_kit/templates/project/{{cookiecutter.project_name}}/backend/src/host/__init__.py.jinja,sha256=RfLT7dqPnSotCDorSp6Taz9jBYOmepu6De_wZNelWZ8,74
221
+ python_ddd_framework/developer_kit/templates/project/{{cookiecutter.project_name}}/backend/src/host/main.py.jinja,sha256=aFaJNbpcU6fZjF0oWB8NTe2f18fucbFQmZ3PwVHWnYA,1868
222
+ python_ddd_framework/developer_kit/templates/project/{{cookiecutter.project_name}}/backend/src/host/module.py.jinja,sha256=6j63muRR7tQmYIFso-egk8L5_Zw57I61ijWR8SDpw5U,3235
223
+ python_ddd_framework/developer_kit/templates/project/{{cookiecutter.project_name}}/backend/tests/conftest.py.jinja,sha256=I_SlSxioBsCFNJLM52iM-neYBJR71qOUn7C4dI9t-7I,149
224
+ python_ddd_framework/developer_kit/templates/project/{{cookiecutter.project_name}}/backend/tests/host/test_http.py.jinja,sha256=pmiz6k0oWWrPeW_rVG2Ynibg4j3yuKvgvYFc0K7J_no,2766
225
+ python_ddd_framework/developer_kit/templates/project/{{cookiecutter.project_name}}/docs/architecture.md,sha256=aFdYGWjUMdlOYVy9jwS2z-fhpKdPJTMT2kw54G8zO0o,14720
226
+ python_ddd_framework/developer_kit/templates/project/{{cookiecutter.project_name}}/docs/development.md,sha256=w8oa8jwP2sDlVl81_4vuHKV6f7z73D1JTmdoxZ-etc8,30998
227
+ python_ddd_framework/developer_kit/templates/project/{{cookiecutter.project_name}}/scripts/.gitkeep,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
228
+ python_ddd_framework/developer_kit/wiring.py,sha256=80ZhxpGXK6NP3b_BTTc1kt3oIU21MU70cT9kgm8ZgAE,7835
229
+ python_ddd_framework/diagnostics/__init__.py,sha256=HdgzjQqMJ_SUGKJc5EcQ5PL1rM4GcTeem-L0q1r7vjQ,455
230
+ python_ddd_framework/diagnostics/journal.py,sha256=Z_i3McKDmfl_WSn4DpxelEkSlP0CfOWUcT-rCDwhO84,5219
231
+ python_ddd_framework/diagnostics/model.py,sha256=sK_xvGGjJg4P4LbHSA1uzhzAAzHu_y_ok_MH18mNo_o,1895
232
+ python_ddd_framework/diagnostics/source.py,sha256=GEVjKJX35p-GAgBFmfqhjD2b-2V_oBLMcst0rCOSyPk,763
233
+ python_ddd_framework/distributed_lock/__init__.py,sha256=qsx7OVjeFJUMsfjL3vHwosoPV8F3hCqWkYXZlgSve0c,247
234
+ python_ddd_framework/distributed_lock/contracts.py,sha256=eHyVlQLB1k7gPZGNqO9m8xeh1nm_fxWG96YXchktCRo,826
235
+ python_ddd_framework/distributed_lock/options.py,sha256=nqoUPb_IG-aJOaYHfHjycQAq_8KCqVZML4wYEZwGuEk,757
236
+ python_ddd_framework/domain/__init__.py,sha256=ZWiSjhtYrzwNalfaaFYzp3XFgvfwjnJgzFF5zSkZ4cQ,384
237
+ python_ddd_framework/domain/aggregates.py,sha256=YQjjxws4hivk9cXykeYFnN21EVDWkloK-PfkuLwqKzQ,2326
238
+ python_ddd_framework/domain/entities.py,sha256=bNpc9GAX-ZnXvGkl_IE2BZAmUaYjA46KbcJYZOUU1bg,917
239
+ python_ddd_framework/domain/errors.py,sha256=wlOhSaCjFAc0-ZJytoSNt1Xhox20cVm3td_WgDRY3kc,378
240
+ python_ddd_framework/domain/services.py,sha256=cfFCzUVB0hGQPinhv5Uz-nlxHtaRkTy8TchLEIC81rY,434
241
+ python_ddd_framework/domain/value_objects.py,sha256=k3-CZPF759fJxn-Xoj3JsWvDtPMj_3IYfQRIQsYm6mA,1144
242
+ python_ddd_framework/errors/__init__.py,sha256=dTVJLcBvgWArSmZWD6cGrN7-geO4_jOZAtEyar-eW78,2243
243
+ python_ddd_framework/errors/base.py,sha256=NZomLNkE6T6yobDzpzi_n5JqK4YAHNHPPZk_bHJa7Gw,397
244
+ python_ddd_framework/errors/business.py,sha256=4Wz9NSEFwoprnjtimSpYBMbT5PMGEMyMgAoEJcHb9rM,2503
245
+ python_ddd_framework/errors/configuration.py,sha256=SCsD4IjOSa_9-gBosLIRpU8DvIr8hPiua1Qpc1a0ztw,3882
246
+ python_ddd_framework/errors/diagnostics.py,sha256=2xv8fWqNenSVVMmZT8zEB91xb8Wi1O0qxFLFS29I71U,392
247
+ python_ddd_framework/errors/lifecycle.py,sha256=R_zUgatcXGlvDvwu-fC8FNcsG5nZ2SxQP5M6_09asTo,4414
248
+ python_ddd_framework/errors/modularity.py,sha256=JL243-yJ6OfHum1vkbq1CtP3Xrh2Mgv_qIaZxlVNIJg,2863
249
+ python_ddd_framework/errors/services.py,sha256=3Dbk51XflZ_r-nJWFi93siZ4vU2V9r9OtPOkce8RTZU,3137
250
+ python_ddd_framework/events/__init__.py,sha256=nOn0j4-GNDFk8fvKagGC872T3HqKMXXb1udQ4SEnTBk,820
251
+ python_ddd_framework/events/aggregate.py,sha256=lLKeC2lHIzeP27jSyDkNLOP5svkslVkmTztAW-Btg-Q,1368
252
+ python_ddd_framework/events/catalog.py,sha256=Rzbjn-7SlCH5_qPFoyKvSUuIjrCg9KeGxohjVh9Q37c,4973
253
+ python_ddd_framework/events/contracts.py,sha256=pQn9Wpa5Ibn55KwW4ustQZbLpo2pAni5B4cOH_UGwOI,1604
254
+ python_ddd_framework/events/contribution.py,sha256=uxVHrOCUXrU91mYQTwerLD4a4oKRbX3EMR6hmXzz4oU,2721
255
+ python_ddd_framework/events/discovery.py,sha256=CdWW2yMAtigDUc1c6Jv3c3LfIeoQRZmzm7eUq9Vp0zU,4123
256
+ python_ddd_framework/events/entities.py,sha256=kGvAg_9oN3mJp-x7De31-5yV-aDhKpT36cTF9yT9jSY,490
257
+ python_ddd_framework/events/errors.py,sha256=DA7J9VcpTt1sYSRjHY5In6ynC4I0yxrtOHwezb4MTwg,1765
258
+ python_ddd_framework/events/module.py,sha256=TdbBxlPh8Ce-MpSB5VUVxshjKXo8eUFSbbHfz6MNO4s,4184
259
+ python_ddd_framework/events/runtime.py,sha256=yNI8BMFBi6rjoEGPceFL40eDQfPM6liVB76MWE1N5PI,9243
260
+ python_ddd_framework/events/subscription.py,sha256=ojmxJXeQYRInUmfUL_jfgfFllmyu8hWwrj7g-bli4LM,1202
261
+ python_ddd_framework/events/unit_of_work.py,sha256=vihNnhbKcTyUHrcCKLtp4YBlVtXefd7s-_0AYcCYC5A,897
262
+ python_ddd_framework/extensions/__init__.py,sha256=YyBshXDDgNWbXszxDZFZVgAoloU74y-e3eyLrFvduD8,487
263
+ python_ddd_framework/extensions/catalog.py,sha256=khN3pHIFoWLyLf_cemToDyLYMsnp9aUnioaKis8BV5k,8448
264
+ python_ddd_framework/extensions/contracts.py,sha256=MKYIko55LuJUDne_othsclqyDZ0TujJZkhZpkqomgrs,3059
265
+ python_ddd_framework/extensions/models.py,sha256=wwv2IoL48hbNwk4BLZgqEPejoZxg7Yt3X5tOEy-wxVo,5969
266
+ python_ddd_framework/extensions/module.py,sha256=V-m2tO_lTvrtBYxBltpc6qvRndYtPUIErPacL7qh--4,799
267
+ python_ddd_framework/fastapi/__init__.py,sha256=L1FTfMPpVp7WR-aPC-Rxh8ZXfjjLRbp7XFfyRf5U5cc,1396
268
+ python_ddd_framework/fastapi/action.py,sha256=C9K3ggt8de8At2m0KtIhH7KqzNWpFqzay5y0eIXuup4,7104
269
+ python_ddd_framework/fastapi/adapter.py,sha256=EQbiLBHF-IZzv4k8FR9p_IIDkYa4MyxTWKNv3Pn2b7A,17151
270
+ python_ddd_framework/fastapi/application_services.py,sha256=N1eeT7l3OQJiYqp98WpIhLl3UYwOv97lZkWsuOfsQYU,27564
271
+ python_ddd_framework/fastapi/background.py,sha256=MZASgFRz1tQkzMo7A33ZA41qS90wpboLrOdL3RHc87w,1616
272
+ python_ddd_framework/fastapi/contracts.py,sha256=I9EFDcAuv_Xlv1iNxKWIo4krt3-vkfJgV4ngPKWhxPM,11888
273
+ python_ddd_framework/fastapi/errors.py,sha256=XPhxj-WyWQ2wj1q1JkalnyVi2UaOKHbFk_-RbMnS5Ok,984
274
+ python_ddd_framework/fastapi/filters.py,sha256=aQQB4imJa9XaZUsVkIwmkZ9iZH54P_36wulc7RIKuXU,3954
275
+ python_ddd_framework/fastapi/health.py,sha256=GjHN8AnUAU5LpeUl9-U7ScnI7deeHJ3u4pm4fOnCMA0,1312
276
+ python_ddd_framework/fastapi/http.py,sha256=W0jFoqVYOc_rvT7BGa9m1btEThixX7o0ujt_TMxegsg,2725
277
+ python_ddd_framework/fastapi/http_router.py,sha256=pgfzy7zcUgy8bNOUTIRn7vgeSHLLcVcVbufLute_m_Y,9254
278
+ python_ddd_framework/fastapi/manual_action.py,sha256=f-0GawXtqWIcScN_0hd43uhDNw3EAyZwzmNSQwdlsh8,4284
279
+ python_ddd_framework/fastapi/middleware.py,sha256=uIT3KFyVPy-ruBvNzjANclqLp4RAx3X01F9_yN3JEMQ,3968
280
+ python_ddd_framework/fastapi/module.py,sha256=ZODzWZGj1f5dtjLPq-1WCaiaxyVxqWKyOfvqusebatQ,510
281
+ python_ddd_framework/fastapi/parameters.py,sha256=AiAppAiY8m7QUT6sqe_fWmwoQ-xk2Afn2ccMv45DWvs,3858
282
+ python_ddd_framework/fastapi/realtime/__init__.py,sha256=-GtZxXilBiLP3-jQpRa7HPKOMLFNh1sWeV_bcP9iONo,360
283
+ python_ddd_framework/fastapi/realtime/authentication.py,sha256=_FBZiAfe0On-jvtemCqfTX8MrlBhsY-X5etcsuqmpcc,6909
284
+ python_ddd_framework/fastapi/realtime/connection.py,sha256=YSEaRbmKpcrNx8sfh0t4Dn5_CkC4TJjOv5yqbco3Xsc,6099
285
+ python_ddd_framework/fastapi/realtime/module.py,sha256=mw_99MpA8UdGWuuRkizNmzAhUW6L4lx5v2QUiKewibY,1528
286
+ python_ddd_framework/fastapi/realtime/options.py,sha256=5xiv2pgiKb2FG3asZp5Q1jPYiZf6JmzXhFyqRTFj-Gc,1963
287
+ python_ddd_framework/fastapi/realtime/runtime.py,sha256=L32H5rkUucj2YCrvLKzxXonyTqNQ4t8CynP_hdQa1JU,14297
288
+ python_ddd_framework/fastapi/request_context.py,sha256=uIrVoI91Qx3p7--uv0OuaKDHGFh4Ac0mi5IKVx2Ac2w,10124
289
+ python_ddd_framework/fastapi/route_integrity.py,sha256=_tDeeE6XHbsgrA2i1m6Yz_I9NU_JVuYb1E3iMvbwMxE,3174
290
+ python_ddd_framework/fastapi/routing.py,sha256=_l06cAK_5FmSmmQ3BTRiBEwa6dQuK647XleWBKNPeLw,16030
291
+ python_ddd_framework/fastapi/server.py,sha256=zk2b5QZkdZsTgzyhffWJNNB02XomRExRRVYT75x6GC4,7072
292
+ python_ddd_framework/fastapi/settings.py,sha256=ix_iplijT4qvxqix0cP99ZNeP9U_yQ9F_n-Zz7FPLUQ,1463
293
+ python_ddd_framework/fastapi/tracing.py,sha256=oKdPbDAZ-VQUGCOcaNMIAQNwgi6OA2nOA8wffn9ZE70,2494
294
+ python_ddd_framework/fastapi/transfer.py,sha256=QiWPxvv-sYkilGTwP8uDh-dozGR-Qf8iLYttbAiGekM,6199
295
+ python_ddd_framework/fastapi/upload_limits.py,sha256=vK1wuH34zrqrZhg6WDwMn730nX9fUDsMFhBbHKmv2kg,1959
296
+ python_ddd_framework/fastapi/uploads.py,sha256=SUQVB7tEXUXti6GFUenBNdlW3YaIchtCi0GcBJGhU88,3839
297
+ python_ddd_framework/hosted_services/__init__.py,sha256=r9yz2PpCUgpxvZsv1WyVrzslvfYCcfmAEsFIlrxejx8,991
298
+ python_ddd_framework/hosted_services/bridge.py,sha256=y4wlI15HbC9nVugrnKYU8jwYRW16z6u8am9OtaKwuZU,14865
299
+ python_ddd_framework/hosted_services/catalog.py,sha256=maXqFDewPeYoEPYJGKf8B1G4oknVDUuy56lOSdJ8p6o,9146
300
+ python_ddd_framework/hosted_services/contracts.py,sha256=A1TYIkCCM6G9tYSKUtypivUp7VbC4jleX1hg5LgX3Xo,2004
301
+ python_ddd_framework/hosted_services/declarations.py,sha256=IvtaOWPvoTECwdhTxRqd4_4-LMyJlxjB0Xrx9zr-Ljw,526
302
+ python_ddd_framework/hosted_services/errors.py,sha256=GKG7fEkSoW4ykUXmMHriNrhuIEKBlonlN_vkjIwWKAY,1949
303
+ python_ddd_framework/hosted_services/module.py,sha256=EyDIwdtiBmhmhaG_9_MW_8iPBxsZtaWu0P6ivJOZiV4,2628
304
+ python_ddd_framework/hosted_services/options.py,sha256=KiMZhzbgFlUhYdTbTccUHMfGHrnnXrn-_5Qf6PAfxlE,551
305
+ python_ddd_framework/hosted_services/runtime.py,sha256=m9Oy_oh2WcQzO8HcBZZwPb2UuuWvVerR4BcC_8Uivpw,11575
306
+ python_ddd_framework/hosted_services/state.py,sha256=q9mZrd1nflI3WvYg6xzBzNZvbq1lEDXImSW4dXRZiVs,1459
307
+ python_ddd_framework/hosting/__init__.py,sha256=pH06-NGL_FXdio5YldB4pqY89IyL8vDe4HStwRlakdI,244
308
+ python_ddd_framework/hosting/instance.py,sha256=2vmaB4McO8vCzZcqKP3zbNPDHO1WUNyTIWyEOKm4-R8,1581
309
+ python_ddd_framework/identity/__init__.py,sha256=KoV6jnMFcgELg8AJOzj579E_HyUmDP5QDs7UHEpH9EU,2519
310
+ python_ddd_framework/identity/application.py,sha256=FYSzPdT5LUbFAwf28k_maMTbYE6tQ_18HM7o0A5buLs,8407
311
+ python_ddd_framework/identity/contracts.py,sha256=3BCTuvItGFQ-WUmZurKxKUyi9wVgmoQ-qa7k2XjZ5Sg,13911
312
+ python_ddd_framework/identity/errors.py,sha256=6sorp9LkGm6PNsYbd7tqHBPXTjXYeXQg8NDMpQAzyxA,1048
313
+ python_ddd_framework/identity/http_api.py,sha256=OzgDqCcRnLbwqp8maifVIADJ5P21MxAK_xAan98IIcY,6603
314
+ python_ddd_framework/identity/management.py,sha256=gmdB7zDEG74yZoVH4-YcBv_e-64YjRsKrStCQbNElyo,6671
315
+ python_ddd_framework/identity/module.py,sha256=EGb-SGvAAh46_pO-ABkO917O69IDJsMoKqz4zFo_I0M,1959
316
+ python_ddd_framework/identity/passwords.py,sha256=SLQPUzLSOnn33tPnga33YPNYJ3zonHEdJh75jA2C7To,1104
317
+ python_ddd_framework/identity/permissions.py,sha256=vfzowu8FD9shhNC3kQ7xYAtT00HNLNn5u0d29zRthZ0,597
318
+ python_ddd_framework/identity/services.py,sha256=3FJ904UywXMew4eQnquTyhCAk6ZCr54ToSJqJd9jTRQ,4181
319
+ python_ddd_framework/identity/sqlalchemy/__init__.py,sha256=q-Y-hevtLH-8rNp_uGDNB8WmA_vsm5FDFiyoynLaxBM,140
320
+ python_ddd_framework/identity/sqlalchemy/migrations/0001_identity.py,sha256=C7H5DsFBMkfrBheMD7j_Jms4lFf9Io6BeFQz6OcJqdo,5177
321
+ python_ddd_framework/identity/sqlalchemy/migrations/0002_physical_delete.py,sha256=ASDi0q7gRtP5QVoRpAwGhDemSwU_dQgZbSc1OLqmkb8,1319
322
+ python_ddd_framework/identity/sqlalchemy/migrations/0003_extra_properties.py,sha256=jMFTEyAqPLjgQfdu9xeHL0ZaUDFpQ9_HzcwOPc9axks,641
323
+ python_ddd_framework/identity/sqlalchemy/migrations/0004_concurrency_version.py,sha256=6XXm4ctN4U2l0IUzCDP_njbFBoO3S3x6mQ6-iz7yfc0,751
324
+ python_ddd_framework/identity/sqlalchemy/migrations/__init__.py,sha256=g1yLLP4lMAyH48mhsC6WySZ77vekkaG0BcCMmbNLslk,43
325
+ python_ddd_framework/identity/sqlalchemy/models.py,sha256=3iq0hkd-J3UYCOCK8TW5P1zI-eFIBXtCIoXvzthWcwI,4041
326
+ python_ddd_framework/identity/sqlalchemy/module.py,sha256=1mEsFxSoO_8KANh8tbiLd9D3uZgHQ5kv61E21MU-kLQ,2160
327
+ python_ddd_framework/identity/sqlalchemy/repository.py,sha256=XMqOYVZPcN-N2U1kw_52eaYeFRmUwtagYVNJJPne8YM,20138
328
+ python_ddd_framework/identity/sqlalchemy/session_security.py,sha256=_Ajv241pWW3QaPjnsplaU7QTRaH6jKSxZhWqWhwjWSA,2977
329
+ python_ddd_framework/identity/sqlalchemy/stores.py,sha256=oSWCxSafo4DlIpCwL-T-twIeI69Fy1U1jmudnd6Ssc8,11386
330
+ python_ddd_framework/identity/tokens.py,sha256=INe5AOXFFA0-ZCJTtspHRpql1R5A0GnisN7qCPGm6n0,3347
331
+ python_ddd_framework/invocation/__init__.py,sha256=AsJHV0LS2mpvY9XLeVnCrVWa2p7z-WiqL5zDBjxAxC0,146
332
+ python_ddd_framework/invocation/arguments.py,sha256=7LRZfOifZwWHc9EqtQYda83sBrqptFQE9HvK092VWs4,2769
333
+ python_ddd_framework/invocation/callables.py,sha256=Gc5lRacdsxzBnYa7jhDt6VPFi4j4Q4DADRtyo0p1_9c,6718
334
+ python_ddd_framework/invocation/contracts.py,sha256=VxT-kj4v90cq1yUx9lTs-enDeqzofRG5pecPqiazcWE,908
335
+ python_ddd_framework/invocation/contribution.py,sha256=DcNZg4qRhDX7eXypQaesGIhRtsyyZ4iNn5ATg6U8Qpg,2017
336
+ python_ddd_framework/invocation/dispatcher.py,sha256=jahBMMXJT1PKAzacaik22ro31xWkQJQeBlAwIURVwQg,11601
337
+ python_ddd_framework/invocation/entries.py,sha256=0ubnHAkqY7uFgW4QJtdYw9__KPsKuNJmcvw-VdksMJo,1080
338
+ python_ddd_framework/invocation/entrypoints.py,sha256=hZbgEYPSO-Zu7HpFk8I7RJgtyZtRshgcfQOZJbqrE9o,4151
339
+ python_ddd_framework/invocation/execution.py,sha256=A4kzeEK8Ii8_5T-jkdw__2d2Tq-p4M6K-__VKpJw7hE,7267
340
+ python_ddd_framework/invocation/function_runtime.py,sha256=PqCMm5BwZulaLnmxQF0dXpIfYhvwX6CmW3uyVC6f0bs,2026
341
+ python_ddd_framework/invocation/interception.py,sha256=dtvqLafAPVqAPXe342zfj-OYEp4XGnvfS8T3IgFwWaw,9953
342
+ python_ddd_framework/invocation/interceptors.py,sha256=WwgKI1Wb4MYj2tJpuizKGfHpPNceSOdXOglXTOBZ_0M,1123
343
+ python_ddd_framework/invocation/managed_proxy.py,sha256=QjFpCAZy9u5n9MCMkyrs1Y4V5GRO7R_eDhpxdM34aDE,4393
344
+ python_ddd_framework/invocation/managed_services.py,sha256=6DU3Pl-vKDApp0xXyfFk9A8NJaXLi6uWn_ztXDk0ql4,11218
345
+ python_ddd_framework/invocation/methods.py,sha256=uF6Y9C8FzK4M5LJoi6HJLn_YE7K4_ievvflcJ-wI8Wc,13550
346
+ python_ddd_framework/invocation/module.py,sha256=K9hcTeo9o-zp7ZtITj79J1dc-F-cCnuIc4qOPc_RR7s,4400
347
+ python_ddd_framework/invocation/policies.py,sha256=1RE1yQKZN2NMPZOQXQcqVIwaInb0Oz3EFqujqxTfXFw,1879
348
+ python_ddd_framework/invocation/signature.py,sha256=EfzIeOggbE25juu1j_cCpgGM-OouLHLtFxH8oIE8Xvs,2083
349
+ python_ddd_framework/invocation/validation.py,sha256=sy3YyGFtQ-Y69XcjzfJw7PO13zwD8guzvoOt2TG2vd8,986
350
+ python_ddd_framework/lifecycle/__init__.py,sha256=8L_wDnclU6xAPmPAtx2iGX8lf4qFczcE_ubqFsGfhJA,745
351
+ python_ddd_framework/lifecycle/composition.py,sha256=dKsqWB6Tvplkpt_d4qBFKP48Kzs9_9ud66XXdA6f-cI,1167
352
+ python_ddd_framework/lifecycle/context.py,sha256=GfWBjveXbmVLWmQsRc77p5zsUcOCN2MyEV770x855pE,907
353
+ python_ddd_framework/lifecycle/participants.py,sha256=JgqUjVQ1FwDZulyYt84FIFVBHsWyForMQyCBSzr2WYM,1257
354
+ python_ddd_framework/lifecycle/runtime.py,sha256=8itu1qc-TKYwfQpihEJevUyrsijTxhak15o7qGG-yzI,1166
355
+ python_ddd_framework/lifecycle/state.py,sha256=chxUojM1d3s-cu7mr_gWV-kFu5A-S6ANlKBQ_Pq-0GA,501
356
+ python_ddd_framework/messaging/__init__.py,sha256=RiZ1RhVT3k1HXIpWiR41ne6vJCgUpfkR2xnQTy5emHY,576
357
+ python_ddd_framework/messaging/channel.py,sha256=EKpEfQbilMA3xC5LXfu7Bi-x5f07uX8TWxjt0oh_zqU,8742
358
+ python_ddd_framework/messaging/contracts.py,sha256=2k-wQPnDPgTT_XGVEp9IlNMlhYOrMPVOkb-8U88U6O0,2220
359
+ python_ddd_framework/messaging/module.py,sha256=iHEWvo3zo6XG28GxaFgPj1PK2HbUCK8XrD5p-16XudM,4661
360
+ python_ddd_framework/messaging/options.py,sha256=SnGQA1oEHKKpPVi5n16YgacbvIkxTX4IRjEpAfLOUTo,332
361
+ python_ddd_framework/messaging/receipt.py,sha256=Mfc_waONpUlIY0arqVuHW78ETZsteeNY-LokhHYEAm8,795
362
+ python_ddd_framework/messaging/runtime.py,sha256=9-o86_2iM2z1R8eYbfh0sviUpdXpU8r4vKD4nKg5tR8,4371
363
+ python_ddd_framework/modularity/__init__.py,sha256=8MFbyTdOC-qlu87nQFCiq-JtZMdpRLjSXpiFrwu9djE,560
364
+ python_ddd_framework/modularity/contracts.py,sha256=z9PxxtOiFwtQOMZzatmO_3SYFTmPJb-aMz_fpwMg_Io,3720
365
+ python_ddd_framework/modularity/discovery.py,sha256=5e346Q4363i3WhTS_VerjS1j7A-SxxsXgYGnVRNUjko,6200
366
+ python_ddd_framework/modularity/graph.py,sha256=-1ZvNMdDim7bohS0LKOyDsPDMfKZzpQyeRlabizhRaQ,15500
367
+ python_ddd_framework/modularity/registry.py,sha256=8finkHML89GJvARM8W_GVTZ0zRLvSUOD5NKhrgEyxwc,6530
368
+ python_ddd_framework/modularity/selection.py,sha256=dhxUZsnGa7KiLVDKUeKhAcId0GHx555bfZ3_OAUwIyQ,611
369
+ python_ddd_framework/notifications/__init__.py,sha256=lLAmegjlTHgKQJORlsVw7LassYdifhcxQ_MYRMArLl8,546
370
+ python_ddd_framework/notifications/catalog.py,sha256=N2GmJIcOvwEBUe6rsnUhRN5RrJdj_bJbHQMGsggw-FQ,1961
371
+ python_ddd_framework/notifications/contracts.py,sha256=xffd4yXvBBSN_xyacDLdBBkb2n8fbpvyLFN_s9bxJWo,3677
372
+ python_ddd_framework/notifications/declarations.py,sha256=1CZGQ2EpMKfDnhAyUTv_LG3vPISY_GcJAr2sQW7bG-I,522
373
+ python_ddd_framework/notifications/module.py,sha256=UlLmEOGyMB5kBg6vd_1QBGhItKZf9Clvt3emfn-LyuM,835
374
+ python_ddd_framework/observability/__init__.py,sha256=Qg_2CPs0MTexfNvu9KvD0K59T-_9r_K3AWHe6bWKgwI,193
375
+ python_ddd_framework/observability/context.py,sha256=GOXpe34Dt46h3mZ7qrm2t9NWYGZb1gMpr8EsJY4N-PY,1546
376
+ python_ddd_framework/observability/export.py,sha256=HitQCY3b7n1kIyk4tI7GuVAthhX5fAJUnRdqfQrOOT4,2639
377
+ python_ddd_framework/observability/formatting.py,sha256=72WSSYTNhKMEn7NjFyih8ekFFUxYfS0txXw1UTHU5xY,3352
378
+ python_ddd_framework/observability/logging.py,sha256=CY_7Pl6ca6Ee9weFyacOu6WvbcslezcQXyn0AfZXDqA,4405
379
+ python_ddd_framework/observability/options.py,sha256=LHE_EWw6TKHGqPZKzJIvDJS5l5Fb8kTbzmwUl19diGw,1768
380
+ python_ddd_framework/observability/tracing.py,sha256=xXCI2QCI0r0grzr73-D8QHfpDN8mfNFGx_oTM4yWc4Y,3716
381
+ python_ddd_framework/options/__init__.py,sha256=F7hZTxaKdNeDpQ32BxXM84xL81GqfAfAdQnjY2DDThI,385
382
+ python_ddd_framework/options/aliases.py,sha256=xZKF_BfY4VHxxLHppJM7InQPo-vGXKFYro78pinXC5g,10210
383
+ python_ddd_framework/options/contribution.py,sha256=_XLB_krhRpwtRqEzAbue1XqyuZc1y7UJXybVn3b-WQQ,2589
384
+ python_ddd_framework/options/immutability.py,sha256=eZttcDu7hjVGSohmpbH-SSgWSdjyY2BnBO9T9fWsTuI,1558
385
+ python_ddd_framework/options/input_keys.py,sha256=wLUydsbJOb03ycL77YSCww8JKDTdbZMfzhLgw1YnGrQ,8175
386
+ python_ddd_framework/options/issues.py,sha256=WYOxfmgL3czn4T5Z0lz5JDHejJrGrWR9EEHmZRePrAQ,10914
387
+ python_ddd_framework/options/models.py,sha256=VDvb3DddkTDtgH9Atkk0qV9rZKzFcwUjs4WU2LclhEo,3264
388
+ python_ddd_framework/options/registry.py,sha256=Sx2kZOgp2rcI45XyFMQEpC3dGjjaLmHRjHlQLZuPwc4,11971
389
+ python_ddd_framework/options/schema.py,sha256=hiNDFzZR2qKU_hUN4WXMXA_FF77O6eg4ikDX-4fYvZs,17911
390
+ python_ddd_framework/options/validation.py,sha256=IC4kvB3tK-tUGq20rMBCYNvUVXqU_Y3dNzx4IBhj2V4,4830
391
+ python_ddd_framework/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
392
+ python_ddd_framework/realtime/__init__.py,sha256=ME1aAEFmmWwYZ8kAP4a3wxICn5EcfKx0e1lY6tiGm9o,358
393
+ python_ddd_framework/realtime/contracts.py,sha256=jVQH1pKr8KE3T9tb63deTc2CcXhgqGpjy6JWSQLBr6g,627
394
+ python_ddd_framework/realtime/diagnostics.py,sha256=cql7zeKHZdWktqY82VMMzYpSynY1MWdffofhhp4I148,1455
395
+ python_ddd_framework/realtime/messages.py,sha256=KrBgwiQ1l2QtD45tCrqX8vxa8ZLiaVlMkTn3klGIa2A,5568
396
+ python_ddd_framework/redis/__init__.py,sha256=lhqhQO1tMeGAOuHXDYl-vY10ashvs1OfKfhU45ybelE,267
397
+ python_ddd_framework/redis/cache.py,sha256=wRA5bicpajPsk48l6MwAzx-s9ACxbKP435ZuPjsL-9k,9361
398
+ python_ddd_framework/redis/cache_scripts.py,sha256=sWcvYC3_lRoSZU0sPM4Dj35I33Tgvu8degjoGlluWeo,1364
399
+ python_ddd_framework/redis/distributed_lock.py,sha256=1gH1fbe1b4asyjyhuCzITFczfeSVT9tFFPSBfIh_sJM,9587
400
+ python_ddd_framework/redis/lease_lock.py,sha256=l04gDtFdLYaWqiatX_f3Gten86HVa6OtLfl_BngJ5JE,1140
401
+ python_ddd_framework/redis/module.py,sha256=wOiVoSvcf1Rfxg5JGSq3shTqCV9l5UMSarYJJYMQPIU,2286
402
+ python_ddd_framework/redis/notification_runtime.py,sha256=he808WhYOciqgQq34oMcoFoaT3rdnugPHa1TlQsNQXc,7435
403
+ python_ddd_framework/redis/notifications.py,sha256=gVkXNmMRVkeztDUen5vWxtV0BHU5E2kjcB7mXjq-Atk,1224
404
+ python_ddd_framework/redis/options.py,sha256=4ksLj9IvTrj1LESOaJ5IDpUjUyJ7UeIRLUPHrBMlnFc,1058
405
+ python_ddd_framework/redis/runtime.py,sha256=4g0pxoz18EQnD5U-xqTk6N2PV7m9yJo6k81OgntFvNc,1085
406
+ python_ddd_framework/seeding/__init__.py,sha256=xWVZZQrwvC9niZ-X3UaCQlqMm9JJ6Df3m35WweBQes4,346
407
+ python_ddd_framework/seeding/contracts.py,sha256=eVn2Ctpar_eBjjAGubOcZ3LptE_CFD_HjxqsuXuz4SM,1382
408
+ python_ddd_framework/seeding/module.py,sha256=fEVRR5ajnQjE-tOL6LgBakTNW0osMG8F9SynvSWJ8AM,3259
409
+ python_ddd_framework/seeding/runtime.py,sha256=b7EdlnTIEl0vbEL-50H2l4XRvlcfkWcmaTmaJuqAwKE,2767
410
+ python_ddd_framework/services/__init__.py,sha256=jb4dVNn0WfaMNOHrjXk-s917KLWnpk5PRmOjaA3lpC0,1020
411
+ python_ddd_framework/services/arbitration.py,sha256=6wdccgxtjTVz77Oj_nCkJp-R4w0PysCg0oMAfXoWXqM,16369
412
+ python_ddd_framework/services/binding.py,sha256=1ojR0Z2BlF2xxOi_YAy2X2A8zIGrtGpbWW9L2MSy5DU,3939
413
+ python_ddd_framework/services/composition.py,sha256=HPq2eaCbuzGNYcLQYDapxIBtb6_u2OIg9swwajiMUt4,4186
414
+ python_ddd_framework/services/contribution.py,sha256=eoAMyU7M8akwSH8fGMz6dYn557B968N6q5jJMm9WwXE,13986
415
+ python_ddd_framework/services/convention.py,sha256=dVqrCf2OxAyiKxJcsz-gTrVxyrW1X6cDxO81bVnN_yo,7661
416
+ python_ddd_framework/services/convention_contracts.py,sha256=ZuLPGqTKlzklFBrnqe2uSe9b7qR4Wjf0Tl2xdIvoTyo,3172
417
+ python_ddd_framework/services/exposure.py,sha256=z3FofcVRF5CPsn5qNVgHUrLw-KrF8DInqqQ7saHGRMQ,910
418
+ python_ddd_framework/services/fixed_lifetime.py,sha256=Xt1hP1Z4HCsBD1y00wFRF7y6kcciNzJYQjMV9BnY6lY,1827
419
+ python_ddd_framework/services/framework_provider.py,sha256=IccmmcPYtqjNcxJ2aAbMleXAecg02SyM6CZr5VdhIIU,958
420
+ python_ddd_framework/services/native_graph.py,sha256=NgJakzIE9ltxFOiXPJT6vZFdnUAi67gBnSOFNIx8xEk,6827
421
+ python_ddd_framework/services/provider.py,sha256=MXa0rHqirmxwkFLmJavumTBijcNrg4Jreu5oWrz1FVI,10391
422
+ python_ddd_framework/services/registration.py,sha256=AsvhVv_szq8TcaXdUMvOY6fNNp85D9oJ3NmtI9zJKKA,2914
423
+ python_ddd_framework/services/repository.py,sha256=jjjCmpcz4deAZmDNSM44WlDmh9msFO53qN116CHdBSM,1686
424
+ python_ddd_framework/services/runtime.py,sha256=57G5jNjOiexpSqTCogdI18u5xeEK2YglztNqDtFcsZI,9300
425
+ python_ddd_framework/settings/__init__.py,sha256=5Ikxnl_nT9l_WDuqW916hsvVlO9t_vCjR9OIvvJR8lI,1034
426
+ python_ddd_framework/settings/application.py,sha256=9J7Q74Vr6QXJ2ddWU7-MFpwdjUXW-ZGI1Py_R93mAsM,3775
427
+ python_ddd_framework/settings/binding.py,sha256=1a-AzTLwCTU6zQ85rYBJrQE63_b7BwFf9UWbMhOfJrQ,962
428
+ python_ddd_framework/settings/catalog.py,sha256=fqVeFr3DuJWrNUfIuIwfivVhuCobQpWe32EmRieuUVE,4880
429
+ python_ddd_framework/settings/changes.py,sha256=zpHhCJY83s-KIs7NkjQAmIxzY7cJfT8FD4A08gF9NfE,367
430
+ python_ddd_framework/settings/contracts.py,sha256=E70lLiFC5G7XoEpmf3rsoW5BnPhzajm-eri0vzn0xuY,4428
431
+ python_ddd_framework/settings/declarations.py,sha256=FeFrgw6fAdjX6bGaajjnO2tsrfxEvKW6sZrRfTAxCEs,526
432
+ python_ddd_framework/settings/definition_discovery.py,sha256=zHN3-coqzdEb--mecv00v7ifWzzCfJRZ-BrFcdVx4u4,3002
433
+ python_ddd_framework/settings/definitions.py,sha256=hkWO0dqOoBmd7pKv-cUsCZaEU0AeUEULVLW1Rl8uwdQ,1687
434
+ python_ddd_framework/settings/errors.py,sha256=ZcU1nMB44_Rq9Wl5bw83s3Y066LxSLrFqOW_gG6ViS4,836
435
+ python_ddd_framework/settings/handlers.py,sha256=A0GWDKRXASlCoWm_Wduul0thAv4xW4SG305KXd6wY-4,1369
436
+ python_ddd_framework/settings/management.py,sha256=dJhyZYfNA5Qsup9yt2dKOrIwGq3OnNkDxskJniBV3BI,1656
437
+ python_ddd_framework/settings/manager.py,sha256=wjqhRCmtF_B-ETRZOTl3izRTzVJb7ebk3qLOMqFDdRE,4181
438
+ python_ddd_framework/settings/module.py,sha256=8c9c4pIpzn3XB8xkJqW4AhKkuUS-HYxwfS4px7VeP1Q,2314
439
+ python_ddd_framework/settings/notifications.py,sha256=tVSXjhhJWhkMcOakSmeOfXT1X02Hcx2xRU8Whr8rSig,1700
440
+ python_ddd_framework/settings/permissions.py,sha256=2nPyZOZ9G-4mSCIqwNI0C9WUBhP0ZwqNjljP3XZD3PE,553
441
+ python_ddd_framework/settings/provider.py,sha256=plT4x6UjBGn9B6-OmZYKswdto3NrE6Ib1lsyc1VUKoA,2871
442
+ python_ddd_framework/settings/refresh.py,sha256=XX2qO9ssrOQIKGcDYUZI8KdMeM960W5tWhoD42ecdUE,5426
443
+ python_ddd_framework/settings/refresh_module.py,sha256=wDxWau4oZCtBiMO6TDXZFbZRcKTiYaTFGWPjZnaFNug,2225
444
+ python_ddd_framework/settings/sqlalchemy/__init__.py,sha256=G-S-sSsxwfjZxr0mVAyXUBG0SIxC3ZCMtrdpMsZ14YM,158
445
+ python_ddd_framework/settings/sqlalchemy/migrations/0001_settings.py,sha256=wx_GcxijY-43V9DoNNzdvfwg8d5oYWkmeWSe23xtXLA,1045
446
+ python_ddd_framework/settings/sqlalchemy/migrations/0002_physical_delete.py,sha256=JtPmESosI_SIe4ijFuBFX7zvcgsnk-7dtjULipdC6NU,982
447
+ python_ddd_framework/settings/sqlalchemy/migrations/0003_version_tokens.py,sha256=xgb4OTNHnDO2-dGGnh0S_8SoGJldaczdK2q3ZOCCUEw,1266
448
+ python_ddd_framework/settings/sqlalchemy/migrations/__init__.py,sha256=_pT_aZchgdrBolsOE_HJWrSteG4Ejl3VSMsrQVCV0Cs,43
449
+ python_ddd_framework/settings/sqlalchemy/models.py,sha256=qKbRHhdm0uDPUUtLgeVeFvMLqF-PvwNRXKHF_xLfFqo,1184
450
+ python_ddd_framework/settings/sqlalchemy/module.py,sha256=NbvxE40aSW1aWf7CbU3GRPN_WrvsQgUXp05hAAoDtcE,1212
451
+ python_ddd_framework/settings/sqlalchemy/store.py,sha256=42XGqtwQHsp487OsXqdQbTjESBOrOn1QRSeWTb2MYYU,3610
452
+ python_ddd_framework/settings/store.py,sha256=3tdF-0l0owUdWuNEd0K8OfbXncI38hx0pD6anU5GdmA,442
453
+ python_ddd_framework/settings/values.py,sha256=KMRZDQu2FRNXDIdJwGVgHn656Hc5qRY2WQGjbBxfhO4,898
454
+ python_ddd_framework/sqlalchemy/__init__.py,sha256=DP6PAJHevoc1i-n9ma8_2CAiPmAvWoN7opqRYzHR4Sg,2054
455
+ python_ddd_framework/sqlalchemy/alembic_runtime/__init__.py,sha256=r-ZHMiEhca5M2xv3plW9U3fHfzt5lVQeDohEFqrTuv0,82
456
+ python_ddd_framework/sqlalchemy/alembic_runtime/env.py,sha256=ArKiDG9n5JOPQG44oSrJUd3o96zyY-b2PPkGysFy674,1389
457
+ python_ddd_framework/sqlalchemy/alembic_runtime/script.py.mako,sha256=sD37hvmrRZrsFAumUCW_hi50ZSM0yCrVMsLmjSD7mlY,406
458
+ python_ddd_framework/sqlalchemy/auditing.py,sha256=s4aA3WVs-ZgLm72zrSrch-SPMZUNfkT5wZ0yQtzP1zw,2178
459
+ python_ddd_framework/sqlalchemy/errors.py,sha256=RWojd0BXu0HwFldCqdz1qhsqtgz6pYwvErFmOR3tS9g,3126
460
+ python_ddd_framework/sqlalchemy/extensions.py,sha256=Qe9BCkx-aLsW6Bw3wYkfoFJQ9SQYhCI7a2xIQ9BXcdM,7771
461
+ python_ddd_framework/sqlalchemy/metadata.py,sha256=CGBEkQnYf-omokpS7nwGZ5Ey-NRNh039b8O0BYAY7Kw,27423
462
+ python_ddd_framework/sqlalchemy/migration.py,sha256=A9Ek2lcSo0r1tYQIgM29o42ND4sTloJlh65VlC3csrA,17539
463
+ python_ddd_framework/sqlalchemy/migration_operations.py,sha256=y_hH8yc11k8wftVMhTHGGpR6-DuIPftxDeUa_YCEn0U,3770
464
+ python_ddd_framework/sqlalchemy/migration_options.py,sha256=4_VK8Ei1U0twC3dnpfnzUblM9x2kqhuRPgEoB9ahtQc,2082
465
+ python_ddd_framework/sqlalchemy/module.py,sha256=t6pRRozn2t_RAU4TXq4PowP5A7rCKj0WRtHD9OE5RME,2298
466
+ python_ddd_framework/sqlalchemy/module_migration.py,sha256=dLZl7OdzDScTidCma762Ja8iKZ9oYAppmCFZuVmU8lw,9980
467
+ python_ddd_framework/sqlalchemy/options.py,sha256=FytS2WGhmm0_GyFUAEQYH_Ok5G1jdeiWM8uwEkocu6g,2252
468
+ python_ddd_framework/sqlalchemy/repository.py,sha256=A3pRAKcBEypXn23ho1vlbucL2BFFLVecf85FrMTNlfQ,10658
469
+ python_ddd_framework/sqlalchemy/runtime.py,sha256=ahWNK6ZQnjXalHUeCj_aAOhPX0_Cx3_eqIzu-QAtAq8,2998
470
+ python_ddd_framework/sqlalchemy/session_provider.py,sha256=EddBuc8DmB5lzUjcH0VCZHS5X1YR8bnzTXkw99Tyy6s,2591
471
+ python_ddd_framework/sqlalchemy/unit_of_work.py,sha256=iOcq5cXMBsKsq4hV1GR0eDJWXpdMlAJKLN5aBvM4yDk,4012
472
+ python_ddd_framework/testing/__init__.py,sha256=Fn6H9z7zuZKr4V_4P-84qei3ktghG0HGyb1yydNuPDE,133
473
+ python_ddd_framework/testing/runtime.py,sha256=UzPnLEl-Hh_i3xk6YdJ6txz_7GF36mMK-cy5wqO83Jg,3817
474
+ python_ddd_framework/unit_of_work/__init__.py,sha256=Vmm9NgsqvFURwW0KHbPAyP54dl3hhfdY99MI2dQHGxA,466
475
+ python_ddd_framework/unit_of_work/contracts.py,sha256=aECudVTkQ-0ho0t4sf5s8vlxKbGrDPHgt7uEhRH-G6c,7355
476
+ python_ddd_framework/unit_of_work/errors.py,sha256=lQH40FnyiZpFQ-WM-DfiZY57YtjFMoXgzG7fsMztzxE,1133
477
+ python_ddd_framework/unit_of_work/lifecycle.py,sha256=cr08KIRwXS3up0-pkB07UgAgvDlKY1IMZYJppDkTjK8,518
478
+ python_ddd_framework/unit_of_work/manager.py,sha256=yYHofW8AhM-G4cglKd0lxSzX0wl-QbxwDhdGWxzcC1I,10672
479
+ python_ddd_framework/unit_of_work/module.py,sha256=6H0D2ZNH5DJ2LnDGhHkI98FsTqew4Wv_oU5nc7kniT4,2492
480
+ python_ddd_framework/unit_of_work/options.py,sha256=AVcEmwwn39qvj8PLQetBeGzdU_eblABGuNLDIQU5tyI,3365
481
+ python_ddd_framework/validation/__init__.py,sha256=nTN_BgIXMLHeUtMgSj2hpisWc1_sk6UWTapk30oh1us,100
482
+ python_ddd_framework/validation/models.py,sha256=Ydz5ZYgqYMPZEXi9A3DA6beN5lD9AcMaImnxDf1aRXs,1737
483
+ python_ddd_framework-0.4.0.dist-info/licenses/LICENSE,sha256=2sSWLZdtk4EhG2GlwpksXzmyux-G6Qiov0D27lE_bqw,805
484
+ python_ddd_framework-0.4.0.dist-info/licenses/src/python_ddd_framework/background_jobs/pgqueuer/UPSTREAM_LICENSE.txt,sha256=0lCGUd5Pke2Up1Kqn1kRnHcwLlBz60E8xvR7WL4k_kE,1066
485
+ python_ddd_framework-0.4.0.dist-info/WHEEL,sha256=7hzKWg-J8I3Buqyw5tBii5z_MmAVsDYXXijd_QAtNZ8,81
486
+ python_ddd_framework-0.4.0.dist-info/entry_points.txt,sha256=CMy4XBD8IKGUfHwe0YBmHmSJtjfnA3yyDHqsMZCLsc8,447
487
+ python_ddd_framework-0.4.0.dist-info/METADATA,sha256=AYcYkokkyLpVSeijdXgbwmKeiklB69KBTORLmhckxG8,52261
488
+ python_ddd_framework-0.4.0.dist-info/RECORD,,
@@ -1,4 +1,4 @@
1
1
  Wheel-Version: 1.0
2
- Generator: uv 0.12.15
2
+ Generator: uv 0.12.18
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
@@ -1,72 +0,0 @@
1
- """显式 Migration Host 使用的 ordered、per-contributor UoW seeding。"""
2
-
3
- from __future__ import annotations
4
-
5
- from abc import abstractmethod
6
- from typing import TYPE_CHECKING, cast
7
-
8
- from ..errors.base import FrameworkError
9
- from ..modularity import AppModule
10
- from ..modularity.selection import _dependency_keys
11
- from .contracts import _InternalApplicationServiceContributor
12
-
13
- if TYPE_CHECKING:
14
- from ..application import Application
15
-
16
-
17
- class DataSeedContributor(_InternalApplicationServiceContributor):
18
- """幂等性由具体 contributor 保证;框架只拥有顺序和独立 invocation。"""
19
-
20
- @abstractmethod
21
- async def seed(self) -> None:
22
- raise NotImplementedError
23
-
24
-
25
- class DataSeedError(FrameworkError):
26
- def __init__(
27
- self,
28
- *,
29
- completed: tuple[type[DataSeedContributor], ...],
30
- failed: type[DataSeedContributor],
31
- original_error: BaseException,
32
- ) -> None:
33
- self.completed = completed
34
- self.failed = failed
35
- self.original_error = original_error
36
- super().__init__(
37
- f"Data seed contributor {failed.__module__}.{failed.__qualname__} failed after "
38
- f"{len(completed)} completed contributor(s): {type(original_error).__name__}"
39
- )
40
-
41
-
42
- class DataSeeder:
43
- __slots__ = ("_application",)
44
-
45
- def __init__(self, application: Application) -> None:
46
- self._application = application
47
-
48
- async def seed_all(
49
- self, *, module: type[AppModule] | None = None
50
- ) -> tuple[type[DataSeedContributor], ...]:
51
- owners = _dependency_keys(self._application.modules, module) if module is not None else None
52
- registrations = tuple(
53
- registration
54
- for registration in self._application.application_service_catalog.registrations
55
- if issubclass(registration.implementation, DataSeedContributor)
56
- and (owners is None or registration.implementation_owner in owners)
57
- )
58
- completed: list[type[DataSeedContributor]] = []
59
- for registration in registrations:
60
- contributor = cast(type[DataSeedContributor], registration.implementation)
61
- # contributor 不发布 single Protocol,但仍复用同一 validation/UoW/event dispatcher。
62
- try:
63
- await self._application._invoke_registration(registration, "seed")
64
- except Exception as original_error:
65
- error = DataSeedError(
66
- completed=tuple(completed),
67
- failed=contributor,
68
- original_error=original_error,
69
- )
70
- raise error from original_error
71
- completed.append(contributor)
72
- return tuple(completed)