python-ddd-framework 0.9.0__tar.gz → 0.10.1__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (752) hide show
  1. python_ddd_framework-0.10.1/LICENSE +21 -0
  2. python_ddd_framework-0.10.1/PKG-INFO +363 -0
  3. python_ddd_framework-0.10.1/README.md +319 -0
  4. python_ddd_framework-0.10.1/examples/framework_demo/LICENSE +21 -0
  5. python_ddd_framework-0.10.1/examples/framework_demo/README.md +41 -0
  6. python_ddd_framework-0.10.1/examples/framework_demo/backend/.gitignore +15 -0
  7. python_ddd_framework-0.10.1/examples/framework_demo/backend/LICENSE +21 -0
  8. python_ddd_framework-0.10.1/examples/framework_demo/backend/app.example.yaml +38 -0
  9. python_ddd_framework-0.10.1/examples/framework_demo/backend/pyproject.toml +51 -0
  10. python_ddd_framework-0.10.1/examples/framework_demo/backend/src/host/__init__.py +1 -0
  11. python_ddd_framework-0.10.1/examples/framework_demo/backend/src/host/main.py +51 -0
  12. python_ddd_framework-0.10.1/examples/framework_demo/backend/src/host/migrate.py +20 -0
  13. python_ddd_framework-0.10.1/examples/framework_demo/backend/src/host/module.py +82 -0
  14. python_ddd_framework-0.10.1/examples/framework_demo/backend/src/host/worker.py +143 -0
  15. python_ddd_framework-0.10.1/examples/framework_demo/backend/src/modules/__init__.py +1 -0
  16. python_ddd_framework-0.10.1/examples/framework_demo/backend/src/modules/catalog/README.md +5 -0
  17. python_ddd_framework-0.10.1/examples/framework_demo/backend/src/modules/catalog/__init__.py +1 -0
  18. python_ddd_framework-0.10.1/examples/framework_demo/backend/src/modules/catalog/application/integration_services/product_lookup_service.py +21 -0
  19. python_ddd_framework-0.10.1/examples/framework_demo/backend/src/modules/catalog/application/module.py +53 -0
  20. python_ddd_framework-0.10.1/examples/framework_demo/backend/src/modules/catalog/application/services/product_service.py +65 -0
  21. python_ddd_framework-0.10.1/examples/framework_demo/backend/src/modules/catalog/application_contracts/inputs/create_product.py +9 -0
  22. python_ddd_framework-0.10.1/examples/framework_demo/backend/src/modules/catalog/application_contracts/inputs/delete_product.py +6 -0
  23. python_ddd_framework-0.10.1/examples/framework_demo/backend/src/modules/catalog/application_contracts/inputs/update_product.py +7 -0
  24. python_ddd_framework-0.10.1/examples/framework_demo/backend/src/modules/catalog/application_contracts/integration_services/product_lookup_service.py +10 -0
  25. python_ddd_framework-0.10.1/examples/framework_demo/backend/src/modules/catalog/application_contracts/module.py +47 -0
  26. python_ddd_framework-0.10.1/examples/framework_demo/backend/src/modules/catalog/application_contracts/services/product_service.py +17 -0
  27. python_ddd_framework-0.10.1/examples/framework_demo/backend/src/modules/catalog/application_contracts/views/product_view.py +13 -0
  28. python_ddd_framework-0.10.1/examples/framework_demo/backend/src/modules/catalog/domain/entities/product.py +31 -0
  29. python_ddd_framework-0.10.1/examples/framework_demo/backend/src/modules/catalog/domain/module.py +47 -0
  30. python_ddd_framework-0.10.1/examples/framework_demo/backend/src/modules/catalog/domain_shared/constants/__init__.py +1 -0
  31. python_ddd_framework-0.10.1/examples/framework_demo/backend/src/modules/catalog/domain_shared/constants/product_constants.py +3 -0
  32. python_ddd_framework-0.10.1/examples/framework_demo/backend/src/modules/catalog/domain_shared/module.py +46 -0
  33. python_ddd_framework-0.10.1/examples/framework_demo/backend/src/modules/catalog/domain_shared/permissions/product_permission_provider.py +18 -0
  34. python_ddd_framework-0.10.1/examples/framework_demo/backend/src/modules/catalog/domain_shared/permissions/product_permissions.py +8 -0
  35. python_ddd_framework-0.10.1/examples/framework_demo/backend/src/modules/catalog/domain_shared/value_objects/money.py +17 -0
  36. python_ddd_framework-0.10.1/examples/framework_demo/backend/src/modules/catalog/http_api/module.py +50 -0
  37. python_ddd_framework-0.10.1/examples/framework_demo/backend/src/modules/catalog/sqlalchemy/mappings/product_mapping.py +51 -0
  38. python_ddd_framework-0.10.1/examples/framework_demo/backend/src/modules/catalog/sqlalchemy/migrations/__init__.py +1 -0
  39. python_ddd_framework-0.10.1/examples/framework_demo/backend/src/modules/catalog/sqlalchemy/migrations/fb486dc6609f_update_catalog.py +33 -0
  40. python_ddd_framework-0.10.1/examples/framework_demo/backend/src/modules/catalog/sqlalchemy/module.py +61 -0
  41. python_ddd_framework-0.10.1/examples/framework_demo/backend/src/modules/customer/README.md +5 -0
  42. python_ddd_framework-0.10.1/examples/framework_demo/backend/src/modules/customer/application_contracts/views/employee_properties.py +11 -0
  43. python_ddd_framework-0.10.1/examples/framework_demo/backend/src/modules/customer/sqlalchemy/migrations/7e6afc90b72e_update_employee.py +30 -0
  44. python_ddd_framework-0.10.1/examples/framework_demo/backend/src/modules/customer/sqlalchemy/module.py +32 -0
  45. python_ddd_framework-0.10.1/examples/framework_demo/backend/src/modules/orders/README.md +14 -0
  46. python_ddd_framework-0.10.1/examples/framework_demo/backend/src/modules/orders/__init__.py +1 -0
  47. python_ddd_framework-0.10.1/examples/framework_demo/backend/src/modules/orders/application/__init__.py +1 -0
  48. python_ddd_framework-0.10.1/examples/framework_demo/backend/src/modules/orders/application/background_jobs/order_approval/handler.py +46 -0
  49. python_ddd_framework-0.10.1/examples/framework_demo/backend/src/modules/orders/application/background_jobs/order_approval/payload.py +8 -0
  50. python_ddd_framework-0.10.1/examples/framework_demo/backend/src/modules/orders/application/background_jobs/order_statistics/handler.py +37 -0
  51. python_ddd_framework-0.10.1/examples/framework_demo/backend/src/modules/orders/application/background_jobs/order_statistics/payload.py +5 -0
  52. python_ddd_framework-0.10.1/examples/framework_demo/backend/src/modules/orders/application/background_jobs/order_statistics/schedule.py +15 -0
  53. python_ddd_framework-0.10.1/examples/framework_demo/backend/src/modules/orders/application/background_workers/order_maintenance_worker.py +29 -0
  54. python_ddd_framework-0.10.1/examples/framework_demo/backend/src/modules/orders/application/background_workers/order_statistics_worker.py +26 -0
  55. python_ddd_framework-0.10.1/examples/framework_demo/backend/src/modules/orders/application/caching/order_cache.py +5 -0
  56. python_ddd_framework-0.10.1/examples/framework_demo/backend/src/modules/orders/application/caching/statistics_cache.py +11 -0
  57. python_ddd_framework-0.10.1/examples/framework_demo/backend/src/modules/orders/application/event_handlers/order_changed_handler.py +20 -0
  58. python_ddd_framework-0.10.1/examples/framework_demo/backend/src/modules/orders/application/event_handlers/order_deleted_handler.py +18 -0
  59. python_ddd_framework-0.10.1/examples/framework_demo/backend/src/modules/orders/application/hosted_services/observation_module.py +27 -0
  60. python_ddd_framework-0.10.1/examples/framework_demo/backend/src/modules/orders/application/hosted_services/order_integration_service.py +71 -0
  61. python_ddd_framework-0.10.1/examples/framework_demo/backend/src/modules/orders/application/hosted_services/order_observation_handler.py +16 -0
  62. python_ddd_framework-0.10.1/examples/framework_demo/backend/src/modules/orders/application/integration_services/order_reporting_service.py +18 -0
  63. python_ddd_framework-0.10.1/examples/framework_demo/backend/src/modules/orders/application/interceptors/order_timing_interceptor.py +17 -0
  64. python_ddd_framework-0.10.1/examples/framework_demo/backend/src/modules/orders/application/module.py +109 -0
  65. python_ddd_framework-0.10.1/examples/framework_demo/backend/src/modules/orders/application/options/order_options.py +7 -0
  66. python_ddd_framework-0.10.1/examples/framework_demo/backend/src/modules/orders/application/services/order_approval_service.py +63 -0
  67. python_ddd_framework-0.10.1/examples/framework_demo/backend/src/modules/orders/application/services/order_item_service.py +62 -0
  68. python_ddd_framework-0.10.1/examples/framework_demo/backend/src/modules/orders/application/services/order_management_service.py +67 -0
  69. python_ddd_framework-0.10.1/examples/framework_demo/backend/src/modules/orders/application/services/order_query_service.py +33 -0
  70. python_ddd_framework-0.10.1/examples/framework_demo/backend/src/modules/orders/application_contracts/__init__.py +1 -0
  71. python_ddd_framework-0.10.1/examples/framework_demo/backend/src/modules/orders/application_contracts/inputs/add_order_item.py +7 -0
  72. python_ddd_framework-0.10.1/examples/framework_demo/backend/src/modules/orders/application_contracts/inputs/approve_order.py +6 -0
  73. python_ddd_framework-0.10.1/examples/framework_demo/backend/src/modules/orders/application_contracts/inputs/change_order_item.py +7 -0
  74. python_ddd_framework-0.10.1/examples/framework_demo/backend/src/modules/orders/application_contracts/inputs/create_order.py +10 -0
  75. python_ddd_framework-0.10.1/examples/framework_demo/backend/src/modules/orders/application_contracts/inputs/delete_order.py +6 -0
  76. python_ddd_framework-0.10.1/examples/framework_demo/backend/src/modules/orders/application_contracts/inputs/new_order_item.py +9 -0
  77. python_ddd_framework-0.10.1/examples/framework_demo/backend/src/modules/orders/application_contracts/inputs/update_order.py +9 -0
  78. python_ddd_framework-0.10.1/examples/framework_demo/backend/src/modules/orders/application_contracts/integration_services/order_reporting_service.py +7 -0
  79. python_ddd_framework-0.10.1/examples/framework_demo/backend/src/modules/orders/application_contracts/module.py +47 -0
  80. python_ddd_framework-0.10.1/examples/framework_demo/backend/src/modules/orders/application_contracts/services/order_approval_service.py +13 -0
  81. python_ddd_framework-0.10.1/examples/framework_demo/backend/src/modules/orders/application_contracts/services/order_item_service.py +17 -0
  82. python_ddd_framework-0.10.1/examples/framework_demo/backend/src/modules/orders/application_contracts/services/order_management_service.py +17 -0
  83. python_ddd_framework-0.10.1/examples/framework_demo/backend/src/modules/orders/application_contracts/services/order_query_service.py +12 -0
  84. python_ddd_framework-0.10.1/examples/framework_demo/backend/src/modules/orders/application_contracts/views/order_item_view.py +15 -0
  85. python_ddd_framework-0.10.1/examples/framework_demo/backend/src/modules/orders/application_contracts/views/order_statistics_snapshot.py +9 -0
  86. python_ddd_framework-0.10.1/examples/framework_demo/backend/src/modules/orders/application_contracts/views/order_view.py +18 -0
  87. python_ddd_framework-0.10.1/examples/framework_demo/backend/src/modules/orders/domain/__init__.py +1 -0
  88. python_ddd_framework-0.10.1/examples/framework_demo/backend/src/modules/orders/domain/entities/order.py +123 -0
  89. python_ddd_framework-0.10.1/examples/framework_demo/backend/src/modules/orders/domain/entities/order_item.py +50 -0
  90. python_ddd_framework-0.10.1/examples/framework_demo/backend/src/modules/orders/domain/events/order_changed.py +13 -0
  91. python_ddd_framework-0.10.1/examples/framework_demo/backend/src/modules/orders/domain/events/order_deleted.py +10 -0
  92. python_ddd_framework-0.10.1/examples/framework_demo/backend/src/modules/orders/domain/module.py +49 -0
  93. python_ddd_framework-0.10.1/examples/framework_demo/backend/src/modules/orders/domain/seeding/order_seed_contributor.py +21 -0
  94. python_ddd_framework-0.10.1/examples/framework_demo/backend/src/modules/orders/domain/services/order_approval_service.py +23 -0
  95. python_ddd_framework-0.10.1/examples/framework_demo/backend/src/modules/orders/domain/settings/approval_settings.py +17 -0
  96. python_ddd_framework-0.10.1/examples/framework_demo/backend/src/modules/orders/domain/value_objects/__init__.py +1 -0
  97. python_ddd_framework-0.10.1/examples/framework_demo/backend/src/modules/orders/domain/value_objects/order_title.py +10 -0
  98. python_ddd_framework-0.10.1/examples/framework_demo/backend/src/modules/orders/domain/value_objects/quantity.py +6 -0
  99. python_ddd_framework-0.10.1/examples/framework_demo/backend/src/modules/orders/domain_shared/__init__.py +1 -0
  100. python_ddd_framework-0.10.1/examples/framework_demo/backend/src/modules/orders/domain_shared/constants/__init__.py +1 -0
  101. python_ddd_framework-0.10.1/examples/framework_demo/backend/src/modules/orders/domain_shared/constants/order_constants.py +3 -0
  102. python_ddd_framework-0.10.1/examples/framework_demo/backend/src/modules/orders/domain_shared/enums/__init__.py +1 -0
  103. python_ddd_framework-0.10.1/examples/framework_demo/backend/src/modules/orders/domain_shared/enums/order_status.py +6 -0
  104. python_ddd_framework-0.10.1/examples/framework_demo/backend/src/modules/orders/domain_shared/errors/__init__.py +1 -0
  105. python_ddd_framework-0.10.1/examples/framework_demo/backend/src/modules/orders/domain_shared/errors/order_errors.py +27 -0
  106. python_ddd_framework-0.10.1/examples/framework_demo/backend/src/modules/orders/domain_shared/messages/__init__.py +1 -0
  107. python_ddd_framework-0.10.1/examples/framework_demo/backend/src/modules/orders/domain_shared/messages/order_messages.py +44 -0
  108. python_ddd_framework-0.10.1/examples/framework_demo/backend/src/modules/orders/domain_shared/messages/order_observation.py +13 -0
  109. python_ddd_framework-0.10.1/examples/framework_demo/backend/src/modules/orders/domain_shared/module.py +47 -0
  110. python_ddd_framework-0.10.1/examples/framework_demo/backend/src/modules/orders/domain_shared/permissions/__init__.py +1 -0
  111. python_ddd_framework-0.10.1/examples/framework_demo/backend/src/modules/orders/domain_shared/permissions/order_permission_provider.py +19 -0
  112. python_ddd_framework-0.10.1/examples/framework_demo/backend/src/modules/orders/domain_shared/permissions/order_permissions.py +7 -0
  113. python_ddd_framework-0.10.1/examples/framework_demo/backend/src/modules/orders/domain_shared/value_objects/__init__.py +1 -0
  114. python_ddd_framework-0.10.1/examples/framework_demo/backend/src/modules/orders/domain_shared/value_objects/money.py +17 -0
  115. python_ddd_framework-0.10.1/examples/framework_demo/backend/src/modules/orders/http_api/__init__.py +1 -0
  116. python_ddd_framework-0.10.1/examples/framework_demo/backend/src/modules/orders/http_api/filters/__init__.py +1 -0
  117. python_ddd_framework-0.10.1/examples/framework_demo/backend/src/modules/orders/http_api/filters/export_filter.py +15 -0
  118. python_ddd_framework-0.10.1/examples/framework_demo/backend/src/modules/orders/http_api/models/__init__.py +1 -0
  119. python_ddd_framework-0.10.1/examples/framework_demo/backend/src/modules/orders/http_api/models/refresh_orders.py +5 -0
  120. python_ddd_framework-0.10.1/examples/framework_demo/backend/src/modules/orders/http_api/module.py +134 -0
  121. python_ddd_framework-0.10.1/examples/framework_demo/backend/src/modules/orders/http_api/routers/__init__.py +1 -0
  122. python_ddd_framework-0.10.1/examples/framework_demo/backend/src/modules/orders/http_api/routers/order_files.py +76 -0
  123. python_ddd_framework-0.10.1/examples/framework_demo/backend/src/modules/orders/http_api/websockets/__init__.py +1 -0
  124. python_ddd_framework-0.10.1/examples/framework_demo/backend/src/modules/orders/http_api/websockets/order_socket.py +59 -0
  125. python_ddd_framework-0.10.1/examples/framework_demo/backend/src/modules/orders/sqlalchemy/__init__.py +1 -0
  126. python_ddd_framework-0.10.1/examples/framework_demo/backend/src/modules/orders/sqlalchemy/mappings/__init__.py +1 -0
  127. python_ddd_framework-0.10.1/examples/framework_demo/backend/src/modules/orders/sqlalchemy/mappings/order_mapping.py +132 -0
  128. python_ddd_framework-0.10.1/examples/framework_demo/backend/src/modules/orders/sqlalchemy/migrations/bf06700ac785_update_orders.py +54 -0
  129. python_ddd_framework-0.10.1/examples/framework_demo/backend/src/modules/orders/sqlalchemy/module.py +61 -0
  130. python_ddd_framework-0.10.1/examples/framework_demo/backend/src/modules/orders/sqlalchemy/repositories/__init__.py +1 -0
  131. python_ddd_framework-0.10.1/examples/framework_demo/backend/src/modules/orders/sqlalchemy/repositories/order_repository.py +18 -0
  132. python_ddd_framework-0.10.1/examples/framework_demo/backend/src/modules/orders/tests/__init__.py +1 -0
  133. python_ddd_framework-0.10.1/examples/framework_demo/backend/src/ruff.toml +8 -0
  134. python_ddd_framework-0.10.1/examples/framework_demo/backend/tests/conftest.py +1 -0
  135. python_ddd_framework-0.10.1/examples/framework_demo/backend/tests/consumer_host.py +24 -0
  136. python_ddd_framework-0.10.1/examples/framework_demo/backend/tests/framework_test_support/__init__.py +0 -0
  137. python_ddd_framework-0.10.1/examples/framework_demo/backend/tests/framework_test_support/application_services.py +461 -0
  138. python_ddd_framework-0.10.1/examples/framework_demo/backend/tests/framework_test_support/auditing.py +103 -0
  139. python_ddd_framework-0.10.1/examples/framework_demo/backend/tests/framework_test_support/authorization.py +137 -0
  140. python_ddd_framework-0.10.1/examples/framework_demo/backend/tests/framework_test_support/background_jobs.py +205 -0
  141. python_ddd_framework-0.10.1/examples/framework_demo/backend/tests/framework_test_support/background_jobs_e2e.py +696 -0
  142. python_ddd_framework-0.10.1/examples/framework_demo/backend/tests/framework_test_support/distributed_lock.py +191 -0
  143. python_ddd_framework-0.10.1/examples/framework_demo/backend/tests/framework_test_support/fastapi_adapter.py +1061 -0
  144. python_ddd_framework-0.10.1/examples/framework_demo/backend/tests/framework_test_support/fixtures.py +403 -0
  145. python_ddd_framework-0.10.1/examples/framework_demo/backend/tests/framework_test_support/http_streaming.py +273 -0
  146. python_ddd_framework-0.10.1/examples/framework_demo/backend/tests/framework_test_support/identity.py +360 -0
  147. python_ddd_framework-0.10.1/examples/framework_demo/backend/tests/framework_test_support/interceptors.py +463 -0
  148. python_ddd_framework-0.10.1/examples/framework_demo/backend/tests/framework_test_support/model_extensions.py +161 -0
  149. python_ddd_framework-0.10.1/examples/framework_demo/backend/tests/framework_test_support/notifications.py +61 -0
  150. python_ddd_framework-0.10.1/examples/framework_demo/backend/tests/framework_test_support/observability.py +364 -0
  151. python_ddd_framework-0.10.1/examples/framework_demo/backend/tests/framework_test_support/process.py +163 -0
  152. python_ddd_framework-0.10.1/examples/framework_demo/backend/tests/framework_test_support/reference_models/__init__.py +22 -0
  153. python_ddd_framework-0.10.1/examples/framework_demo/backend/tests/framework_test_support/reference_models/enterprise.py +60 -0
  154. python_ddd_framework-0.10.1/examples/framework_demo/backend/tests/framework_test_support/reference_models/enterprise_host.py +113 -0
  155. python_ddd_framework-0.10.1/examples/framework_demo/backend/tests/framework_test_support/reference_models/host.py +148 -0
  156. python_ddd_framework-0.10.1/examples/framework_demo/backend/tests/framework_test_support/reference_models/http_api.py +33 -0
  157. python_ddd_framework-0.10.1/examples/framework_demo/backend/tests/framework_test_support/reference_models/order_log/__init__.py +23 -0
  158. python_ddd_framework-0.10.1/examples/framework_demo/backend/tests/framework_test_support/reference_models/order_log/application.py +42 -0
  159. python_ddd_framework-0.10.1/examples/framework_demo/backend/tests/framework_test_support/reference_models/order_log/contracts.py +22 -0
  160. python_ddd_framework-0.10.1/examples/framework_demo/backend/tests/framework_test_support/reference_models/order_log/module.py +34 -0
  161. python_ddd_framework-0.10.1/examples/framework_demo/backend/tests/framework_test_support/reference_models/order_log/sqlalchemy/__init__.py +13 -0
  162. python_ddd_framework-0.10.1/examples/framework_demo/backend/tests/framework_test_support/reference_models/order_log/sqlalchemy/mappings.py +20 -0
  163. python_ddd_framework-0.10.1/examples/framework_demo/backend/tests/framework_test_support/reference_models/order_log/sqlalchemy/migrations/0001_order_log.py +30 -0
  164. python_ddd_framework-0.10.1/examples/framework_demo/backend/tests/framework_test_support/reference_models/order_log/sqlalchemy/migrations/__init__.py +1 -0
  165. python_ddd_framework-0.10.1/examples/framework_demo/backend/tests/framework_test_support/reference_models/order_log/sqlalchemy/module.py +50 -0
  166. python_ddd_framework-0.10.1/examples/framework_demo/backend/tests/framework_test_support/reference_models/order_log/sqlalchemy/repositories.py +51 -0
  167. python_ddd_framework-0.10.1/examples/framework_demo/backend/tests/framework_test_support/reference_models/orders/__init__.py +39 -0
  168. python_ddd_framework-0.10.1/examples/framework_demo/backend/tests/framework_test_support/reference_models/orders/application.py +110 -0
  169. python_ddd_framework-0.10.1/examples/framework_demo/backend/tests/framework_test_support/reference_models/orders/contracts.py +56 -0
  170. python_ddd_framework-0.10.1/examples/framework_demo/backend/tests/framework_test_support/reference_models/orders/domain.py +83 -0
  171. python_ddd_framework-0.10.1/examples/framework_demo/backend/tests/framework_test_support/reference_models/orders/messaging_module.py +23 -0
  172. python_ddd_framework-0.10.1/examples/framework_demo/backend/tests/framework_test_support/reference_models/orders/module.py +29 -0
  173. python_ddd_framework-0.10.1/examples/framework_demo/backend/tests/framework_test_support/reference_models/orders/observation.py +13 -0
  174. python_ddd_framework-0.10.1/examples/framework_demo/backend/tests/framework_test_support/reference_models/orders/observation_handler.py +13 -0
  175. python_ddd_framework-0.10.1/examples/framework_demo/backend/tests/framework_test_support/reference_models/orders/realtime.py +152 -0
  176. python_ddd_framework-0.10.1/examples/framework_demo/backend/tests/framework_test_support/reference_models/orders/sqlalchemy/__init__.py +11 -0
  177. python_ddd_framework-0.10.1/examples/framework_demo/backend/tests/framework_test_support/reference_models/orders/sqlalchemy/mappings.py +51 -0
  178. python_ddd_framework-0.10.1/examples/framework_demo/backend/tests/framework_test_support/reference_models/orders/sqlalchemy/migrations/0001_orders.py +31 -0
  179. python_ddd_framework-0.10.1/examples/framework_demo/backend/tests/framework_test_support/reference_models/orders/sqlalchemy/migrations/0002_orders_version.py +30 -0
  180. python_ddd_framework-0.10.1/examples/framework_demo/backend/tests/framework_test_support/reference_models/orders/sqlalchemy/migrations/__init__.py +1 -0
  181. python_ddd_framework-0.10.1/examples/framework_demo/backend/tests/framework_test_support/reference_models/orders/sqlalchemy/module.py +41 -0
  182. python_ddd_framework-0.10.1/examples/framework_demo/backend/tests/framework_test_support/reference_models/orders/sqlalchemy/repositories.py +39 -0
  183. python_ddd_framework-0.10.1/examples/framework_demo/backend/tests/framework_test_support/reference_models/persistent_http.py +67 -0
  184. python_ddd_framework-0.10.1/examples/framework_demo/backend/tests/framework_test_support/reference_models/postgresql_host.py +69 -0
  185. python_ddd_framework-0.10.1/examples/framework_demo/backend/tests/framework_test_support/reference_models/worker_host.py +79 -0
  186. python_ddd_framework-0.10.1/examples/framework_demo/backend/tests/framework_test_support/reference_scenarios.py +292 -0
  187. python_ddd_framework-0.10.1/examples/framework_demo/backend/tests/framework_test_support/settings_management.py +192 -0
  188. python_ddd_framework-0.10.1/examples/framework_demo/backend/tests/framework_test_support/sqlalchemy_adapter.py +276 -0
  189. python_ddd_framework-0.10.1/examples/framework_demo/backend/tests/framework_test_support/unit_of_work_events.py +828 -0
  190. python_ddd_framework-0.10.1/examples/framework_demo/backend/tests/framework_test_support/websocket_runtime.py +127 -0
  191. python_ddd_framework-0.10.1/examples/framework_demo/backend/tests/integration/__init__.py +0 -0
  192. python_ddd_framework-0.10.1/examples/framework_demo/backend/tests/integration/business/__init__.py +1 -0
  193. python_ddd_framework-0.10.1/examples/framework_demo/backend/tests/integration/business/conftest.py +55 -0
  194. python_ddd_framework-0.10.1/examples/framework_demo/backend/tests/integration/business/consumer_runtime.py +23 -0
  195. python_ddd_framework-0.10.1/examples/framework_demo/backend/tests/integration/business/recovery_support.py +171 -0
  196. python_ddd_framework-0.10.1/examples/framework_demo/backend/tests/integration/business/test_background_business_di.py +430 -0
  197. python_ddd_framework-0.10.1/examples/framework_demo/backend/tests/integration/business/test_boundary_business.py +147 -0
  198. python_ddd_framework-0.10.1/examples/framework_demo/backend/tests/integration/business/test_business_ddd.py +365 -0
  199. python_ddd_framework-0.10.1/examples/framework_demo/backend/tests/integration/business/test_domain_services_events.py +362 -0
  200. python_ddd_framework-0.10.1/examples/framework_demo/backend/tests/integration/business/test_http_capabilities.py +81 -0
  201. python_ddd_framework-0.10.1/examples/framework_demo/backend/tests/integration/business/test_http_pipeline.py +255 -0
  202. python_ddd_framework-0.10.1/examples/framework_demo/backend/tests/integration/business/test_recovery_capabilities.py +221 -0
  203. python_ddd_framework-0.10.1/examples/framework_demo/backend/tests/integration/business/test_zz_cli_reload.py +52 -0
  204. python_ddd_framework-0.10.1/examples/framework_demo/backend/tests/integration/test_auditing.py +246 -0
  205. python_ddd_framework-0.10.1/examples/framework_demo/backend/tests/integration/test_authorization.py +193 -0
  206. python_ddd_framework-0.10.1/examples/framework_demo/backend/tests/integration/test_background_jobs.py +196 -0
  207. python_ddd_framework-0.10.1/examples/framework_demo/backend/tests/integration/test_background_jobs_e2e.py +667 -0
  208. python_ddd_framework-0.10.1/examples/framework_demo/backend/tests/integration/test_background_management.py +287 -0
  209. python_ddd_framework-0.10.1/examples/framework_demo/backend/tests/integration/test_distributed_lock.py +301 -0
  210. python_ddd_framework-0.10.1/examples/framework_demo/backend/tests/integration/test_enterprise_e2e.py +865 -0
  211. python_ddd_framework-0.10.1/examples/framework_demo/backend/tests/integration/test_entity_caching.py +279 -0
  212. python_ddd_framework-0.10.1/examples/framework_demo/backend/tests/integration/test_fastapi_adapter.py +2992 -0
  213. python_ddd_framework-0.10.1/examples/framework_demo/backend/tests/integration/test_http_streaming.py +690 -0
  214. python_ddd_framework-0.10.1/examples/framework_demo/backend/tests/integration/test_interceptors.py +119 -0
  215. python_ddd_framework-0.10.1/examples/framework_demo/backend/tests/integration/test_model_extensions.py +394 -0
  216. python_ddd_framework-0.10.1/examples/framework_demo/backend/tests/integration/test_notifications.py +128 -0
  217. python_ddd_framework-0.10.1/examples/framework_demo/backend/tests/integration/test_observability.py +485 -0
  218. python_ddd_framework-0.10.1/examples/framework_demo/backend/tests/integration/test_postgresql_e2e.py +2658 -0
  219. python_ddd_framework-0.10.1/examples/framework_demo/backend/tests/integration/test_reference_app.py +537 -0
  220. python_ddd_framework-0.10.1/examples/framework_demo/backend/tests/integration/test_settings_management.py +412 -0
  221. python_ddd_framework-0.10.1/examples/framework_demo/backend/tests/integration/test_slice3_data_e2e.py +333 -0
  222. python_ddd_framework-0.10.1/examples/framework_demo/backend/tests/integration/test_sqlalchemy_adapter.py +84 -0
  223. python_ddd_framework-0.10.1/examples/framework_demo/backend/tests/integration/test_unit_of_work_events.py +41 -0
  224. python_ddd_framework-0.10.1/examples/framework_demo/backend/tests/integration/test_websocket_runtime.py +134 -0
  225. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/pyproject.toml +35 -11
  226. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/pyproject.toml.orig +12 -8
  227. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/__init__.py +17 -1
  228. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/application/builder.py +38 -32
  229. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/application/runtime_hooks.py +5 -3
  230. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/application/state.py +2 -0
  231. python_ddd_framework-0.10.1/src/python_ddd_framework/auditing/sqlalchemy/mappings.py +29 -0
  232. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/auditing/sqlalchemy/module.py +1 -2
  233. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/auditing/sqlalchemy/store.py +23 -15
  234. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/caching/unit_of_work.py +4 -0
  235. python_ddd_framework-0.10.1/src/python_ddd_framework/consumer_docs/README.md +91 -0
  236. {python_ddd_framework-0.9.0/src/python_ddd_framework/developer_kit/templates/project/{{cookiecutter.project_name}}/docs → python_ddd_framework-0.10.1/src/python_ddd_framework/consumer_docs}/architecture.md +118 -25
  237. {python_ddd_framework-0.9.0/src/python_ddd_framework/developer_kit/templates/project/{{cookiecutter.project_name}}/docs → python_ddd_framework-0.10.1/src/python_ddd_framework/consumer_docs}/development.md +408 -48
  238. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/developer_kit/templates/basic/{{cookiecutter.module_name}}/README.md +13 -1
  239. python_ddd_framework-0.10.1/src/python_ddd_framework/developer_kit/templates/basic/{{cookiecutter.module_name}}/__init__.py.jinja +0 -0
  240. python_ddd_framework-0.10.1/src/python_ddd_framework/developer_kit/templates/basic/{{cookiecutter.module_name}}/contracts/__init__.py.jinja +0 -0
  241. python_ddd_framework-0.10.1/src/python_ddd_framework/developer_kit/templates/basic/{{cookiecutter.module_name}}/services/__init__.py.jinja +0 -0
  242. python_ddd_framework-0.10.1/src/python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/README.md +48 -0
  243. python_ddd_framework-0.10.1/src/python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/application/__init__.py.jinja +1 -0
  244. python_ddd_framework-0.10.1/src/python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/application/background_jobs/__init__.py.jinja +1 -0
  245. python_ddd_framework-0.10.1/src/python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/application/background_workers/__init__.py.jinja +1 -0
  246. python_ddd_framework-0.10.1/src/python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/application/caching/__init__.py.jinja +1 -0
  247. python_ddd_framework-0.10.1/src/python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/application/event_handlers/__init__.py.jinja +1 -0
  248. python_ddd_framework-0.10.1/src/python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/application/hosted_services/__init__.py.jinja +1 -0
  249. python_ddd_framework-0.10.1/src/python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/application/integration_services/__init__.py.jinja +1 -0
  250. python_ddd_framework-0.10.1/src/python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/application/interceptors/__init__.py.jinja +1 -0
  251. python_ddd_framework-0.10.1/src/python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/application/options/__init__.py.jinja +1 -0
  252. python_ddd_framework-0.10.1/src/python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/application/services/__init__.py.jinja +1 -0
  253. python_ddd_framework-0.10.1/src/python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/application_contracts/__init__.py.jinja +1 -0
  254. python_ddd_framework-0.10.1/src/python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/application_contracts/inputs/__init__.py.jinja +1 -0
  255. python_ddd_framework-0.10.1/src/python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/application_contracts/integration_services/__init__.py.jinja +1 -0
  256. python_ddd_framework-0.10.1/src/python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/application_contracts/services/__init__.py.jinja +1 -0
  257. python_ddd_framework-0.10.1/src/python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/application_contracts/views/__init__.py.jinja +1 -0
  258. python_ddd_framework-0.10.1/src/python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/domain/__init__.py.jinja +1 -0
  259. python_ddd_framework-0.10.1/src/python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/domain/entities/__init__.py.jinja +1 -0
  260. python_ddd_framework-0.10.1/src/python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/domain/events/__init__.py.jinja +1 -0
  261. python_ddd_framework-0.10.1/src/python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/domain/repositories/__init__.py.jinja +1 -0
  262. python_ddd_framework-0.10.1/src/python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/domain/seeding/__init__.py.jinja +1 -0
  263. python_ddd_framework-0.10.1/src/python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/domain/services/__init__.py.jinja +1 -0
  264. python_ddd_framework-0.10.1/src/python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/domain/settings/__init__.py.jinja +1 -0
  265. python_ddd_framework-0.10.1/src/python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/domain/value_objects/__init__.py.jinja +1 -0
  266. python_ddd_framework-0.10.1/src/python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/domain_shared/__init__.py.jinja +1 -0
  267. python_ddd_framework-0.10.1/src/python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/domain_shared/constants/__init__.py.jinja +1 -0
  268. python_ddd_framework-0.10.1/src/python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/domain_shared/enums/__init__.py.jinja +1 -0
  269. python_ddd_framework-0.10.1/src/python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/domain_shared/errors/__init__.py.jinja +1 -0
  270. python_ddd_framework-0.10.1/src/python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/domain_shared/messages/__init__.py.jinja +1 -0
  271. python_ddd_framework-0.10.1/src/python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/domain_shared/permissions/__init__.py.jinja +1 -0
  272. python_ddd_framework-0.10.1/src/python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/domain_shared/value_objects/__init__.py.jinja +1 -0
  273. python_ddd_framework-0.10.1/src/python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/http_api/__init__.py.jinja +1 -0
  274. python_ddd_framework-0.10.1/src/python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/http_api/filters/__init__.py.jinja +1 -0
  275. python_ddd_framework-0.10.1/src/python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/http_api/models/__init__.py.jinja +1 -0
  276. python_ddd_framework-0.10.1/src/python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/http_api/routers/__init__.py.jinja +1 -0
  277. python_ddd_framework-0.10.1/src/python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/http_api/websockets/__init__.py.jinja +1 -0
  278. python_ddd_framework-0.10.1/src/python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/sqlalchemy/__init__.py.jinja +1 -0
  279. python_ddd_framework-0.10.1/src/python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/sqlalchemy/mappings/__init__.py.jinja +1 -0
  280. python_ddd_framework-0.10.1/src/python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/sqlalchemy/migrations/__init__.py.jinja +1 -0
  281. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/sqlalchemy/module.py.jinja +2 -4
  282. python_ddd_framework-0.10.1/src/python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/sqlalchemy/repositories/__init__.py.jinja +1 -0
  283. python_ddd_framework-0.10.1/src/python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/tests/__init__.py.jinja +1 -0
  284. python_ddd_framework-0.10.1/src/python_ddd_framework/developer_kit/templates/project/{{cookiecutter.project_name}}/AGENTS.md +53 -0
  285. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/developer_kit/templates/project/{{cookiecutter.project_name}}/README.md +32 -19
  286. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/developer_kit/templates/project/{{cookiecutter.project_name}}/backend/pyproject.toml.jinja +15 -1
  287. python_ddd_framework-0.10.1/src/python_ddd_framework/developer_kit/templates/project/{{cookiecutter.project_name}}/docs/architecture.md +42 -0
  288. python_ddd_framework-0.10.1/src/python_ddd_framework/developer_kit/templates/project/{{cookiecutter.project_name}}/docs/development.md +71 -0
  289. python_ddd_framework-0.10.1/src/python_ddd_framework/developer_kit/templates/project/{{cookiecutter.project_name}}/scripts/.gitkeep +0 -0
  290. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/domain/__init__.py +5 -0
  291. python_ddd_framework-0.10.1/src/python_ddd_framework/domain/aggregates.py +27 -0
  292. python_ddd_framework-0.10.1/src/python_ddd_framework/domain/auditing.py +11 -0
  293. python_ddd_framework-0.10.1/src/python_ddd_framework/domain/capabilities.py +39 -0
  294. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/domain/entities.py +0 -2
  295. python_ddd_framework-0.10.1/src/python_ddd_framework/entity_caching/__init__.py +5 -0
  296. python_ddd_framework-0.10.1/src/python_ddd_framework/entity_caching/cache.py +95 -0
  297. python_ddd_framework-0.10.1/src/python_ddd_framework/entity_caching/contracts.py +22 -0
  298. python_ddd_framework-0.10.1/src/python_ddd_framework/entity_caching/module.py +9 -0
  299. python_ddd_framework-0.10.1/src/python_ddd_framework/entity_caching/registration.py +131 -0
  300. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/events/aggregate.py +6 -13
  301. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/events/runtime.py +93 -27
  302. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/extensions/__init__.py +2 -0
  303. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/extensions/catalog.py +4 -0
  304. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/extensions/contracts.py +12 -2
  305. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/identity/application.py +2 -4
  306. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/identity/domain_rules.py +4 -2
  307. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/identity/dtos.py +19 -20
  308. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/identity/management.py +14 -11
  309. python_ddd_framework-0.10.1/src/python_ddd_framework/identity/models.py +78 -0
  310. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/identity/seeding.py +2 -2
  311. python_ddd_framework-0.10.1/src/python_ddd_framework/identity/sqlalchemy/mappings.py +132 -0
  312. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/identity/sqlalchemy/module.py +1 -11
  313. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/identity/sqlalchemy/repository.py +147 -178
  314. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/identity/sqlalchemy/session_security.py +8 -9
  315. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/identity/sqlalchemy/stores.py +110 -86
  316. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/identity/stores.py +5 -5
  317. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/invocation/runtime.py +6 -0
  318. python_ddd_framework-0.10.1/src/python_ddd_framework/py.typed +0 -0
  319. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/services/__init__.py +2 -1
  320. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/services/composition.py +8 -0
  321. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/services/convention.py +28 -1
  322. python_ddd_framework-0.10.1/src/python_ddd_framework/services/repository.py +46 -0
  323. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/services/runtime.py +4 -0
  324. python_ddd_framework-0.10.1/src/python_ddd_framework/settings/sqlalchemy/mappings.py +31 -0
  325. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/settings/sqlalchemy/module.py +1 -2
  326. python_ddd_framework-0.10.1/src/python_ddd_framework/settings/sqlalchemy/store.py +107 -0
  327. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/sqlalchemy/__init__.py +8 -6
  328. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/sqlalchemy/alembic_runtime/env.py +3 -0
  329. python_ddd_framework-0.10.1/src/python_ddd_framework/sqlalchemy/auditing.py +136 -0
  330. python_ddd_framework-0.10.1/src/python_ddd_framework/sqlalchemy/conventions.py +54 -0
  331. python_ddd_framework-0.10.1/src/python_ddd_framework/sqlalchemy/event_origins.py +163 -0
  332. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/sqlalchemy/extensions.py +81 -49
  333. python_ddd_framework-0.10.1/src/python_ddd_framework/sqlalchemy/locking.py +22 -0
  334. python_ddd_framework-0.10.1/src/python_ddd_framework/sqlalchemy/mapping.py +53 -0
  335. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/sqlalchemy/metadata.py +27 -47
  336. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/sqlalchemy/metadata_builder.py +26 -20
  337. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/sqlalchemy/metadata_fingerprint.py +4 -1
  338. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/sqlalchemy/metadata_ownership.py +1 -1
  339. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/sqlalchemy/migration.py +3 -5
  340. python_ddd_framework-0.10.1/src/python_ddd_framework/sqlalchemy/migration_rendering.py +25 -0
  341. python_ddd_framework-0.10.1/src/python_ddd_framework/sqlalchemy/module.py +108 -0
  342. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/sqlalchemy/module_migration.py +4 -4
  343. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/sqlalchemy/repository.py +139 -64
  344. python_ddd_framework-0.10.1/src/python_ddd_framework/sqlalchemy/repository_binding.py +152 -0
  345. python_ddd_framework-0.10.1/src/python_ddd_framework/sqlalchemy/session_provider.py +53 -0
  346. python_ddd_framework-0.10.1/src/python_ddd_framework/sqlalchemy/tracking.py +231 -0
  347. python_ddd_framework-0.10.1/src/python_ddd_framework/sqlalchemy/types.py +25 -0
  348. python_ddd_framework-0.10.1/src/python_ddd_framework/sqlalchemy/unit_of_work.py +201 -0
  349. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/unit_of_work/contracts.py +13 -6
  350. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/unit_of_work/lifecycle.py +3 -0
  351. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/unit_of_work/manager.py +17 -4
  352. python_ddd_framework-0.9.0/LICENSE +0 -7
  353. python_ddd_framework-0.9.0/PKG-INFO +0 -619
  354. python_ddd_framework-0.9.0/README.md +0 -575
  355. python_ddd_framework-0.9.0/src/python_ddd_framework/auditing/sqlalchemy/models.py +0 -31
  356. python_ddd_framework-0.9.0/src/python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/README.md +0 -59
  357. python_ddd_framework-0.9.0/src/python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/sqlalchemy/models/base.py.jinja +0 -7
  358. python_ddd_framework-0.9.0/src/python_ddd_framework/developer_kit/templates/project/{{cookiecutter.project_name}}/AGENTS.md +0 -74
  359. python_ddd_framework-0.9.0/src/python_ddd_framework/domain/aggregates.py +0 -57
  360. python_ddd_framework-0.9.0/src/python_ddd_framework/identity/models.py +0 -86
  361. python_ddd_framework-0.9.0/src/python_ddd_framework/identity/sqlalchemy/models.py +0 -104
  362. python_ddd_framework-0.9.0/src/python_ddd_framework/services/repository.py +0 -44
  363. python_ddd_framework-0.9.0/src/python_ddd_framework/settings/sqlalchemy/models.py +0 -36
  364. python_ddd_framework-0.9.0/src/python_ddd_framework/settings/sqlalchemy/store.py +0 -86
  365. python_ddd_framework-0.9.0/src/python_ddd_framework/sqlalchemy/auditing.py +0 -54
  366. python_ddd_framework-0.9.0/src/python_ddd_framework/sqlalchemy/module.py +0 -55
  367. python_ddd_framework-0.9.0/src/python_ddd_framework/sqlalchemy/session_provider.py +0 -58
  368. python_ddd_framework-0.9.0/src/python_ddd_framework/sqlalchemy/unit_of_work.py +0 -97
  369. /python_ddd_framework-0.9.0/src/python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/application/__init__.py.jinja → /python_ddd_framework-0.10.1/examples/framework_demo/backend/src/modules/catalog/application/__init__.py +0 -0
  370. /python_ddd_framework-0.9.0/src/python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/application/background_jobs/__init__.py.jinja → /python_ddd_framework-0.10.1/examples/framework_demo/backend/src/modules/catalog/application/integration_services/__init__.py +0 -0
  371. /python_ddd_framework-0.9.0/src/python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/application/background_workers/__init__.py.jinja → /python_ddd_framework-0.10.1/examples/framework_demo/backend/src/modules/catalog/application/services/__init__.py +0 -0
  372. /python_ddd_framework-0.9.0/src/python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/application_contracts/__init__.py.jinja → /python_ddd_framework-0.10.1/examples/framework_demo/backend/src/modules/catalog/application_contracts/__init__.py +0 -0
  373. /python_ddd_framework-0.9.0/src/python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/application/caching/__init__.py.jinja → /python_ddd_framework-0.10.1/examples/framework_demo/backend/src/modules/catalog/application_contracts/inputs/__init__.py +0 -0
  374. /python_ddd_framework-0.9.0/src/python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/application/event_handlers/__init__.py.jinja → /python_ddd_framework-0.10.1/examples/framework_demo/backend/src/modules/catalog/application_contracts/integration_services/__init__.py +0 -0
  375. /python_ddd_framework-0.9.0/src/python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/application/hosted_services/__init__.py.jinja → /python_ddd_framework-0.10.1/examples/framework_demo/backend/src/modules/catalog/application_contracts/services/__init__.py +0 -0
  376. /python_ddd_framework-0.9.0/src/python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/application/integration_services/__init__.py.jinja → /python_ddd_framework-0.10.1/examples/framework_demo/backend/src/modules/catalog/application_contracts/views/__init__.py +0 -0
  377. /python_ddd_framework-0.9.0/src/python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/domain/__init__.py.jinja → /python_ddd_framework-0.10.1/examples/framework_demo/backend/src/modules/catalog/domain/__init__.py +0 -0
  378. /python_ddd_framework-0.9.0/src/python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/application/interceptors/__init__.py.jinja → /python_ddd_framework-0.10.1/examples/framework_demo/backend/src/modules/catalog/domain/entities/__init__.py +0 -0
  379. /python_ddd_framework-0.9.0/src/python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/application/options/__init__.py.jinja → /python_ddd_framework-0.10.1/examples/framework_demo/backend/src/modules/catalog/domain/repositories/__init__.py +0 -0
  380. /python_ddd_framework-0.9.0/src/python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/domain_shared/__init__.py.jinja → /python_ddd_framework-0.10.1/examples/framework_demo/backend/src/modules/catalog/domain_shared/__init__.py +0 -0
  381. /python_ddd_framework-0.9.0/src/python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/application/services/__init__.py.jinja → /python_ddd_framework-0.10.1/examples/framework_demo/backend/src/modules/catalog/domain_shared/permissions/__init__.py +0 -0
  382. /python_ddd_framework-0.9.0/src/python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/domain_shared/value_objects/__init__.py.jinja → /python_ddd_framework-0.10.1/examples/framework_demo/backend/src/modules/catalog/domain_shared/value_objects/__init__.py +0 -0
  383. /python_ddd_framework-0.9.0/src/python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/http_api/__init__.py.jinja → /python_ddd_framework-0.10.1/examples/framework_demo/backend/src/modules/catalog/http_api/__init__.py +0 -0
  384. /python_ddd_framework-0.9.0/src/python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/sqlalchemy/__init__.py.jinja → /python_ddd_framework-0.10.1/examples/framework_demo/backend/src/modules/catalog/sqlalchemy/__init__.py +0 -0
  385. /python_ddd_framework-0.9.0/src/python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/sqlalchemy/models/__init__.py.jinja → /python_ddd_framework-0.10.1/examples/framework_demo/backend/src/modules/catalog/sqlalchemy/mappings/__init__.py +0 -0
  386. /python_ddd_framework-0.9.0/src/python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/sqlalchemy/repositories/__init__.py.jinja → /python_ddd_framework-0.10.1/examples/framework_demo/backend/src/modules/catalog/sqlalchemy/repositories/__init__.py +0 -0
  387. /python_ddd_framework-0.9.0/src/python_ddd_framework/developer_kit/templates/basic/{{cookiecutter.module_name}}/__init__.py.jinja → /python_ddd_framework-0.10.1/examples/framework_demo/backend/src/modules/customer/__init__.py +0 -0
  388. /python_ddd_framework-0.9.0/src/python_ddd_framework/developer_kit/templates/basic/{{cookiecutter.module_name}}/contracts/__init__.py.jinja → /python_ddd_framework-0.10.1/examples/framework_demo/backend/src/modules/customer/application_contracts/__init__.py +0 -0
  389. /python_ddd_framework-0.9.0/src/python_ddd_framework/developer_kit/templates/basic/{{cookiecutter.module_name}}/services/__init__.py.jinja → /python_ddd_framework-0.10.1/examples/framework_demo/backend/src/modules/customer/application_contracts/views/__init__.py +0 -0
  390. /python_ddd_framework-0.9.0/src/python_ddd_framework/developer_kit/templates/project/{{cookiecutter.project_name}}/scripts/.gitkeep → /python_ddd_framework-0.10.1/examples/framework_demo/backend/src/modules/customer/sqlalchemy/__init__.py +0 -0
  391. /python_ddd_framework-0.9.0/src/python_ddd_framework/py.typed → /python_ddd_framework-0.10.1/examples/framework_demo/backend/src/modules/customer/sqlalchemy/migrations/__init__.py +0 -0
  392. /python_ddd_framework-0.9.0/src/python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/application_contracts/inputs/__init__.py.jinja → /python_ddd_framework-0.10.1/examples/framework_demo/backend/src/modules/orders/application/background_jobs/__init__.py +0 -0
  393. /python_ddd_framework-0.9.0/src/python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/application_contracts/integration_services/__init__.py.jinja → /python_ddd_framework-0.10.1/examples/framework_demo/backend/src/modules/orders/application/background_jobs/order_approval/__init__.py +0 -0
  394. /python_ddd_framework-0.9.0/src/python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/application_contracts/services/__init__.py.jinja → /python_ddd_framework-0.10.1/examples/framework_demo/backend/src/modules/orders/application/background_jobs/order_statistics/__init__.py +0 -0
  395. /python_ddd_framework-0.9.0/src/python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/application_contracts/views/__init__.py.jinja → /python_ddd_framework-0.10.1/examples/framework_demo/backend/src/modules/orders/application/background_workers/__init__.py +0 -0
  396. /python_ddd_framework-0.9.0/src/python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/domain/entities/__init__.py.jinja → /python_ddd_framework-0.10.1/examples/framework_demo/backend/src/modules/orders/application/caching/__init__.py +0 -0
  397. /python_ddd_framework-0.9.0/src/python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/domain/events/__init__.py.jinja → /python_ddd_framework-0.10.1/examples/framework_demo/backend/src/modules/orders/application/event_handlers/__init__.py +0 -0
  398. /python_ddd_framework-0.9.0/src/python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/domain/repositories/__init__.py.jinja → /python_ddd_framework-0.10.1/examples/framework_demo/backend/src/modules/orders/application/hosted_services/__init__.py +0 -0
  399. /python_ddd_framework-0.9.0/src/python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/domain/seeding/__init__.py.jinja → /python_ddd_framework-0.10.1/examples/framework_demo/backend/src/modules/orders/application/integration_services/__init__.py +0 -0
  400. /python_ddd_framework-0.9.0/src/python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/domain/services/__init__.py.jinja → /python_ddd_framework-0.10.1/examples/framework_demo/backend/src/modules/orders/application/interceptors/__init__.py +0 -0
  401. /python_ddd_framework-0.9.0/src/python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/domain/settings/__init__.py.jinja → /python_ddd_framework-0.10.1/examples/framework_demo/backend/src/modules/orders/application/options/__init__.py +0 -0
  402. /python_ddd_framework-0.9.0/src/python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/domain/value_objects/__init__.py.jinja → /python_ddd_framework-0.10.1/examples/framework_demo/backend/src/modules/orders/application/services/__init__.py +0 -0
  403. /python_ddd_framework-0.9.0/src/python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/domain_shared/constants/__init__.py.jinja → /python_ddd_framework-0.10.1/examples/framework_demo/backend/src/modules/orders/application_contracts/inputs/__init__.py +0 -0
  404. /python_ddd_framework-0.9.0/src/python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/domain_shared/enums/__init__.py.jinja → /python_ddd_framework-0.10.1/examples/framework_demo/backend/src/modules/orders/application_contracts/integration_services/__init__.py +0 -0
  405. /python_ddd_framework-0.9.0/src/python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/domain_shared/errors/__init__.py.jinja → /python_ddd_framework-0.10.1/examples/framework_demo/backend/src/modules/orders/application_contracts/services/__init__.py +0 -0
  406. /python_ddd_framework-0.9.0/src/python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/domain_shared/messages/__init__.py.jinja → /python_ddd_framework-0.10.1/examples/framework_demo/backend/src/modules/orders/application_contracts/views/__init__.py +0 -0
  407. /python_ddd_framework-0.9.0/src/python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/domain_shared/permissions/__init__.py.jinja → /python_ddd_framework-0.10.1/examples/framework_demo/backend/src/modules/orders/domain/entities/__init__.py +0 -0
  408. /python_ddd_framework-0.9.0/src/python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/http_api/filters/__init__.py.jinja → /python_ddd_framework-0.10.1/examples/framework_demo/backend/src/modules/orders/domain/events/__init__.py +0 -0
  409. /python_ddd_framework-0.9.0/src/python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/http_api/models/__init__.py.jinja → /python_ddd_framework-0.10.1/examples/framework_demo/backend/src/modules/orders/domain/repositories/__init__.py +0 -0
  410. /python_ddd_framework-0.9.0/src/python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/http_api/routers/__init__.py.jinja → /python_ddd_framework-0.10.1/examples/framework_demo/backend/src/modules/orders/domain/seeding/__init__.py +0 -0
  411. /python_ddd_framework-0.9.0/src/python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/http_api/websockets/__init__.py.jinja → /python_ddd_framework-0.10.1/examples/framework_demo/backend/src/modules/orders/domain/services/__init__.py +0 -0
  412. /python_ddd_framework-0.9.0/src/python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/tests/__init__.py.jinja → /python_ddd_framework-0.10.1/examples/framework_demo/backend/src/modules/orders/domain/settings/__init__.py +0 -0
  413. /python_ddd_framework-0.9.0/src/python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/sqlalchemy/migrations/__init__.py.jinja → /python_ddd_framework-0.10.1/examples/framework_demo/backend/src/modules/orders/sqlalchemy/migrations/__init__.py +0 -0
  414. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/application/__init__.py +0 -0
  415. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/application/build_spec.py +0 -0
  416. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/application/composition.py +0 -0
  417. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/application/runtime.py +0 -0
  418. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/application_services/__init__.py +0 -0
  419. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/application_services/bindings.py +0 -0
  420. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/application_services/catalog.py +0 -0
  421. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/application_services/contracts.py +0 -0
  422. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/application_services/dispatcher.py +0 -0
  423. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/application_services/errors.py +0 -0
  424. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/application_services/invocation.py +0 -0
  425. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/application_services/module.py +0 -0
  426. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/application_services/pagination.py +0 -0
  427. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/auditing/__init__.py +0 -0
  428. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/auditing/contracts.py +0 -0
  429. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/auditing/control.py +0 -0
  430. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/auditing/module.py +0 -0
  431. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/auditing/sqlalchemy/__init__.py +0 -0
  432. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/auditing/sqlalchemy/migrations/0001_auditing.py +0 -0
  433. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/auditing/sqlalchemy/migrations/__init__.py +0 -0
  434. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/authorization/__init__.py +0 -0
  435. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/authorization/catalog.py +0 -0
  436. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/authorization/checking.py +0 -0
  437. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/authorization/contracts.py +0 -0
  438. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/authorization/definition_discovery.py +0 -0
  439. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/authorization/definitions.py +0 -0
  440. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/authorization/errors.py +0 -0
  441. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/authorization/module.py +0 -0
  442. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/authorization/options.py +0 -0
  443. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/background_execution/__init__.py +0 -0
  444. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/background_execution/application.py +0 -0
  445. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/background_execution/child.py +0 -0
  446. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/background_execution/contracts.py +0 -0
  447. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/background_execution/declarations.py +0 -0
  448. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/background_execution/lifecycle.py +0 -0
  449. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/background_execution/local.py +0 -0
  450. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/background_execution/locks.py +0 -0
  451. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/background_execution/management.py +0 -0
  452. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/background_execution/module.py +0 -0
  453. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/background_execution/permissions.py +0 -0
  454. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/background_execution/processes.py +0 -0
  455. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/background_jobs/__init__.py +0 -0
  456. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/background_jobs/catalog.py +0 -0
  457. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/background_jobs/contracts.py +0 -0
  458. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/background_jobs/declaration.py +0 -0
  459. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/background_jobs/errors.py +0 -0
  460. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/background_jobs/execution.py +0 -0
  461. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/background_jobs/pgqueuer/UPSTREAM_LICENSE.txt +0 -0
  462. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/background_jobs/pgqueuer/__init__.py +0 -0
  463. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/background_jobs/pgqueuer/enqueue.py +0 -0
  464. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/background_jobs/pgqueuer/migrations/0001_pgqueuer_1_3_2.py +0 -0
  465. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/background_jobs/pgqueuer/migrations/__init__.py +0 -0
  466. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/background_jobs/pgqueuer/module.py +0 -0
  467. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/background_jobs/pgqueuer/options.py +0 -0
  468. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/background_jobs/pgqueuer/runtime.py +0 -0
  469. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/background_jobs/pgqueuer/sql/pgqueuer_1_3_2_install.sql +0 -0
  470. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/background_jobs/pgqueuer/supervision.py +0 -0
  471. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/background_workers/__init__.py +0 -0
  472. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/background_workers/catalog.py +0 -0
  473. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/background_workers/contracts.py +0 -0
  474. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/background_workers/errors.py +0 -0
  475. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/background_workers/execution.py +0 -0
  476. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/background_workers/runtime.py +0 -0
  477. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/caching/__init__.py +0 -0
  478. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/caching/contracts.py +0 -0
  479. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/caching/errors.py +0 -0
  480. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/caching/module.py +0 -0
  481. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/caching/naming.py +0 -0
  482. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/caching/options.py +0 -0
  483. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/cli/__init__.py +0 -0
  484. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/cli/development.py +0 -0
  485. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/cli/errors.py +0 -0
  486. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/cli/inspection.py +0 -0
  487. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/cli/project.py +0 -0
  488. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/cli/runtime.py +0 -0
  489. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/configuration/__init__.py +0 -0
  490. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/configuration/composition.py +0 -0
  491. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/configuration/contracts.py +0 -0
  492. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/configuration/dotenv_source.py +0 -0
  493. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/configuration/environment_source.py +0 -0
  494. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/configuration/immutability.py +0 -0
  495. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/configuration/input_shape.py +0 -0
  496. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/configuration/merge.py +0 -0
  497. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/configuration/root.py +0 -0
  498. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/configuration/sources.py +0 -0
  499. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/configuration/values.py +0 -0
  500. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/configuration/yaml_source.py +0 -0
  501. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/developer_kit/__init__.py +0 -0
  502. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/developer_kit/generation.py +0 -0
  503. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/developer_kit/project_metadata.py +0 -0
  504. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/developer_kit/publication.py +0 -0
  505. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/developer_kit/source.py +0 -0
  506. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/developer_kit/templates/basic/cookiecutter.json +0 -0
  507. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/developer_kit/templates/basic/{{cookiecutter.module_name}}/contracts/conversion_service.py.jinja +0 -0
  508. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/developer_kit/templates/basic/{{cookiecutter.module_name}}/module.py.jinja +0 -0
  509. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/developer_kit/templates/basic/{{cookiecutter.module_name}}/services/default_conversion_service.py.jinja +0 -0
  510. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/developer_kit/templates/module/cookiecutter.json +0 -0
  511. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/__init__.py.jinja +0 -0
  512. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/application/module.py.jinja +0 -0
  513. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/application_contracts/module.py.jinja +0 -0
  514. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/domain/module.py.jinja +0 -0
  515. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/domain_shared/module.py.jinja +0 -0
  516. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/http_api/module.py.jinja +0 -0
  517. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/developer_kit/templates/project/cookiecutter.json +0 -0
  518. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/developer_kit/templates/project/{{cookiecutter.project_name}}/backend/.dockerignore +0 -0
  519. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/developer_kit/templates/project/{{cookiecutter.project_name}}/backend/.gitignore +0 -0
  520. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/developer_kit/templates/project/{{cookiecutter.project_name}}/backend/.python-version +0 -0
  521. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/developer_kit/templates/project/{{cookiecutter.project_name}}/backend/Dockerfile +0 -0
  522. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/developer_kit/templates/project/{{cookiecutter.project_name}}/backend/app.development.yaml.jinja +0 -0
  523. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/developer_kit/templates/project/{{cookiecutter.project_name}}/backend/compose.dev.yaml.jinja +0 -0
  524. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/developer_kit/templates/project/{{cookiecutter.project_name}}/backend/compose.production.yaml.jinja +0 -0
  525. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/developer_kit/templates/project/{{cookiecutter.project_name}}/backend/src/host/__init__.py.jinja +0 -0
  526. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/developer_kit/templates/project/{{cookiecutter.project_name}}/backend/src/host/main.py.jinja +0 -0
  527. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/developer_kit/templates/project/{{cookiecutter.project_name}}/backend/src/host/module.py.jinja +0 -0
  528. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/developer_kit/templates/project/{{cookiecutter.project_name}}/backend/tests/conftest.py.jinja +0 -0
  529. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/developer_kit/templates/project/{{cookiecutter.project_name}}/backend/tests/host/test_http.py.jinja +0 -0
  530. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/developer_kit/wiring.py +0 -0
  531. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/diagnostics/__init__.py +0 -0
  532. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/diagnostics/journal.py +0 -0
  533. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/diagnostics/model.py +0 -0
  534. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/diagnostics/source.py +0 -0
  535. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/distributed_lock/__init__.py +0 -0
  536. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/distributed_lock/contracts.py +0 -0
  537. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/distributed_lock/options.py +0 -0
  538. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/domain/errors.py +0 -0
  539. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/domain/event_values.py +0 -0
  540. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/domain/services.py +0 -0
  541. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/domain/value_objects.py +0 -0
  542. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/errors/__init__.py +0 -0
  543. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/errors/base.py +0 -0
  544. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/errors/business.py +0 -0
  545. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/errors/configuration.py +0 -0
  546. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/errors/diagnostics.py +0 -0
  547. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/errors/lifecycle.py +0 -0
  548. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/errors/modularity.py +0 -0
  549. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/errors/services.py +0 -0
  550. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/events/__init__.py +0 -0
  551. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/events/catalog.py +0 -0
  552. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/events/contracts.py +0 -0
  553. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/events/contribution.py +0 -0
  554. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/events/discovery.py +0 -0
  555. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/events/entities.py +0 -0
  556. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/events/errors.py +0 -0
  557. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/events/module.py +0 -0
  558. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/events/subscription.py +0 -0
  559. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/events/unit_of_work.py +0 -0
  560. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/extensions/models.py +0 -0
  561. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/extensions/module.py +0 -0
  562. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/fastapi/__init__.py +0 -0
  563. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/fastapi/access.py +0 -0
  564. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/fastapi/access_options.py +0 -0
  565. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/fastapi/action.py +0 -0
  566. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/fastapi/adapter.py +0 -0
  567. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/fastapi/application_services.py +0 -0
  568. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/fastapi/background.py +0 -0
  569. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/fastapi/contracts.py +0 -0
  570. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/fastapi/error_handlers.py +0 -0
  571. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/fastapi/errors.py +0 -0
  572. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/fastapi/filters.py +0 -0
  573. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/fastapi/health.py +0 -0
  574. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/fastapi/http.py +0 -0
  575. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/fastapi/http_router.py +0 -0
  576. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/fastapi/manual_action.py +0 -0
  577. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/fastapi/middleware.py +0 -0
  578. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/fastapi/module.py +0 -0
  579. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/fastapi/parameters.py +0 -0
  580. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/fastapi/realtime/__init__.py +0 -0
  581. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/fastapi/realtime/authentication.py +0 -0
  582. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/fastapi/realtime/connection.py +0 -0
  583. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/fastapi/realtime/module.py +0 -0
  584. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/fastapi/realtime/options.py +0 -0
  585. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/fastapi/realtime/runtime.py +0 -0
  586. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/fastapi/request_context.py +0 -0
  587. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/fastapi/route_integrity.py +0 -0
  588. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/fastapi/routing.py +0 -0
  589. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/fastapi/server.py +0 -0
  590. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/fastapi/service_endpoints.py +0 -0
  591. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/fastapi/service_routes.py +0 -0
  592. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/fastapi/settings.py +0 -0
  593. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/fastapi/streaming.py +0 -0
  594. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/fastapi/tracing.py +0 -0
  595. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/fastapi/transfer.py +0 -0
  596. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/fastapi/upload_limits.py +0 -0
  597. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/fastapi/uploads.py +0 -0
  598. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/hosted_services/__init__.py +0 -0
  599. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/hosted_services/bridge.py +0 -0
  600. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/hosted_services/catalog.py +0 -0
  601. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/hosted_services/contracts.py +0 -0
  602. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/hosted_services/declarations.py +0 -0
  603. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/hosted_services/errors.py +0 -0
  604. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/hosted_services/module.py +0 -0
  605. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/hosted_services/options.py +0 -0
  606. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/hosted_services/runtime.py +0 -0
  607. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/hosted_services/state.py +0 -0
  608. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/hosting/__init__.py +0 -0
  609. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/hosting/instance.py +0 -0
  610. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/identity/__init__.py +0 -0
  611. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/identity/contracts.py +0 -0
  612. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/identity/errors.py +0 -0
  613. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/identity/extensions.py +0 -0
  614. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/identity/http_api.py +0 -0
  615. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/identity/module.py +0 -0
  616. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/identity/options.py +0 -0
  617. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/identity/passwords.py +0 -0
  618. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/identity/permissions.py +0 -0
  619. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/identity/services.py +0 -0
  620. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/identity/sqlalchemy/__init__.py +0 -0
  621. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/identity/sqlalchemy/migrations/0001_identity.py +0 -0
  622. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/identity/sqlalchemy/migrations/0002_physical_delete.py +0 -0
  623. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/identity/sqlalchemy/migrations/0003_extra_properties.py +0 -0
  624. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/identity/sqlalchemy/migrations/0004_concurrency_version.py +0 -0
  625. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/identity/sqlalchemy/migrations/__init__.py +0 -0
  626. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/identity/tokens.py +0 -0
  627. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/invocation/__init__.py +0 -0
  628. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/invocation/arguments.py +0 -0
  629. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/invocation/callables.py +0 -0
  630. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/invocation/contracts.py +0 -0
  631. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/invocation/contribution.py +0 -0
  632. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/invocation/dispatcher.py +0 -0
  633. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/invocation/entries.py +0 -0
  634. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/invocation/entrypoints.py +0 -0
  635. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/invocation/execution.py +0 -0
  636. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/invocation/function_runtime.py +0 -0
  637. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/invocation/interception.py +0 -0
  638. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/invocation/interceptors.py +0 -0
  639. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/invocation/managed_proxy.py +0 -0
  640. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/invocation/managed_services.py +0 -0
  641. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/invocation/methods.py +0 -0
  642. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/invocation/module.py +0 -0
  643. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/invocation/policies.py +0 -0
  644. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/invocation/scopes.py +0 -0
  645. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/invocation/signature.py +0 -0
  646. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/invocation/validation.py +0 -0
  647. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/lifecycle/__init__.py +0 -0
  648. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/lifecycle/composition.py +0 -0
  649. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/lifecycle/context.py +0 -0
  650. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/lifecycle/participants.py +0 -0
  651. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/lifecycle/runtime.py +0 -0
  652. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/lifecycle/state.py +0 -0
  653. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/messaging/__init__.py +0 -0
  654. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/messaging/channel.py +0 -0
  655. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/messaging/contracts.py +0 -0
  656. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/messaging/module.py +0 -0
  657. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/messaging/options.py +0 -0
  658. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/messaging/receipt.py +0 -0
  659. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/messaging/runtime.py +0 -0
  660. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/modularity/__init__.py +0 -0
  661. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/modularity/contracts.py +0 -0
  662. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/modularity/discovery.py +0 -0
  663. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/modularity/graph.py +0 -0
  664. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/modularity/registry.py +0 -0
  665. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/modularity/selection.py +0 -0
  666. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/notifications/__init__.py +0 -0
  667. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/notifications/catalog.py +0 -0
  668. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/notifications/contracts.py +0 -0
  669. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/notifications/declarations.py +0 -0
  670. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/notifications/module.py +0 -0
  671. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/observability/__init__.py +0 -0
  672. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/observability/context.py +0 -0
  673. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/observability/export.py +0 -0
  674. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/observability/formatting.py +0 -0
  675. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/observability/logging.py +0 -0
  676. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/observability/options.py +0 -0
  677. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/observability/tracing.py +0 -0
  678. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/options/__init__.py +0 -0
  679. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/options/aliases.py +0 -0
  680. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/options/contribution.py +0 -0
  681. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/options/immutability.py +0 -0
  682. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/options/input_keys.py +0 -0
  683. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/options/issues.py +0 -0
  684. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/options/models.py +0 -0
  685. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/options/registry.py +0 -0
  686. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/options/schema.py +0 -0
  687. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/options/validation.py +0 -0
  688. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/realtime/__init__.py +0 -0
  689. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/realtime/contracts.py +0 -0
  690. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/realtime/diagnostics.py +0 -0
  691. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/realtime/messages.py +0 -0
  692. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/redis/__init__.py +0 -0
  693. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/redis/cache.py +0 -0
  694. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/redis/cache_scripts.py +0 -0
  695. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/redis/distributed_lock.py +0 -0
  696. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/redis/lease_lock.py +0 -0
  697. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/redis/module.py +0 -0
  698. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/redis/notification_runtime.py +0 -0
  699. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/redis/notifications.py +0 -0
  700. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/redis/options.py +0 -0
  701. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/redis/runtime.py +0 -0
  702. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/seeding/__init__.py +0 -0
  703. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/seeding/contracts.py +0 -0
  704. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/seeding/module.py +0 -0
  705. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/seeding/runtime.py +0 -0
  706. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/services/arbitration.py +0 -0
  707. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/services/binding.py +0 -0
  708. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/services/contribution.py +0 -0
  709. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/services/convention_contracts.py +0 -0
  710. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/services/exposure.py +0 -0
  711. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/services/fixed_lifetime.py +0 -0
  712. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/services/framework_provider.py +0 -0
  713. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/services/native_graph.py +0 -0
  714. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/services/provider.py +0 -0
  715. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/services/registration.py +0 -0
  716. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/services/relocation.py +0 -0
  717. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/settings/__init__.py +0 -0
  718. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/settings/application.py +0 -0
  719. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/settings/binding.py +0 -0
  720. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/settings/catalog.py +0 -0
  721. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/settings/contracts.py +0 -0
  722. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/settings/definition_discovery.py +0 -0
  723. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/settings/definitions.py +0 -0
  724. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/settings/errors.py +0 -0
  725. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/settings/management.py +0 -0
  726. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/settings/manager.py +0 -0
  727. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/settings/module.py +0 -0
  728. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/settings/permissions.py +0 -0
  729. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/settings/provider.py +0 -0
  730. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/settings/sqlalchemy/__init__.py +0 -0
  731. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/settings/sqlalchemy/migrations/0001_settings.py +0 -0
  732. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/settings/sqlalchemy/migrations/0002_physical_delete.py +0 -0
  733. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/settings/sqlalchemy/migrations/0003_version_tokens.py +0 -0
  734. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/settings/sqlalchemy/migrations/__init__.py +0 -0
  735. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/settings/store.py +0 -0
  736. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/settings/values.py +0 -0
  737. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/sqlalchemy/alembic_runtime/__init__.py +0 -0
  738. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/sqlalchemy/alembic_runtime/script.py.mako +0 -0
  739. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/sqlalchemy/errors.py +0 -0
  740. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/sqlalchemy/migration_operations.py +0 -0
  741. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/sqlalchemy/migration_options.py +0 -0
  742. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/sqlalchemy/migration_sources.py +0 -0
  743. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/sqlalchemy/options.py +0 -0
  744. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/sqlalchemy/runtime.py +0 -0
  745. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/testing/__init__.py +0 -0
  746. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/testing/runtime.py +0 -0
  747. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/unit_of_work/__init__.py +0 -0
  748. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/unit_of_work/errors.py +0 -0
  749. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/unit_of_work/module.py +0 -0
  750. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/unit_of_work/options.py +0 -0
  751. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/validation/__init__.py +0 -0
  752. {python_ddd_framework-0.9.0 → python_ddd_framework-0.10.1}/src/python_ddd_framework/validation/models.py +0 -0
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 hank-repo
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -0,0 +1,363 @@
1
+ Metadata-Version: 2.4
2
+ Name: python-ddd-framework
3
+ Version: 0.10.1
4
+ Summary: Modular DDD application framework with project CLI and bundled templates
5
+ License-Expression: MIT
6
+ License-File: LICENSE
7
+ License-File: src/python_ddd_framework/background_jobs/pgqueuer/UPSTREAM_LICENSE.txt
8
+ Classifier: Operating System :: Microsoft :: Windows
9
+ Classifier: Operating System :: POSIX :: Linux
10
+ Classifier: Programming Language :: Python :: 3
11
+ Classifier: Programming Language :: Python :: 3.12
12
+ Classifier: Programming Language :: Python :: 3.13
13
+ Classifier: Programming Language :: Python :: 3.14
14
+ Requires-Dist: croniter>=6.2.4,<7
15
+ Requires-Dist: dishka>=1.10.1,<2
16
+ Requires-Dist: fastapi>=0.141.1,<0.142
17
+ Requires-Dist: filelock==3.32.6
18
+ Requires-Dist: httpx>=0.28.1,<0.29
19
+ Requires-Dist: pgqueuer[asyncpg]>=1.3.2,<1.4
20
+ Requires-Dist: pydantic>=2.13.5,<3
21
+ Requires-Dist: pydantic-settings[yaml]>=2.15.0,<3
22
+ Requires-Dist: python-multipart==0.0.32
23
+ Requires-Dist: uvicorn>=0.52.4,<0.53
24
+ Requires-Dist: wsproto>=1.3.2,<2
25
+ Requires-Dist: pyjwt>=2.13.0,<3
26
+ Requires-Dist: pwdlib[argon2]>=0.3.1,<0.4
27
+ Requires-Dist: python-json-logger==4.2.0
28
+ Requires-Dist: sqlalchemy[asyncio]>=2.0.52,<2.1
29
+ Requires-Dist: alembic>=1.19.1,<2
30
+ Requires-Dist: asyncpg>=0.31,<0.32
31
+ Requires-Dist: anyio>=4.14.2,<5
32
+ Requires-Dist: redis>=8.1.0,<9
33
+ Requires-Dist: opentelemetry-api==1.44.0
34
+ Requires-Dist: opentelemetry-sdk==1.44.0
35
+ Requires-Dist: opentelemetry-exporter-otlp-proto-http==1.44.0
36
+ Requires-Dist: opentelemetry-instrumentation-fastapi==0.65b0
37
+ Requires-Dist: opentelemetry-instrumentation-httpx==0.65b0
38
+ Requires-Dist: binaryornot>=0.5,<0.6 ; extra == 'developer-kit'
39
+ Requires-Dist: cookiecutter>=2.7.1,<2.8 ; extra == 'developer-kit'
40
+ Requires-Dist: libcst>=1.9.0,<1.10 ; extra == 'developer-kit'
41
+ Requires-Python: >=3.12, <3.15
42
+ Provides-Extra: developer-kit
43
+ Description-Content-Type: text/markdown
44
+
45
+ # Python DDD Framework
46
+
47
+ Build modular Python applications with explicit domain boundaries, transactional application services, and a consistent path from local development to deployment.
48
+
49
+ Python DDD Framework combines a module system with FastAPI, Dishka, Pydantic, SQLAlchemy, PostgreSQL, and Redis. It includes the `pddd` CLI and project templates, so you can create an application, add business modules, manage their database migrations, and run the same application through HTTP, background jobs, or direct service calls.
50
+
51
+ **Python 3.12–3.14 · Windows and Linux · Async application services · Typed public APIs**
52
+
53
+ [Features](#features) · [Quick start](#quick-start) · [CLI reference](#cli-reference) · [Application development](#application-development) · [Deployment](#deployment) · [Upgrading](#upgrading) · [Documentation](#documentation)
54
+
55
+ ## Features
56
+
57
+ | Capability | What you can build with it |
58
+ | --- | --- |
59
+ | Modular applications | Declare module dependencies, compose a Host, and run ordered initialization and shutdown with application-local state. |
60
+ | Domain-driven design | Define aggregates, value objects, repository contracts, domain events, and optimistic concurrency rules. Map domain entities directly with native SQLAlchemy configuration; keep DTOs separate. |
61
+ | Application services | Use typed service contracts and a shared invocation pipeline for validation, authorization, interceptors, auditing, and units of work. |
62
+ | Dependency injection | Register services and native Dishka providers, discover implementations within module-owned packages, and manage application, request, and action scopes. |
63
+ | Configuration | Bind YAML and environment inputs to typed Options, validate them at composition time, and inspect configuration sources with sensitive values redacted. |
64
+ | HTTP APIs | Expose selected application services through FastAPI, or write explicit routers. Use OpenAPI, filters, file uploads, downloads, and streaming responses. |
65
+ | Persistence and events | Use async SQLAlchemy repositories, explicit transaction boundaries, module-owned Alembic migrations, seed contributors, and local events before or after commit. |
66
+ | Identity and permissions | Add JWT authentication, refresh sessions, users and roles, permission definitions, and authorization on service methods. |
67
+ | Cache, settings, and locks | Use typed Redis caching, global runtime settings with conditional updates and reset, and explicit Redis-backed business locks. |
68
+ | Background execution | Enqueue durable PostgreSQL jobs with typed payloads, schedule recurring work, run periodic workers, and select in-process or managed subprocess execution. |
69
+ | Real-time communication | Add authenticated WebSocket connections, typed messages, and targeted notifications to connected clients. |
70
+ | Hosting and observability | Manage long-lived integrations with `HostedService`, coordinate shutdown, and use structured logging, correlation, OpenTelemetry tracing, and lifecycle health endpoints. |
71
+ | Developer tooling | Generate projects and business modules, inspect composition, run local infrastructure, and reuse `TestApplication` for application tests. |
72
+
73
+ The **Module** owns a feature and its dependencies. The **Host** composes modules, selects providers, and supplies configuration. Your application owns the generated source code and database migrations.
74
+
75
+ Runtime integrations ship in the base package; the Host explicitly enables the modules it needs. Installing the package does not start database connections, workers, or trace export. Local events stay within an application process, and WebSocket notifications do not include a distributed backplane or offline replay.
76
+
77
+ <a id="开始使用"></a>
78
+
79
+ ## Quick start
80
+
81
+ ### Prerequisites
82
+
83
+ - A supported Python interpreter; the examples use Python 3.12.
84
+ - [uv](https://docs.astral.sh/uv/getting-started/installation/) for tool installation, dependency management, and project commands.
85
+ - Docker with Compose, running locally, for the generated application's PostgreSQL and Redis services.
86
+
87
+ The supported versions and dependencies are defined in [pyproject.toml](https://github.com/componet-architecture/python-ddd-framework/blob/main/pyproject.toml). The framework, CLI, and bundled templates share one package version.
88
+
89
+ > Read the target artifact's guides before upgrading. Use the local-wheel route below when consuming this checkout; consult [current limits](docs/status.md) for open risks.
90
+
91
+ ### 1. Install the CLI and create a project
92
+
93
+ For a published release:
94
+
95
+ ```sh
96
+ uv tool install --python 3.12 "python-ddd-framework[developer-kit]"
97
+ pddd new my-app --python 3.12
98
+ cd my-app
99
+ ```
100
+
101
+ To select a specific release, append `==<version>` to the quoted package requirement. `pddd new` creates the Host, configuration, tests, deployment files, and four application documents: `README.md`, `AGENTS.md`, `docs/architecture.md`, and `docs/development.md`. Python metadata, configuration, environment, source, tests, and deployment files live in `backend/`; root `scripts/` belongs to the consumer. It then runs `uv sync` inside `backend/` and pins both the runtime dependency and developer tools to the CLI's exact framework version. The destination directory must not already exist. `--python` accepts a supported portable `major.minor[.patch]` version. `--no-sync` writes files only and works without that interpreter installed; later enter `backend/` and run `uv sync` to create the target environment. Native uv/test/build and Docker commands run from `backend/`.
102
+
103
+ <details>
104
+ <summary>Using an unreleased local wheel</summary>
105
+
106
+ Obtain a wheel built from the checkout you want to evaluate. Replace `<absolute-wheel-path>` with its full `.whl` path, and use the same wheel for the CLI and the generated application:
107
+
108
+ ```sh
109
+ uv tool install --python 3.12 "<absolute-wheel-path>[developer-kit]"
110
+ pddd new my-app --framework-wheel "<absolute-wheel-path>"
111
+ cd my-app
112
+ ```
113
+
114
+ The generator checks that the wheel contains `python-ddd-framework` at the CLI's version, copies it into the application's `backend/vendor/` directory, and records the local dependency source. Installing a CLI from source alone does not change where generated applications obtain their framework dependency.
115
+
116
+ </details>
117
+
118
+ ### 2. Prepare infrastructure and add a business module
119
+
120
+ Run installed `pddd` project commands from the application root, `backend/`, or any descendant directory. They locate Host metadata and use the backend's environment and framework version; unrelated nested Python projects do not take ownership:
121
+
122
+ ```sh
123
+ pddd dev-init
124
+ pddd add module orders --template ddd
125
+ pddd add module conversions --template basic
126
+ ```
127
+
128
+ `dev-init` starts or reuses local PostgreSQL and Redis using `backend/app.development.yaml`. It preserves existing data; database migration and seeding are separate steps.
129
+
130
+ `add module orders` generates a DDD skeleton named `orders` and registers its Application, SQLAlchemy, and HttpApi Modules with the Host. It retains all responsibility directories, package markers, lifecycle hooks, native mapping discovery, migration registration, and a module README. It creates no business entities, services, tables, endpoints, tasks, or test cases. Add them from confirmed requirements. The complete business implementation is available as a standalone [Framework Demo](examples/framework_demo/README.md), outside the runtime wheel.
131
+
132
+ `ddd` is the default six-layer template. `basic` generates only a Module, a synchronous Protocol service, its transient implementation, and an English README. It has no database/Redis requirement or implicit HTTP/interception. Both templates support `--dry-run` and refuse existing targets.
133
+
134
+ ### 3. Initialize the database
135
+
136
+ Apply the provider migrations selected by the generated Host:
137
+
138
+ ```sh
139
+ pddd db upgrade --module identity
140
+ pddd db upgrade --module settings
141
+ pddd db upgrade --module auditing
142
+ pddd db upgrade --module background_jobs
143
+ pddd db seed --module identity
144
+ ```
145
+
146
+ An empty DDD skeleton retains model and migration registration but has no business tables or revisions. Add actual models before generating a business revision; migration commands still use the configured database. For a module named `orders`:
147
+
148
+ ```sh
149
+ pddd db revision --module orders
150
+ ```
151
+
152
+ Review the generated revision in `backend/src/modules/orders/sqlalchemy/migrations/` before applying it. Run seed only after declaring the intended contributors:
153
+
154
+ ```sh
155
+ pddd db upgrade --module orders
156
+ pddd db status --module orders
157
+ pddd db seed --module orders
158
+ ```
159
+
160
+ Migration commands operate on the selected module. When a migration requires another module's revision, upgrade that prerequisite explicitly. Starting the Host does not migrate or seed the database.
161
+
162
+ ### 4. Run the application and explore the API
163
+
164
+ ```sh
165
+ pddd dev
166
+ ```
167
+
168
+ Open **http://127.0.0.1:8000/docs**. Use the generated `identity.seed_admin_username` and `identity.seed_admin_password` in `backend/app.development.yaml` to call `/api/auth/login`, then enter the returned access token in Swagger's **Authorize** dialog.
169
+
170
+ The empty `orders` skeleton contributes no business routes. The independent [Framework Demo](examples/framework_demo/README.md) supplies `/api/orders`, approval and queued approval, file transfer, and an authenticated WebSocket at `/ws/orders`; use its explicit migration and Seed instructions when you want to explore those capabilities.
171
+
172
+ For C++ computation, the independent [native integration example](examples/native_integration/README.md) demonstrates an installed nanobind package, typed application-service consumption, cancellation cleanup, source rebuilds, and artifact delivery. It is outside the runtime wheel and does not change the CLI or default templates. Platform requirements and current limits are described in the example guide and [current limits](docs/status.md).
173
+
174
+ The default business API prefix is `/api`. Liveness and readiness are exposed at `/health/live` and `/health/ready`; readiness describes application lifecycle state, not continuous database or Redis health.
175
+
176
+ ## CLI reference
177
+
178
+ Use `pddd` to create a project. Inside an existing project, use **`pddd`** so commands run with that project's framework version.
179
+
180
+ | Command | Purpose |
181
+ | --- | --- |
182
+ | `pddd new my-app` | Generate a new Host project and install its dependencies. |
183
+ | `pddd add module orders` | Generate a business module and register its packages and Host dependencies. |
184
+ | `pddd dev-init` | Prepare the local PostgreSQL and Redis services from development configuration. |
185
+ | `pddd dev` | Start the development web server with reload at `127.0.0.1:8000`. |
186
+ | `pddd db revision --module orders` | Generate an Alembic revision for the module's models. Review it before applying. |
187
+ | `pddd db upgrade --module orders` | Apply the selected module's migrations. |
188
+ | `pddd db status --module orders` | Check that the database is at the selected module's migration heads; fail if it is not. |
189
+ | `pddd db seed --module orders` | Run the selected module's seed contributors after checking its migrations. |
190
+ | `pddd inspect` | Print the composed module graph, service registrations, and redacted configuration inputs as JSON. |
191
+
192
+ Common variations:
193
+
194
+ ```sh
195
+ pddd new my-app --dry-run
196
+ pddd add module billing --dry-run
197
+ pddd dev --host 127.0.0.1 --port 8080
198
+ pddd inspect --environment development
199
+ pddd db status --module orders --environment production
200
+ ```
201
+
202
+ Generation supports `--dry-run` without writing files. Database commands require `--module`; aliases come from installed `python_ddd_framework.modules` entry points and must belong to the current application's module graph.
203
+
204
+ ### Recovering a failed module addition
205
+
206
+ `add module` prints a recovery directory under the identified backend's
207
+ `.python-ddd-framework/generation/<operation-id>/`. It retains original bytes, proposed
208
+ startup/metadata files, a module file manifest, step records and `uv-sync.log`. The rendered
209
+ template and any unfinished sibling copies are retained too. Open that operation's
210
+ `RECOVERY.md` for its paths and a copyable, read-only inspection procedure.
211
+
212
+ Stop other generators and editors before recovery. Compare the actual files with the
213
+ recorded digests: continue only from the recorded original content, or restore an original
214
+ file only while the target still matches this operation's proposed content. Review any
215
+ other content manually. Keep generated directories and markers until you explicitly decide
216
+ what to do with them; rerunning `add module` does not repair a partial publication.
217
+
218
+ When all project files match the proposed contents but installation failed, use the
219
+ independent sync script in that operation's `RECOVERY.md`. Run it with `python -I` as
220
+ instructed. It clears the CLI's recorded Python/uv environment overrides before running
221
+ `uv sync` in the identified backend, including overrides set after generation. A bare
222
+ `uv sync --directory` still inherits environment overrides and can select another
223
+ virtual environment. The retry preserves your shell environment and the original records.
224
+
225
+ File publication and installation have separate results. An interrupted or missing step
226
+ record requires checking the files; it does not prove that the write failed. The CLI does
227
+ not automatically restore, move or delete the failure site, roll back the environment or
228
+ lockfile, or guarantee a transaction across files or power-loss recovery.
229
+
230
+ ### Project command environment
231
+
232
+ `db` and `inspect` use `--environment`, then `PYTHON_DDD_FRAMEWORK_ENVIRONMENT`, then `development`. `dev` always selects development, and `dev-init` is restricted to development infrastructure.
233
+
234
+ `inspect` builds and closes the application without starting services or running migrations. Its output describes a newly composed Host, not a running process. Configuration output contains input values and their sources; it does not include Options defaults or later module contributions.
235
+
236
+ For the complete options supported by your installed version:
237
+
238
+ ```sh
239
+ pddd
240
+ pddd new --help
241
+ pddd add module --help
242
+ pddd db --help
243
+ pddd inspect --help
244
+ ```
245
+
246
+ ## Consumer documentation resources
247
+
248
+ Framework distributions carry `python_ddd_framework/consumer_docs/README.md`, `architecture.md`, and `development.md`: capability navigation, public contracts, and usage respectively. Each capability links to both its contract and its usage. These are installed-package resource paths, not paths relative to a consumer application. New projects contain the isolated lookup procedure in `docs/development.md#framework-documentation`; their root AGENTS starts with the framework reference. Confirm resource availability in the installed artifact.
249
+
250
+ Existing applications adopt this layout deliberately:
251
+
252
+ 1. Locate consumer_docs in the selected framework artifact and follow its installation or upgrade instructions. Keep the application's own dependencies and source overrides. Matching version strings alone do not establish identical artifacts.
253
+ 2. Preserve the current project/module Markdown and its business decisions. Add the [template's framework reference](src/python_ddd_framework/developer_kit/templates/project/{{cookiecutter.project_name}}/AGENTS.md#framework-reference) to root AGENTS and the [isolated lookup procedure](src/python_ddd_framework/developer_kit/templates/project/{{cookiecutter.project_name}}/docs/development.md#framework-documentation) to project development. These links show the bootstrap text only; obtain it from the actual target artifact when adapting an older application.
254
+ 3. Add the matching package-resource references to project README/architecture/development and each module README. Root documents link to `docs/development.md#framework-documentation`, project architecture links to `development.md#framework-documentation`, and module README links to `../../../../docs/development.md#framework-documentation`.
255
+ 4. Compare existing framework paragraphs with the installed guides before removing duplicates. Retain confirmed application rules and initial setup instructions; resolve conflicts rather than choosing or overwriting either side. Record actual capability choices in the module README.
256
+ 5. Execute the lookup through `backend/.venv` with `-I -B`, verify the installed version/source against project metadata, and follow the relevant contract and usage. Missing environment, resource, chapter or mismatched source is an explicit failure, not permission to read main/latest or install dependencies.
257
+
258
+ The source templates, application files and installed framework resources have different owners. Updates replace package guides, not generated Markdown or business code; there is no document synchronizer or reserved editable-region protocol. The root framework README owns the current installation and upgrade procedure and is carried in the distribution's METADATA, readable using the [installed guide procedure](src/python_ddd_framework/consumer_docs/README.md#migration-notes). Public resource paths and anchors are stable documentation entry points; changes require an explicit contract decision and coordinated reference updates.
259
+
260
+ ## Application development
261
+
262
+ ### Find the right place for a change
263
+
264
+ The generated project starts with `backend/src/host/` for composition and startup. Modules live under `backend/src/modules/`. A `basic` module contains `module.py`, `contracts/`, `services/`, and its README. The default `ddd` module has these responsibilities:
265
+
266
+ | Location within a module | Responsibility |
267
+ | --- | --- |
268
+ | `domain_shared/` | Shared values, errors, and permission names. |
269
+ | `domain/` | Aggregates, business rules, events, repository contracts, settings, and seed contributors. |
270
+ | `application_contracts/` | DTOs and public application-service contracts. |
271
+ | `application/` | Use-case orchestration, service implementations, event handlers, jobs, and workers. |
272
+ | `sqlalchemy/` | Native mappings of domain entities, repository implementations, and migrations. |
273
+ | `http_api/` | Service exposure, explicit routes, file transfer, and WebSocket endpoints. |
274
+ | `tests/` | Tests owned by the business module; excluded from the production wheel. |
275
+
276
+ For a new use case, define its input and output in `application_contracts/`, put business rules in `domain/`, and coordinate the work in `application/`. Persist through a repository contract. The HTTP module selects which application services to expose; the Host selects infrastructure providers.
277
+
278
+ For a model change, update the domain entity and its native configuration in `sqlalchemy/mappings/`, generate a revision, review it, then run `db upgrade` for that module. For another business module, repeat the `add module`, `db revision`, `db upgrade`, and `db seed` steps. Add application-specific dependencies with `uv add <package>` from `backend/`.
279
+
280
+ See the [development guide](https://github.com/componet-architecture/python-ddd-framework/blob/main/docs/development.md) for service registration, typed invocation, HTTP declarations, transactions, background handlers, and distributed locks.
281
+
282
+ ### Configure the application
283
+
284
+ Edit `backend/app.development.yaml` for local connections, identity settings, logging, and module Options. An optional `backend/app.yaml` can hold shared configuration. Environment variables override file inputs; generated Hosts use the `PDDD_` prefix and `__` between nested fields. For example, `PDDD_HTTP__API_PREFIX=/v1` changes the business API prefix.
285
+
286
+ `PYTHON_DDD_FRAMEWORK_ENVIRONMENT` selects the Host environment; it is separate from business configuration. Typed Options validate configuration during application composition. Use `pddd inspect` to investigate input values and where they came from.
287
+
288
+ Generated credentials are for local development. Production configuration is supplied separately in `app.production.yaml`. See [configuration](https://github.com/componet-architecture/python-ddd-framework/blob/main/docs/development.md#定义-module-与配置) and [background and logging configuration](https://github.com/componet-architecture/python-ddd-framework/blob/main/docs/development.md#settings后台与日志).
289
+
290
+ ### Use global settings
291
+
292
+ Declare a typed `SettingDefinition` and its scanned provider under the owning module's `domain/settings/`, then add `SettingsModule` to that module's dependencies. Inject `SettingProvider` to read values and `SettingManager` for conditional writes/reset. The generated Host already selects Settings persistence and management HTTP; apply its Settings migration before using the store for reads or writes.
293
+
294
+ Values resolve from runtime override, Host configuration, then definition default. Reset clears an override and resumes fallback. Management provides list/read/update/reset with visibility, permissions, and version checks; business code decides when to use the value. Follow the [complete project recipe](docs/development.md#settings-策略与使用) or the installed [Global settings guide](src/python_ddd_framework/consumer_docs/development.md#global-settings) for declarations, configuration, permissions, and request bodies.
295
+
296
+ ### Run application tests
297
+
298
+ After completing local database setup, run from `backend/`:
299
+
300
+ ```sh
301
+ uv run pytest
302
+ ```
303
+
304
+ The generated application includes Host tests. DDD modules contain only a test package marker; business tests belong to the application or the independent order example. Keep Docker available for Host tests that use real infrastructure. For custom application tests, the framework's `TestApplication` reuses the normal application builder and typed service invocation. Framework contributor checks are documented separately in [framework validation](https://github.com/componet-architecture/python-ddd-framework/blob/main/docs/development.md#框架验证).
305
+
306
+ ## Deployment
307
+
308
+ Generated applications include `backend/Dockerfile` and `backend/compose.production.yaml`. Run build and deployment commands from `backend/`:
309
+
310
+ ```sh
311
+ uv build --no-sources
312
+ ```
313
+
314
+ For container deployment:
315
+
316
+ 1. Supply `app.production.yaml` with production connections and credentials; keep it out of source control and the image. The generated Compose file mounts it read-only for both migration and web services.
317
+ 2. Build and validate the application image, then set `APP_IMAGE` to that image's immutable digest.
318
+ 3. Run database upgrades for each required module in dependency order. Run initial seed operations explicitly with `--environment production`.
319
+ 4. Start the web service from the same image and check its health endpoints.
320
+
321
+ The image uses `python -m host.main` without development reload. Runtime installations use the base framework package; `developer-kit` is only needed for generation. Follow the [Docker deployment guide](https://github.com/componet-architecture/python-ddd-framework/blob/main/docs/development.md#docker-交付) for commands and operational boundaries.
322
+
323
+ <a id="版本与升级"></a>
324
+
325
+ ## Upgrading
326
+
327
+ Framework upgrades update dependencies and installed package guides. They do not regenerate application Markdown, business code, Host configuration or database migrations. Updating a global CLI also leaves existing projects unchanged.
328
+
329
+ 1. Read the target artifact's README and consumer guides. Check the capabilities in use, public contracts, enablement requirements and application-specific data migration needs.
330
+ 2. Pin both the runtime dependency and the developer-kit dependency to the same target version. Preserve application dependencies and unrelated source overrides. If selecting PyPI instead of a local wheel or Git source, remove only the framework entry in tool.uv.sources.
331
+ 3. Deliberately adapt affected application code, configuration and local documentation. From backend/, update the environment and run the application's authorized checks:
332
+
333
+ ```sh
334
+ uv lock --upgrade-package python-ddd-framework
335
+ uv sync --locked
336
+ uv run pytest
337
+ uv build --no-sources
338
+ ```
339
+
340
+ During 0.x, compatible fixes use a patch release; changes requiring consumer adaptation use a minor release. Publishing changed package contents requires a new version. Package installation does not migrate business data; review and execute required database operations explicitly.
341
+
342
+ ## Documentation
343
+
344
+ The installed package provides the English [capability index](src/python_ddd_framework/consumer_docs/README.md#capabilities), [public contracts](src/python_ddd_framework/consumer_docs/architecture.md) and [usage guide](src/python_ddd_framework/consumer_docs/development.md). Each capability links to both its contract and usage. Use the actual installed resources when developing an application.
345
+
346
+ Generated applications maintain their own README, AGENTS, architecture and development guides; each module maintains its README. They own application facts and link to the installed framework guides through the isolated lookup procedure. Upgrades do not overwrite them. Installed templates and framework checkouts are read-only references; equal version strings do not prove equal artifacts.
347
+
348
+ The Chinese engineering guides require source repository access:
349
+
350
+ | If you need to… | Read |
351
+ | --- | --- |
352
+ | Change framework implementation or validation | [Maintainer guide](docs/development.md) |
353
+ | Locate capability owners and implementation invariants | [Internal architecture](docs/architecture.md) |
354
+ | Understand an effective design decision | [Decision index](docs/README.md#架构决策索引) |
355
+ | Check open risks and current limits | [Current limits](docs/status.md) |
356
+ | Locate a historical change | [Git history lookup](docs/development.md#历史查询) |
357
+ | Work on the framework | [Contributor guidance](AGENTS.md) and [focused reading paths](docs/README.md#重构的最短阅读路径) |
358
+
359
+ ## License
360
+
361
+ Python DDD Framework and the repository's own examples/templates use the [MIT License](LICENSE), retaining Copyright (c) 2026 hank-repo. Third-party notices remain with their code, including the PgQueuer upstream license in the installed package. Template licensing does not choose a license for a generated application's own business code. The source repository remains private; public PyPI wheel/sdist artifacts are the delivery channel.
362
+
363
+ The same-version sdist includes the complete [Framework Demo](examples/framework_demo/README.md); the runtime wheel contains only the framework package and its existing resources. In an installed application, read `python_ddd_framework/consumer_docs/README.md#demo` for the version-specific PyPI download procedure. Demo setup, explicit migrations/Seed, Web and Worker entry points are self-contained in that artifact.