python-ddd-framework 0.3.1__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (355) hide show
  1. python_ddd_framework/__init__.py +449 -0
  2. python_ddd_framework/application/__init__.py +6 -0
  3. python_ddd_framework/application/build_spec.py +37 -0
  4. python_ddd_framework/application/builder.py +260 -0
  5. python_ddd_framework/application/composition.py +219 -0
  6. python_ddd_framework/application/runtime.py +549 -0
  7. python_ddd_framework/application/runtime_hooks.py +327 -0
  8. python_ddd_framework/application/state.py +216 -0
  9. python_ddd_framework/application_services/__init__.py +54 -0
  10. python_ddd_framework/application_services/catalog.py +500 -0
  11. python_ddd_framework/application_services/contracts.py +190 -0
  12. python_ddd_framework/application_services/dispatcher.py +423 -0
  13. python_ddd_framework/application_services/errors.py +89 -0
  14. python_ddd_framework/application_services/execution.py +199 -0
  15. python_ddd_framework/application_services/interceptors.py +44 -0
  16. python_ddd_framework/application_services/invocation.py +431 -0
  17. python_ddd_framework/application_services/policies.py +46 -0
  18. python_ddd_framework/application_services/seeding.py +72 -0
  19. python_ddd_framework/application_services/signature.py +49 -0
  20. python_ddd_framework/application_services/validation.py +84 -0
  21. python_ddd_framework/auditing/__init__.py +12 -0
  22. python_ddd_framework/auditing/contracts.py +39 -0
  23. python_ddd_framework/auditing/control.py +48 -0
  24. python_ddd_framework/auditing/sqlalchemy/__init__.py +6 -0
  25. python_ddd_framework/auditing/sqlalchemy/migrations/0001_auditing.py +45 -0
  26. python_ddd_framework/auditing/sqlalchemy/migrations/__init__.py +1 -0
  27. python_ddd_framework/auditing/sqlalchemy/models.py +31 -0
  28. python_ddd_framework/auditing/sqlalchemy/module.py +32 -0
  29. python_ddd_framework/auditing/sqlalchemy/store.py +63 -0
  30. python_ddd_framework/authorization/__init__.py +38 -0
  31. python_ddd_framework/authorization/catalog.py +63 -0
  32. python_ddd_framework/authorization/contracts.py +241 -0
  33. python_ddd_framework/authorization/definition_discovery.py +81 -0
  34. python_ddd_framework/authorization/definitions.py +43 -0
  35. python_ddd_framework/authorization/errors.py +40 -0
  36. python_ddd_framework/background_execution/__init__.py +17 -0
  37. python_ddd_framework/background_execution/application.py +41 -0
  38. python_ddd_framework/background_execution/child.py +123 -0
  39. python_ddd_framework/background_execution/contracts.py +48 -0
  40. python_ddd_framework/background_execution/lifecycle.py +22 -0
  41. python_ddd_framework/background_execution/local.py +127 -0
  42. python_ddd_framework/background_execution/locks.py +33 -0
  43. python_ddd_framework/background_execution/management.py +17 -0
  44. python_ddd_framework/background_execution/module.py +10 -0
  45. python_ddd_framework/background_execution/permissions.py +14 -0
  46. python_ddd_framework/background_execution/processes.py +331 -0
  47. python_ddd_framework/background_jobs/__init__.py +31 -0
  48. python_ddd_framework/background_jobs/catalog.py +340 -0
  49. python_ddd_framework/background_jobs/contracts.py +208 -0
  50. python_ddd_framework/background_jobs/declaration.py +67 -0
  51. python_ddd_framework/background_jobs/errors.py +28 -0
  52. python_ddd_framework/background_jobs/execution.py +203 -0
  53. python_ddd_framework/background_jobs/pgqueuer/UPSTREAM_LICENSE.txt +21 -0
  54. python_ddd_framework/background_jobs/pgqueuer/__init__.py +6 -0
  55. python_ddd_framework/background_jobs/pgqueuer/enqueue.py +86 -0
  56. python_ddd_framework/background_jobs/pgqueuer/migrations/0001_pgqueuer_1_3_2.py +95 -0
  57. python_ddd_framework/background_jobs/pgqueuer/migrations/__init__.py +1 -0
  58. python_ddd_framework/background_jobs/pgqueuer/module.py +106 -0
  59. python_ddd_framework/background_jobs/pgqueuer/options.py +82 -0
  60. python_ddd_framework/background_jobs/pgqueuer/runtime.py +479 -0
  61. python_ddd_framework/background_jobs/pgqueuer/sql/pgqueuer_1_3_2_install.sql +118 -0
  62. python_ddd_framework/background_jobs/pgqueuer/supervision.py +201 -0
  63. python_ddd_framework/background_workers/__init__.py +22 -0
  64. python_ddd_framework/background_workers/catalog.py +118 -0
  65. python_ddd_framework/background_workers/contracts.py +152 -0
  66. python_ddd_framework/background_workers/errors.py +20 -0
  67. python_ddd_framework/background_workers/execution.py +133 -0
  68. python_ddd_framework/background_workers/runtime.py +219 -0
  69. python_ddd_framework/caching/__init__.py +11 -0
  70. python_ddd_framework/caching/catalog.py +73 -0
  71. python_ddd_framework/caching/contracts.py +73 -0
  72. python_ddd_framework/caching/errors.py +20 -0
  73. python_ddd_framework/cli/__init__.py +105 -0
  74. python_ddd_framework/cli/development.py +85 -0
  75. python_ddd_framework/cli/errors.py +5 -0
  76. python_ddd_framework/cli/inspection.py +96 -0
  77. python_ddd_framework/cli/project.py +69 -0
  78. python_ddd_framework/cli/runtime.py +56 -0
  79. python_ddd_framework/configuration/__init__.py +21 -0
  80. python_ddd_framework/configuration/composition.py +65 -0
  81. python_ddd_framework/configuration/contracts.py +68 -0
  82. python_ddd_framework/configuration/dotenv_source.py +51 -0
  83. python_ddd_framework/configuration/environment_source.py +38 -0
  84. python_ddd_framework/configuration/immutability.py +124 -0
  85. python_ddd_framework/configuration/input_shape.py +58 -0
  86. python_ddd_framework/configuration/merge.py +103 -0
  87. python_ddd_framework/configuration/root.py +215 -0
  88. python_ddd_framework/configuration/sources.py +519 -0
  89. python_ddd_framework/configuration/values.py +427 -0
  90. python_ddd_framework/configuration/yaml_source.py +51 -0
  91. python_ddd_framework/developer_kit/__init__.py +1 -0
  92. python_ddd_framework/developer_kit/generation.py +182 -0
  93. python_ddd_framework/developer_kit/project_metadata.py +45 -0
  94. python_ddd_framework/developer_kit/source.py +53 -0
  95. python_ddd_framework/developer_kit/templates/module/cookiecutter.json +1 -0
  96. python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/README.md +70 -0
  97. python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/__init__.py.jinja +1 -0
  98. python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/application/__init__.py.jinja +1 -0
  99. python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/application/cache.py.jinja +10 -0
  100. python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/application/events.py.jinja +24 -0
  101. python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/application/integration.py.jinja +41 -0
  102. python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/application/module.py.jinja +20 -0
  103. python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/application/options.py.jinja +7 -0
  104. python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/application/orders.py.jinja +83 -0
  105. python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/application/tasks.py.jinja +84 -0
  106. python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/application_contracts/__init__.py.jinja +1 -0
  107. python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/application_contracts/module.py.jinja +10 -0
  108. python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/application_contracts/orders.py.jinja +35 -0
  109. python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/domain/__init__.py.jinja +1 -0
  110. python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/domain/module.py.jinja +10 -0
  111. python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/domain/orders.py.jinja +56 -0
  112. python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/domain/repository.py.jinja +14 -0
  113. python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/domain/seeding.py.jinja +19 -0
  114. python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/domain/settings.py.jinja +16 -0
  115. python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/domain_shared/__init__.py.jinja +1 -0
  116. python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/domain_shared/definitions.py.jinja +24 -0
  117. python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/domain_shared/module.py.jinja +7 -0
  118. python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/domain_shared/permissions.py.jinja +15 -0
  119. python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/http_api/__init__.py.jinja +1 -0
  120. python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/http_api/files.py.jinja +73 -0
  121. python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/http_api/module.py.jinja +25 -0
  122. python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/http_api/realtime.py.jinja +36 -0
  123. python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/sqlalchemy/__init__.py.jinja +1 -0
  124. python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/sqlalchemy/migrations/__init__.py.jinja +1 -0
  125. python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/sqlalchemy/models/__init__.py.jinja +7 -0
  126. python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/sqlalchemy/models/orders.py.jinja +25 -0
  127. python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/sqlalchemy/module.py.jinja +26 -0
  128. python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/sqlalchemy/repositories/__init__.py.jinja +1 -0
  129. python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/sqlalchemy/repositories/orders.py.jinja +49 -0
  130. python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/tests/test_domain.py.jinja +18 -0
  131. python_ddd_framework/developer_kit/templates/project/cookiecutter.json +6 -0
  132. python_ddd_framework/developer_kit/templates/project/{{cookiecutter.project_name}}/.dockerignore +9 -0
  133. python_ddd_framework/developer_kit/templates/project/{{cookiecutter.project_name}}/.gitignore +6 -0
  134. python_ddd_framework/developer_kit/templates/project/{{cookiecutter.project_name}}/.python-version +1 -0
  135. python_ddd_framework/developer_kit/templates/project/{{cookiecutter.project_name}}/AGENTS.md +38 -0
  136. python_ddd_framework/developer_kit/templates/project/{{cookiecutter.project_name}}/Dockerfile +22 -0
  137. python_ddd_framework/developer_kit/templates/project/{{cookiecutter.project_name}}/README.md +130 -0
  138. python_ddd_framework/developer_kit/templates/project/{{cookiecutter.project_name}}/app.development.yaml.jinja +30 -0
  139. python_ddd_framework/developer_kit/templates/project/{{cookiecutter.project_name}}/compose.dev.yaml.jinja +24 -0
  140. python_ddd_framework/developer_kit/templates/project/{{cookiecutter.project_name}}/compose.production.yaml.jinja +20 -0
  141. python_ddd_framework/developer_kit/templates/project/{{cookiecutter.project_name}}/docs/architecture.md +84 -0
  142. python_ddd_framework/developer_kit/templates/project/{{cookiecutter.project_name}}/docs/development.md +185 -0
  143. python_ddd_framework/developer_kit/templates/project/{{cookiecutter.project_name}}/pyproject.toml.jinja +28 -0
  144. python_ddd_framework/developer_kit/templates/project/{{cookiecutter.project_name}}/src/host/__init__.py.jinja +1 -0
  145. python_ddd_framework/developer_kit/templates/project/{{cookiecutter.project_name}}/src/host/main.py.jinja +47 -0
  146. python_ddd_framework/developer_kit/templates/project/{{cookiecutter.project_name}}/src/host/module.py.jinja +37 -0
  147. python_ddd_framework/developer_kit/templates/project/{{cookiecutter.project_name}}/tests/conftest.py.jinja +8 -0
  148. python_ddd_framework/developer_kit/templates/project/{{cookiecutter.project_name}}/tests/host/test_http.py.jinja +57 -0
  149. python_ddd_framework/developer_kit/wiring.py +162 -0
  150. python_ddd_framework/diagnostics/__init__.py +23 -0
  151. python_ddd_framework/diagnostics/journal.py +174 -0
  152. python_ddd_framework/diagnostics/model.py +83 -0
  153. python_ddd_framework/diagnostics/source.py +25 -0
  154. python_ddd_framework/distributed_lock/__init__.py +6 -0
  155. python_ddd_framework/distributed_lock/contracts.py +20 -0
  156. python_ddd_framework/distributed_lock/options.py +19 -0
  157. python_ddd_framework/domain/__init__.py +13 -0
  158. python_ddd_framework/domain/aggregates.py +64 -0
  159. python_ddd_framework/domain/entities.py +33 -0
  160. python_ddd_framework/domain/errors.py +12 -0
  161. python_ddd_framework/domain/value_objects.py +31 -0
  162. python_ddd_framework/errors/__init__.py +75 -0
  163. python_ddd_framework/errors/base.py +13 -0
  164. python_ddd_framework/errors/business.py +53 -0
  165. python_ddd_framework/errors/configuration.py +119 -0
  166. python_ddd_framework/errors/diagnostics.py +12 -0
  167. python_ddd_framework/errors/lifecycle.py +164 -0
  168. python_ddd_framework/errors/modularity.py +100 -0
  169. python_ddd_framework/errors/services.py +100 -0
  170. python_ddd_framework/events/__init__.py +25 -0
  171. python_ddd_framework/events/aggregate.py +39 -0
  172. python_ddd_framework/events/catalog.py +136 -0
  173. python_ddd_framework/events/contracts.py +39 -0
  174. python_ddd_framework/events/contribution.py +128 -0
  175. python_ddd_framework/events/discovery.py +105 -0
  176. python_ddd_framework/events/errors.py +48 -0
  177. python_ddd_framework/events/runtime.py +192 -0
  178. python_ddd_framework/fastapi/__init__.py +49 -0
  179. python_ddd_framework/fastapi/action.py +175 -0
  180. python_ddd_framework/fastapi/adapter.py +391 -0
  181. python_ddd_framework/fastapi/application_services.py +654 -0
  182. python_ddd_framework/fastapi/background.py +42 -0
  183. python_ddd_framework/fastapi/contracts.py +275 -0
  184. python_ddd_framework/fastapi/errors.py +32 -0
  185. python_ddd_framework/fastapi/filters.py +111 -0
  186. python_ddd_framework/fastapi/health.py +44 -0
  187. python_ddd_framework/fastapi/http.py +72 -0
  188. python_ddd_framework/fastapi/http_router.py +216 -0
  189. python_ddd_framework/fastapi/manual_action.py +105 -0
  190. python_ddd_framework/fastapi/middleware.py +93 -0
  191. python_ddd_framework/fastapi/parameters.py +97 -0
  192. python_ddd_framework/fastapi/realtime/__init__.py +13 -0
  193. python_ddd_framework/fastapi/realtime/authentication.py +181 -0
  194. python_ddd_framework/fastapi/realtime/connection.py +166 -0
  195. python_ddd_framework/fastapi/realtime/module.py +41 -0
  196. python_ddd_framework/fastapi/realtime/options.py +50 -0
  197. python_ddd_framework/fastapi/realtime/runtime.py +423 -0
  198. python_ddd_framework/fastapi/request_context.py +247 -0
  199. python_ddd_framework/fastapi/route_integrity.py +88 -0
  200. python_ddd_framework/fastapi/routing.py +424 -0
  201. python_ddd_framework/fastapi/server.py +182 -0
  202. python_ddd_framework/fastapi/settings.py +40 -0
  203. python_ddd_framework/fastapi/tracing.py +62 -0
  204. python_ddd_framework/fastapi/transfer.py +128 -0
  205. python_ddd_framework/fastapi/upload_limits.py +63 -0
  206. python_ddd_framework/fastapi/uploads.py +94 -0
  207. python_ddd_framework/hosted_services/__init__.py +29 -0
  208. python_ddd_framework/hosted_services/bridge.py +420 -0
  209. python_ddd_framework/hosted_services/catalog.py +265 -0
  210. python_ddd_framework/hosted_services/contracts.py +55 -0
  211. python_ddd_framework/hosted_services/errors.py +53 -0
  212. python_ddd_framework/hosted_services/options.py +17 -0
  213. python_ddd_framework/hosted_services/runtime.py +267 -0
  214. python_ddd_framework/hosted_services/state.py +40 -0
  215. python_ddd_framework/hosting/__init__.py +4 -0
  216. python_ddd_framework/hosting/instance.py +40 -0
  217. python_ddd_framework/identity/__init__.py +73 -0
  218. python_ddd_framework/identity/application.py +287 -0
  219. python_ddd_framework/identity/contracts.py +283 -0
  220. python_ddd_framework/identity/errors.py +28 -0
  221. python_ddd_framework/identity/http_api.py +90 -0
  222. python_ddd_framework/identity/module.py +49 -0
  223. python_ddd_framework/identity/passwords.py +34 -0
  224. python_ddd_framework/identity/permissions.py +14 -0
  225. python_ddd_framework/identity/services.py +108 -0
  226. python_ddd_framework/identity/sqlalchemy/__init__.py +5 -0
  227. python_ddd_framework/identity/sqlalchemy/migrations/0001_identity.py +143 -0
  228. python_ddd_framework/identity/sqlalchemy/migrations/0002_physical_delete.py +42 -0
  229. python_ddd_framework/identity/sqlalchemy/migrations/__init__.py +1 -0
  230. python_ddd_framework/identity/sqlalchemy/models.py +85 -0
  231. python_ddd_framework/identity/sqlalchemy/module.py +62 -0
  232. python_ddd_framework/identity/sqlalchemy/stores.py +526 -0
  233. python_ddd_framework/identity/tokens.py +106 -0
  234. python_ddd_framework/invocation/__init__.py +3 -0
  235. python_ddd_framework/invocation/callables.py +171 -0
  236. python_ddd_framework/invocation/contracts.py +33 -0
  237. python_ddd_framework/invocation/entries.py +54 -0
  238. python_ddd_framework/invocation/function_runtime.py +48 -0
  239. python_ddd_framework/invocation/interception.py +193 -0
  240. python_ddd_framework/lifecycle/__init__.py +25 -0
  241. python_ddd_framework/lifecycle/composition.py +35 -0
  242. python_ddd_framework/lifecycle/context.py +31 -0
  243. python_ddd_framework/lifecycle/runtime.py +43 -0
  244. python_ddd_framework/lifecycle/state.py +20 -0
  245. python_ddd_framework/modularity/__init__.py +15 -0
  246. python_ddd_framework/modularity/contracts.py +91 -0
  247. python_ddd_framework/modularity/discovery.py +157 -0
  248. python_ddd_framework/modularity/graph.py +334 -0
  249. python_ddd_framework/modularity/registry.py +100 -0
  250. python_ddd_framework/modularity/selection.py +16 -0
  251. python_ddd_framework/notifications/__init__.py +19 -0
  252. python_ddd_framework/notifications/catalog.py +46 -0
  253. python_ddd_framework/notifications/contracts.py +107 -0
  254. python_ddd_framework/observability/__init__.py +5 -0
  255. python_ddd_framework/observability/context.py +43 -0
  256. python_ddd_framework/observability/export.py +73 -0
  257. python_ddd_framework/observability/formatting.py +89 -0
  258. python_ddd_framework/observability/logging.py +118 -0
  259. python_ddd_framework/observability/options.py +45 -0
  260. python_ddd_framework/observability/tracing.py +80 -0
  261. python_ddd_framework/options/__init__.py +19 -0
  262. python_ddd_framework/options/aliases.py +331 -0
  263. python_ddd_framework/options/contribution.py +62 -0
  264. python_ddd_framework/options/immutability.py +48 -0
  265. python_ddd_framework/options/input_keys.py +214 -0
  266. python_ddd_framework/options/issues.py +335 -0
  267. python_ddd_framework/options/models.py +114 -0
  268. python_ddd_framework/options/registry.py +280 -0
  269. python_ddd_framework/options/schema.py +488 -0
  270. python_ddd_framework/options/validation.py +120 -0
  271. python_ddd_framework/py.typed +0 -0
  272. python_ddd_framework/realtime/__init__.py +12 -0
  273. python_ddd_framework/realtime/contracts.py +28 -0
  274. python_ddd_framework/realtime/diagnostics.py +37 -0
  275. python_ddd_framework/realtime/messages.py +113 -0
  276. python_ddd_framework/redis/__init__.py +6 -0
  277. python_ddd_framework/redis/distributed_lock.py +212 -0
  278. python_ddd_framework/redis/lease_lock.py +36 -0
  279. python_ddd_framework/redis/module.py +50 -0
  280. python_ddd_framework/redis/notification_runtime.py +182 -0
  281. python_ddd_framework/redis/notifications.py +25 -0
  282. python_ddd_framework/redis/options.py +35 -0
  283. python_ddd_framework/redis/runtime.py +116 -0
  284. python_ddd_framework/services/__init__.py +41 -0
  285. python_ddd_framework/services/application_bindings.py +221 -0
  286. python_ddd_framework/services/arbitration.py +381 -0
  287. python_ddd_framework/services/binding.py +102 -0
  288. python_ddd_framework/services/contribution.py +438 -0
  289. python_ddd_framework/services/convention.py +301 -0
  290. python_ddd_framework/services/convention_contracts.py +101 -0
  291. python_ddd_framework/services/exposure.py +23 -0
  292. python_ddd_framework/services/fixed_lifetime.py +52 -0
  293. python_ddd_framework/services/framework_provider.py +178 -0
  294. python_ddd_framework/services/native_graph.py +201 -0
  295. python_ddd_framework/services/provider.py +204 -0
  296. python_ddd_framework/services/registration.py +101 -0
  297. python_ddd_framework/services/repository.py +38 -0
  298. python_ddd_framework/services/runtime.py +302 -0
  299. python_ddd_framework/settings/__init__.py +30 -0
  300. python_ddd_framework/settings/application.py +95 -0
  301. python_ddd_framework/settings/binding.py +33 -0
  302. python_ddd_framework/settings/catalog.py +121 -0
  303. python_ddd_framework/settings/changes.py +14 -0
  304. python_ddd_framework/settings/contracts.py +115 -0
  305. python_ddd_framework/settings/definition_discovery.py +71 -0
  306. python_ddd_framework/settings/definitions.py +41 -0
  307. python_ddd_framework/settings/errors.py +22 -0
  308. python_ddd_framework/settings/handlers.py +43 -0
  309. python_ddd_framework/settings/management.py +57 -0
  310. python_ddd_framework/settings/manager.py +89 -0
  311. python_ddd_framework/settings/module.py +10 -0
  312. python_ddd_framework/settings/notifications.py +39 -0
  313. python_ddd_framework/settings/permissions.py +14 -0
  314. python_ddd_framework/settings/provider.py +74 -0
  315. python_ddd_framework/settings/refresh.py +140 -0
  316. python_ddd_framework/settings/refresh_module.py +45 -0
  317. python_ddd_framework/settings/sqlalchemy/__init__.py +5 -0
  318. python_ddd_framework/settings/sqlalchemy/migrations/0001_settings.py +31 -0
  319. python_ddd_framework/settings/sqlalchemy/migrations/0002_physical_delete.py +32 -0
  320. python_ddd_framework/settings/sqlalchemy/migrations/0003_version_tokens.py +39 -0
  321. python_ddd_framework/settings/sqlalchemy/migrations/__init__.py +1 -0
  322. python_ddd_framework/settings/sqlalchemy/models.py +36 -0
  323. python_ddd_framework/settings/sqlalchemy/module.py +36 -0
  324. python_ddd_framework/settings/sqlalchemy/store.py +86 -0
  325. python_ddd_framework/settings/store.py +16 -0
  326. python_ddd_framework/settings/values.py +39 -0
  327. python_ddd_framework/sqlalchemy/__init__.py +54 -0
  328. python_ddd_framework/sqlalchemy/alembic_runtime/__init__.py +1 -0
  329. python_ddd_framework/sqlalchemy/alembic_runtime/env.py +33 -0
  330. python_ddd_framework/sqlalchemy/alembic_runtime/script.py.mako +14 -0
  331. python_ddd_framework/sqlalchemy/auditing.py +48 -0
  332. python_ddd_framework/sqlalchemy/errors.py +85 -0
  333. python_ddd_framework/sqlalchemy/metadata.py +576 -0
  334. python_ddd_framework/sqlalchemy/migration.py +378 -0
  335. python_ddd_framework/sqlalchemy/migration_options.py +56 -0
  336. python_ddd_framework/sqlalchemy/module.py +51 -0
  337. python_ddd_framework/sqlalchemy/module_migration.py +151 -0
  338. python_ddd_framework/sqlalchemy/options.py +66 -0
  339. python_ddd_framework/sqlalchemy/repository.py +33 -0
  340. python_ddd_framework/sqlalchemy/runtime.py +85 -0
  341. python_ddd_framework/sqlalchemy/session_provider.py +45 -0
  342. python_ddd_framework/sqlalchemy/unit_of_work.py +97 -0
  343. python_ddd_framework/testing/__init__.py +5 -0
  344. python_ddd_framework/testing/runtime.py +112 -0
  345. python_ddd_framework/unit_of_work/__init__.py +14 -0
  346. python_ddd_framework/unit_of_work/contracts.py +223 -0
  347. python_ddd_framework/unit_of_work/errors.py +27 -0
  348. python_ddd_framework/unit_of_work/manager.py +210 -0
  349. python_ddd_framework/unit_of_work/options.py +92 -0
  350. python_ddd_framework-0.3.1.dist-info/METADATA +379 -0
  351. python_ddd_framework-0.3.1.dist-info/RECORD +355 -0
  352. python_ddd_framework-0.3.1.dist-info/WHEEL +4 -0
  353. python_ddd_framework-0.3.1.dist-info/entry_points.txt +9 -0
  354. python_ddd_framework-0.3.1.dist-info/licenses/LICENSE +7 -0
  355. python_ddd_framework-0.3.1.dist-info/licenses/src/python_ddd_framework/background_jobs/pgqueuer/UPSTREAM_LICENSE.txt +21 -0
@@ -0,0 +1,355 @@
1
+ python_ddd_framework/__init__.py,sha256=uc3SIMUwE8Vn7Z3aMh5oF2N0QT91GC0m63AZT4CUnao,11917
2
+ python_ddd_framework/application/__init__.py,sha256=RPe_lkegIRim7GcBnXyevOg5KM7bfUIO9YGsqcA0lXk,184
3
+ python_ddd_framework/application/build_spec.py,sha256=Udj1JIgP2oBMCUezmzWzOdjFYBCEE8OxwHSEaDqrMMo,1030
4
+ python_ddd_framework/application/builder.py,sha256=_KlBBY-gkuEgeJH-dEk4Cq3A7HM1_INA66_jyv8mIys,11078
5
+ python_ddd_framework/application/composition.py,sha256=f8yu51Y8ccAMJl-mGqGyVy1XJHSnh451gTMc7R8RcXA,8567
6
+ python_ddd_framework/application/runtime.py,sha256=pxXm1_oE4Qh8YspVPvF_ghKFFfoTAUr9h9WF6J0bqm4,21540
7
+ python_ddd_framework/application/runtime_hooks.py,sha256=RFlte6jMRmlla00ZGXqi4CBHJAJ7TI7GGZ_sv3V41dU,12240
8
+ python_ddd_framework/application/state.py,sha256=Ma64Rp0u3SpkzWJvad5G8StvFE_juXlzBRlFtmtVkIY,8575
9
+ python_ddd_framework/application_services/__init__.py,sha256=GP3gAjQv2bSn3oaSlTqUjOUgYwU0eMsk01mMBzY2xrA,1657
10
+ python_ddd_framework/application_services/catalog.py,sha256=PSIJAIJwpTkGC2kg-A55U73hXG4uFqfj3PhMP6myeWY,20209
11
+ python_ddd_framework/application_services/contracts.py,sha256=plaQDHqOfz3BUS5EpE8MVd3jfrQUOGhBCXuw69hQhNE,7339
12
+ python_ddd_framework/application_services/dispatcher.py,sha256=RK1j6wNbx8_0vGQ44F_OMEOS7ytcCn8w2DljHcrQ9rY,16618
13
+ python_ddd_framework/application_services/errors.py,sha256=jBR9zt8kRygNG7gUbZOe8dugCT3YR3iOV-DmuNX0znA,2970
14
+ python_ddd_framework/application_services/execution.py,sha256=hILpp8SL5yJbS7UAVc0pOoJtramtUrtuWpbTs4kVtFE,7264
15
+ python_ddd_framework/application_services/interceptors.py,sha256=ccKFVNg9lbnUHJpyJhjbPYAXIzLJYLJFjz0syE9R9hI,1133
16
+ python_ddd_framework/application_services/invocation.py,sha256=sffc_8qD7eAzi9XlaQULfWJtCYA6U-jezMdyfoSOC3k,15750
17
+ python_ddd_framework/application_services/policies.py,sha256=CikOoyg7IXjuHIQtHniNexcjGrAOHY4QaPuGXdLf-lI,1646
18
+ python_ddd_framework/application_services/seeding.py,sha256=PwNdgTZJukWrBja5CPVtGzI86BsBkmqRWWyA3YtR3OI,2712
19
+ python_ddd_framework/application_services/signature.py,sha256=EfzIeOggbE25juu1j_cCpgGM-OouLHLtFxH8oIE8Xvs,2083
20
+ python_ddd_framework/application_services/validation.py,sha256=i4e6WIn6wbVOBgP4DgPxJJai2heCDYR7Td2g-Y_HqGU,2833
21
+ python_ddd_framework/auditing/__init__.py,sha256=299w-hyoCj50QNr-1FPq6G4NO8boiRDKTfcPcGLT5Ao,345
22
+ python_ddd_framework/auditing/contracts.py,sha256=QJbwm7MIcOPul7iU_zLx6Yi7UOkrfsYh-GqqBNpPgmw,978
23
+ python_ddd_framework/auditing/control.py,sha256=yjs048nvcbPWND3kjU_B7C_gMJ4cdyynEUhPaQ06Ym8,1317
24
+ python_ddd_framework/auditing/sqlalchemy/__init__.py,sha256=syQ0c6nOv9ToytGTPeDmWLhAG_E9O1KUNbDtks1yt8g,193
25
+ python_ddd_framework/auditing/sqlalchemy/migrations/0001_auditing.py,sha256=yTjEYNHRSX7mEmQmUm-Snl7KPQwrZ5cKM9Ew3Co9gcw,1757
26
+ python_ddd_framework/auditing/sqlalchemy/migrations/__init__.py,sha256=0dKsLJbYSEP35hzyDfdyW6x5m6GRq3v_19xs5nr_JMg,43
27
+ python_ddd_framework/auditing/sqlalchemy/models.py,sha256=5kY-FgKDruq-wjkvmrKCOmDBRw-Sjbbq8JWEAl-IF-I,1417
28
+ python_ddd_framework/auditing/sqlalchemy/module.py,sha256=KLS-Kz9mYcU4Kr1PAErWGw9rM1aOi1Txvk707kso6v8,1039
29
+ python_ddd_framework/auditing/sqlalchemy/store.py,sha256=1_hD_yIrLTiwioqGxVcyxqcVBXcOUTxrcD5R0zZwpWo,2280
30
+ python_ddd_framework/authorization/__init__.py,sha256=tato2XLKNVyvGagCHVo53CnhblSVJfiPb6n_UqsMqqU,982
31
+ python_ddd_framework/authorization/catalog.py,sha256=ul9iHLggH3uGXi3DwrzxVRqT9E_qXioQnarMpuhlcMc,2437
32
+ python_ddd_framework/authorization/contracts.py,sha256=a2q2ddj4SKTGD9MzuGoQzePgsSFuPyeIhj2jCn6PdRM,9129
33
+ python_ddd_framework/authorization/definition_discovery.py,sha256=4NTEb4VGMuw573dmCOsWMxJWnhprl3YCJfTi6o0ZCVY,3337
34
+ python_ddd_framework/authorization/definitions.py,sha256=-vZM4ITjicnyOv5i6BCCTTiA3Bd0KFCXEocqxeokUAw,1488
35
+ python_ddd_framework/authorization/errors.py,sha256=P7HyqGtq6IFS917bs2YVZ2v0z8ZCkcs9jxQRYDyqvmE,1375
36
+ python_ddd_framework/background_execution/__init__.py,sha256=nGNXigF1wBMToTbqC_tz5fR9QIQFA1Ti98BBXUC2P3k,384
37
+ python_ddd_framework/background_execution/application.py,sha256=ShrvX-_bZO469GBX9Z4h237ilAXIcncebtnQs6DFA4k,1855
38
+ python_ddd_framework/background_execution/child.py,sha256=SZXPOpNvy83Byv5zznOmsjoWjUzphK6JF0S7nzatYh8,4656
39
+ python_ddd_framework/background_execution/contracts.py,sha256=8K7ILU67rJQ9jUd7zU2Rcf1YZ1Q-KePjS5xkl_E7W6c,1185
40
+ python_ddd_framework/background_execution/lifecycle.py,sha256=b7J4nFY1WEeKgTL436BGwuhloHw2ktSwZNq3kIGF4uU,719
41
+ python_ddd_framework/background_execution/local.py,sha256=E01p23aWJ-xyYzTc2fSFW5sGgii4QdSynYDMquFAHBo,5235
42
+ python_ddd_framework/background_execution/locks.py,sha256=bD_hT_PfZnXXrq4VwTPK1pPHzeJ6JEZ7d6cekBBjG9g,1298
43
+ python_ddd_framework/background_execution/management.py,sha256=FmtuhU1glMXnQoYzn-w1F7GjUCVjhnW6ssACr4_tSeE,716
44
+ python_ddd_framework/background_execution/module.py,sha256=uoSLUx6EPO510ffVTsYaRPEMQ_BXRssYaKYRnGlqd4U,317
45
+ python_ddd_framework/background_execution/permissions.py,sha256=63PomRO6Zb9z0ezn6ra6n8zVjbdFFsnzqpGJ_Xcm3AU,584
46
+ python_ddd_framework/background_execution/processes.py,sha256=E1ynb_Og8xu6hOUXHXQw-xMNXaMFkbsqEkmyQWgdkpA,13383
47
+ python_ddd_framework/background_jobs/__init__.py,sha256=DLPrkoSb7wXWmGZOAzFynmjvI7qtyKXpaCGTnU5FWBs,819
48
+ python_ddd_framework/background_jobs/catalog.py,sha256=Poe_H3bxDVIYYENgjwCg_cpqOAH9RiLklAroPg_-GwY,13799
49
+ python_ddd_framework/background_jobs/contracts.py,sha256=jT51WoJARpQv540uCwbC2OgLnxTZnpGcmgkLkPl3fEY,7670
50
+ python_ddd_framework/background_jobs/declaration.py,sha256=lG5wvMGxi16RsMcq6LKOriehVVwa46432xegn4Ubpgc,2620
51
+ python_ddd_framework/background_jobs/errors.py,sha256=DqxEYOjF6zePAajZDxWhCTA9TRMS0ZB0f5F0TMsGIMo,1002
52
+ python_ddd_framework/background_jobs/execution.py,sha256=olNvPhmvI5GBdKdH6eOEK9XPk8XW4kbnsR_sl0tSx0E,7140
53
+ python_ddd_framework/background_jobs/pgqueuer/UPSTREAM_LICENSE.txt,sha256=0lCGUd5Pke2Up1Kqn1kRnHcwLlBz60E8xvR7WL4k_kE,1066
54
+ python_ddd_framework/background_jobs/pgqueuer/__init__.py,sha256=n-JvhTn9cDVbJE553wD6GTSDZLF99nJ2766pBZRlrXk,246
55
+ python_ddd_framework/background_jobs/pgqueuer/enqueue.py,sha256=uKCbFNc-nlRk1HVQKE7f4w2bMV-oyQvZ82haEMDR2zc,3496
56
+ python_ddd_framework/background_jobs/pgqueuer/migrations/0001_pgqueuer_1_3_2.py,sha256=kcB-brergYrpWkmQJR_cqfpL1grioQRI4OTiuszLhyM,3437
57
+ python_ddd_framework/background_jobs/pgqueuer/migrations/__init__.py,sha256=PIhnqwZXnEQ7msJi74mXM7Ej27Fy6J96Xaomu3h8yUo,52
58
+ python_ddd_framework/background_jobs/pgqueuer/module.py,sha256=nHZc6S09N-ZtJfUkZ81Rw-BawmUAAolC4UCcKY1lfdg,4409
59
+ python_ddd_framework/background_jobs/pgqueuer/options.py,sha256=ueoAm1FbQpwu8M7SYx-r4zEjihEYZ6w_IrAKYoRha2k,3821
60
+ python_ddd_framework/background_jobs/pgqueuer/runtime.py,sha256=LNtwPsxWFonIBVjpISkG2KTME6fQw9taaaDeobK2hSY,17585
61
+ python_ddd_framework/background_jobs/pgqueuer/sql/pgqueuer_1_3_2_install.sql,sha256=sMXEZXO66IGYuU7YSaKWz4vEViEnA2Ab1YdOV9CwqLA,5964
62
+ python_ddd_framework/background_jobs/pgqueuer/supervision.py,sha256=cZO2XAudfiipPpcgNJLE41rneeqJQI7hZyl22ocnqCM,8063
63
+ python_ddd_framework/background_workers/__init__.py,sha256=tOMBBvihovf1NegDJx5H_yZ3x9SOO_DGaARdJ75X6Jk,647
64
+ python_ddd_framework/background_workers/catalog.py,sha256=2gQk_v60SmzckPIAOm0JaUyKtBsbXBu7iV2hzIhB900,4843
65
+ python_ddd_framework/background_workers/contracts.py,sha256=0blUNxVP5FCImKlnB0Rho9Hgz-EL6arAtLzTZr3sf-k,5520
66
+ python_ddd_framework/background_workers/errors.py,sha256=sNPth84yM9fE77dr5V_SdAI8oqcPZu4eXqOhsDMqeaU,732
67
+ python_ddd_framework/background_workers/execution.py,sha256=lpsGGOKyL1GnphqR1b4Mv3uC_jge8ekUuQCW2OnxMss,5500
68
+ python_ddd_framework/background_workers/runtime.py,sha256=a0QJJ6D6iwgBm4yTIqX8_sVcnCBuwhYtnMVgCXq2mQI,9155
69
+ python_ddd_framework/caching/__init__.py,sha256=SN6D6uEcekeIXZ1Ll7hwhggKNP-it1na2Ah5U3ZjIHM,294
70
+ python_ddd_framework/caching/catalog.py,sha256=IxNoW4p9ADm1l6kLu0etxWg_SZuUG5DBcu9uzoDCFSE,2820
71
+ python_ddd_framework/caching/contracts.py,sha256=GCsKPk-5oAIYUOnY3bfaKqdIwjHACg8NAor1RWHljZc,2574
72
+ python_ddd_framework/caching/errors.py,sha256=2FJkVqC_AUtzN9JEhXlHWR788phkvwbwOBMcRyNlBTA,698
73
+ python_ddd_framework/cli/__init__.py,sha256=IoDSVaZoF2svGQmh4HVGRMqBDbJksCgSfrQPMP7_sag,4015
74
+ python_ddd_framework/cli/development.py,sha256=2EMVAjCvHJ7W-GwiXJ6nzN-kH5ksuyh6aTJiaStueks,3595
75
+ python_ddd_framework/cli/errors.py,sha256=Kx0Vr029fWiIqP2sP-D41EXMOLB6RdVbgDvNIwOCwuw,131
76
+ python_ddd_framework/cli/inspection.py,sha256=a21h-hUqGbT0nKr36aE5B0KMhtwGagHV0y6RDd2p9rI,3587
77
+ python_ddd_framework/cli/project.py,sha256=Wcc31XQYrLwBARwDO2UU0ByWtBjpbSEh6hTJMTyTTaI,2563
78
+ python_ddd_framework/cli/runtime.py,sha256=3f3TmafSHbN7f6wQDuLCKFbf5Sp9ssBMMbqBFGTJikE,2010
79
+ python_ddd_framework/configuration/__init__.py,sha256=eSWGpeWl38hLZPWDo4zhpQ8YQsL0gvFQ9gHrOPv9Yfs,568
80
+ python_ddd_framework/configuration/composition.py,sha256=WAe3_KXbd3kj-m1gePW9eRxOcN8CBwBtq9HqKY64HyE,2230
81
+ python_ddd_framework/configuration/contracts.py,sha256=04vnMJ8j9NpFdfXEpIYcnO0iVLut8ZqWl45BbnkSCwQ,1625
82
+ python_ddd_framework/configuration/dotenv_source.py,sha256=X_H-N6u8DTBntWFKXGXD80LF6e6R2T6sNNMyQhNwk5w,2062
83
+ python_ddd_framework/configuration/environment_source.py,sha256=5DFYpLyOXpCkYT4WmNH-Hj-ehOjwQefx9ihHIlX3pj4,1570
84
+ python_ddd_framework/configuration/immutability.py,sha256=TRB2caTQtoDUA1bcQt9bPWBl-7u45f5vO30sRJQnKkc,5672
85
+ python_ddd_framework/configuration/input_shape.py,sha256=T97z95F2PQkvNN0PV5Iz1s19UvX1CZGvyV7Ojo7cRLY,2438
86
+ python_ddd_framework/configuration/merge.py,sha256=VE6vtvcyQu8rQaqGAQs23JQmhJFneq6cWd1SZCow1Bk,3702
87
+ python_ddd_framework/configuration/root.py,sha256=aF2ideF_Hz6N3cY_W1kvZDQRe1JGv8SeIC3-bxpYMrQ,7919
88
+ python_ddd_framework/configuration/sources.py,sha256=Xd7Sxk0umHS7h5SRq08NSWGhLmJ3lHVP6tyzmh1F7AA,19233
89
+ python_ddd_framework/configuration/values.py,sha256=4S8Ae2CRRekA9ge0ZxoMJcdJn3XqnF06E6DOaAZZuHc,14591
90
+ python_ddd_framework/configuration/yaml_source.py,sha256=hZhKftmip6rRQUwqQBfTi_d-UYthUqWPbL5dQUvb89Q,2016
91
+ python_ddd_framework/developer_kit/__init__.py,sha256=PWBBMijgV-eaks044Q9KoSkGJ6Nr1BGvyDJpEKLUMsw,76
92
+ python_ddd_framework/developer_kit/generation.py,sha256=2P0ZORMbVviE2aiLPw6TdIAFQwpYD4GnvOxFj_EUFmY,7484
93
+ python_ddd_framework/developer_kit/project_metadata.py,sha256=DkR_nwzIT8Gc2Q73ffDPbs-oJHfv-DyAFIwTnjFlWxs,2081
94
+ python_ddd_framework/developer_kit/source.py,sha256=KgAqGJS1MpLpOuvGR7C8ree8zE33FfeC6Zn12Svb6Lg,2062
95
+ python_ddd_framework/developer_kit/templates/module/cookiecutter.json,sha256=QD-atKc-M2SX40aznpd4yRxdVcokpG6B9CBuX3RkZFw,52
96
+ python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/README.md,sha256=fkfAROuu4EI57K84wRlWQs54M5kp3bUDfZbtweY_HQA,5492
97
+ python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/__init__.py.jinja,sha256=byPOI4PKtQDi5IQa9tzZZEVYy5zGx9PJdBzPrgcxm64,89
98
+ python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/application/__init__.py.jinja,sha256=pm9_TqjN20deRELpopxK412O3mra0OZ6QdesPdcsaRU,90
99
+ python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/application/cache.py.jinja,sha256=taNzu3A3JsloMA5D_VKy0eSpWq7y96psW7dnqOiRy8w,354
100
+ python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/application/events.py.jinja,sha256=soWQgEFeBNIP3Erfjy11wjyQh8BOh7sdDbr6wywDPrk,1052
101
+ python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/application/integration.py.jinja,sha256=q8QkGvtsEUjdAoonmNyMqvVoSmJzWcnQevBEFx7Qz1A,1427
102
+ python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/application/module.py.jinja,sha256=0SymHx1em0SF6_NMSp6ZfXkRwoIs93TrZZVtwBDBoEo,1007
103
+ python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/application/options.py.jinja,sha256=hRoTWRqzT6d7uiCwCU2O3t2Go58IZa2WQsauSsDj5Sw,236
104
+ python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/application/orders.py.jinja,sha256=i82NepXYy56ZwPe7CqqEGo7oFOMMUpCIEc5AMFc71O8,3561
105
+ python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/application/tasks.py.jinja,sha256=TUPAIbHAMuc9XmNzfPDwPnqBfFFJbhgD3a5XVnV-Rl8,2992
106
+ python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/application_contracts/__init__.py.jinja,sha256=grSDmU4IKdRYZsqi56aEVvsgx92AYF2k3jlDzANqra4,51
107
+ python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/application_contracts/module.py.jinja,sha256=IDLKBuyKjWBQY5Lh8FCDvvvPXL0KfMG-UQKQNLJ3fMg,373
108
+ python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/application_contracts/orders.py.jinja,sha256=osItE2h22THm-xxjAn3M73ViOJdbsqP2c7NtMeUrL4g,1182
109
+ python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/domain/__init__.py.jinja,sha256=m2rqZegGy5XHzGMUVk9vwVcjEF7TufveMAELuJLynnk,60
110
+ python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/domain/module.py.jinja,sha256=pB0E0KRoickl7KQ91cN33kUPUEhN8zCnx6KnoNxlJf0,381
111
+ python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/domain/orders.py.jinja,sha256=6ZtTg0o0phKbdwZCXzH5C_dt-Qat6MgztvdRlSNH970,1572
112
+ python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/domain/repository.py.jinja,sha256=zT_Tk_E2a0DKO6y4ss-nD70rJl3AWVuEXxoMv0tBSrQ,421
113
+ python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/domain/seeding.py.jinja,sha256=8RPYJsoGBNFqdOXGvVdQ79G5WnL13RgSo84JLgONIxw,743
114
+ python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/domain/settings.py.jinja,sha256=xLvq7yIf8d1BJJa9XVu_QRNfEySWxyE_d2ekh3rHico,566
115
+ python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/domain_shared/__init__.py.jinja,sha256=LU6KHrXMq__7fxyg38mtvQcKT53lPyyZh5NdWOJco6I,64
116
+ python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/domain_shared/definitions.py.jinja,sha256=2h24V9b38RScEzks-ABJFwJwNGwYVqxvFs2juJSSR2M,791
117
+ python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/domain_shared/module.py.jinja,sha256=qUQANY5o7kVZL00vCh17IyBRPcWr26-WYlMhiOV8afQ,222
118
+ python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/domain_shared/permissions.py.jinja,sha256=AFUJkOi5a8mPcz6Zjnk4T7FLuO3Opkfp2tbch6tMmf4,575
119
+ python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/http_api/__init__.py.jinja,sha256=0YILK1GtpKuf4icbuq3C9BhggZlv5MUD65FHMth6YG0,89
120
+ python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/http_api/files.py.jinja,sha256=dHmOKkh2dTH9WFWrXUhQR5RAdB3MGIdXL5iVpuhGp2U,2851
121
+ python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/http_api/module.py.jinja,sha256=BFL85ztel65rnWFVDFWJ1gc9EcO22GPK17YLi1V1zu0,967
122
+ python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/http_api/realtime.py.jinja,sha256=sYbxPwpmiICwl_2eRiD7EBMbgQJEW42fmVxCUoS1yZs,1318
123
+ python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/sqlalchemy/__init__.py.jinja,sha256=orK7ZIMzTjfc5ZcFnbqqAZwe3vc3LaB4_dCisIbuUZc,50
124
+ python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/sqlalchemy/migrations/__init__.py.jinja,sha256=h9aS1HhsVr4SAIC6z1TYM2nL-yYqxmn-KOZ-JLfknr4,116
125
+ python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/sqlalchemy/models/__init__.py.jinja,sha256=YmHR743ijLON5W7HA-FTwoy4MvfPJqFhG_-R2fkkg3o,208
126
+ python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/sqlalchemy/models/orders.py.jinja,sha256=WmlLSga_1IRVMq6EbbtovCzxbOoWt-PF7yuMxFEC0zY,1122
127
+ python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/sqlalchemy/module.py.jinja,sha256=37PdaZFB3EVPuzXOv8eOKkVDtQHvvNNmoC10PW7j5Og,943
128
+ python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/sqlalchemy/repositories/__init__.py.jinja,sha256=VdqphDwvoB9nhl5Q9vHpSnmMWwDUlDp_YckRkionwWw,46
129
+ python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/sqlalchemy/repositories/orders.py.jinja,sha256=urhst80ATHulUG5l_QUw_L8ZrUCnYD7MzCic-HRIOEU,1998
130
+ python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/tests/test_domain.py.jinja,sha256=JWbQRESMx7ObAP-9Xb6WRWZJjDRLSaqnZ54NGzn5HNs,640
131
+ python_ddd_framework/developer_kit/templates/project/cookiecutter.json,sha256=mG9LsUVZh-OiTJBdtqHM_buHxvURWLr3Ez5U1NyMZOI,291
132
+ python_ddd_framework/developer_kit/templates/project/{{cookiecutter.project_name}}/.dockerignore,sha256=TG053vIzikxG8h53vCcU_s5wcr7p4GEKwsedbrRrSOo,71
133
+ python_ddd_framework/developer_kit/templates/project/{{cookiecutter.project_name}}/.gitignore,sha256=OF6nwgb-RiP8EAXc5osbk3bsOEYkk0JaV99v3FcglTU,66
134
+ python_ddd_framework/developer_kit/templates/project/{{cookiecutter.project_name}}/.python-version,sha256=lN0hZ-3c-Wk_uFRrQasUfy9YJrXrdvSzYKhuHeXIXbY,34
135
+ python_ddd_framework/developer_kit/templates/project/{{cookiecutter.project_name}}/AGENTS.md,sha256=8feBa_fMNk9zGqHwzwqDbyggN0J6uMAjX1SJht6pW5A,4976
136
+ python_ddd_framework/developer_kit/templates/project/{{cookiecutter.project_name}}/Dockerfile,sha256=iCv_T4LCAPLEi0qQa04UwUqeCOOIHRvipf4BPQZS_FQ,1164
137
+ python_ddd_framework/developer_kit/templates/project/{{cookiecutter.project_name}}/README.md,sha256=zejHdUXUaEU0s5YD7zMLWlsF0ZKoHT3cwLygpaMokw8,7025
138
+ python_ddd_framework/developer_kit/templates/project/{{cookiecutter.project_name}}/app.development.yaml.jinja,sha256=mkh5WJZ8r26OsIPRLTiQU7sQKOTLaPQ9z8xT2S_vBA4,1001
139
+ python_ddd_framework/developer_kit/templates/project/{{cookiecutter.project_name}}/compose.dev.yaml.jinja,sha256=cF0YQ31Z3IkGiae12MQlRtDcMztfeWoh9V0gCbqAlGw,756
140
+ python_ddd_framework/developer_kit/templates/project/{{cookiecutter.project_name}}/compose.production.yaml.jinja,sha256=_6bOPW2232spgvInM1PA9lgRZMlWdkf_HW7GgTM0s0Q,748
141
+ python_ddd_framework/developer_kit/templates/project/{{cookiecutter.project_name}}/docs/architecture.md,sha256=TwrExZQJ57NaC9YVwEZv7_FjLWRK1_UZiSw3N32wJzk,8691
142
+ python_ddd_framework/developer_kit/templates/project/{{cookiecutter.project_name}}/docs/development.md,sha256=LHOsS6N12JBftEa5eK0D34-9BWEtcWYWvjd2OZ0e9kI,13917
143
+ python_ddd_framework/developer_kit/templates/project/{{cookiecutter.project_name}}/pyproject.toml.jinja,sha256=AwXZ2zNwUgUdy-TbVQPbnp60xBWxGtVaDCpuDqFTxJU,933
144
+ python_ddd_framework/developer_kit/templates/project/{{cookiecutter.project_name}}/src/host/__init__.py.jinja,sha256=RfLT7dqPnSotCDorSp6Taz9jBYOmepu6De_wZNelWZ8,74
145
+ python_ddd_framework/developer_kit/templates/project/{{cookiecutter.project_name}}/src/host/main.py.jinja,sha256=VZqxSmwqi8zjkzPcIPMpUkv9lxjs2Pcm1uLD7uGgut4,1624
146
+ python_ddd_framework/developer_kit/templates/project/{{cookiecutter.project_name}}/src/host/module.py.jinja,sha256=8sgNJ7HtJAHs5h_SJf_P3ezHw7eHaJzRd5E_s4fKl2w,1839
147
+ python_ddd_framework/developer_kit/templates/project/{{cookiecutter.project_name}}/tests/conftest.py.jinja,sha256=I_SlSxioBsCFNJLM52iM-neYBJR71qOUn7C4dI9t-7I,149
148
+ python_ddd_framework/developer_kit/templates/project/{{cookiecutter.project_name}}/tests/host/test_http.py.jinja,sha256=pmiz6k0oWWrPeW_rVG2Ynibg4j3yuKvgvYFc0K7J_no,2766
149
+ python_ddd_framework/developer_kit/wiring.py,sha256=80ZhxpGXK6NP3b_BTTc1kt3oIU21MU70cT9kgm8ZgAE,7835
150
+ python_ddd_framework/diagnostics/__init__.py,sha256=HdgzjQqMJ_SUGKJc5EcQ5PL1rM4GcTeem-L0q1r7vjQ,455
151
+ python_ddd_framework/diagnostics/journal.py,sha256=Z_i3McKDmfl_WSn4DpxelEkSlP0CfOWUcT-rCDwhO84,5219
152
+ python_ddd_framework/diagnostics/model.py,sha256=sK_xvGGjJg4P4LbHSA1uzhzAAzHu_y_ok_MH18mNo_o,1895
153
+ python_ddd_framework/diagnostics/source.py,sha256=GEVjKJX35p-GAgBFmfqhjD2b-2V_oBLMcst0rCOSyPk,763
154
+ python_ddd_framework/distributed_lock/__init__.py,sha256=qsx7OVjeFJUMsfjL3vHwosoPV8F3hCqWkYXZlgSve0c,247
155
+ python_ddd_framework/distributed_lock/contracts.py,sha256=Tl7LUiSii__4GOnSdynWiiA7ed7GRrK2jzDgq7rGENU,742
156
+ python_ddd_framework/distributed_lock/options.py,sha256=nqoUPb_IG-aJOaYHfHjycQAq_8KCqVZML4wYEZwGuEk,757
157
+ python_ddd_framework/domain/__init__.py,sha256=WvaCmZ2XC_8lzXF3m3Ma8fi7uVu6l6fT780oXI1G-NA,327
158
+ python_ddd_framework/domain/aggregates.py,sha256=YQjjxws4hivk9cXykeYFnN21EVDWkloK-PfkuLwqKzQ,2326
159
+ python_ddd_framework/domain/entities.py,sha256=bNpc9GAX-ZnXvGkl_IE2BZAmUaYjA46KbcJYZOUU1bg,917
160
+ python_ddd_framework/domain/errors.py,sha256=wlOhSaCjFAc0-ZJytoSNt1Xhox20cVm3td_WgDRY3kc,378
161
+ python_ddd_framework/domain/value_objects.py,sha256=k3-CZPF759fJxn-Xoj3JsWvDtPMj_3IYfQRIQsYm6mA,1144
162
+ python_ddd_framework/errors/__init__.py,sha256=dTVJLcBvgWArSmZWD6cGrN7-geO4_jOZAtEyar-eW78,2243
163
+ python_ddd_framework/errors/base.py,sha256=NZomLNkE6T6yobDzpzi_n5JqK4YAHNHPPZk_bHJa7Gw,397
164
+ python_ddd_framework/errors/business.py,sha256=gJ4P-A8mPrxkSD9fZu320rQ4MR8-mXPkJKpa5Ci3TQY,2039
165
+ python_ddd_framework/errors/configuration.py,sha256=SCsD4IjOSa_9-gBosLIRpU8DvIr8hPiua1Qpc1a0ztw,3882
166
+ python_ddd_framework/errors/diagnostics.py,sha256=2xv8fWqNenSVVMmZT8zEB91xb8Wi1O0qxFLFS29I71U,392
167
+ python_ddd_framework/errors/lifecycle.py,sha256=ofonZT7LwxfS7XejXMkFEwkrAeKyC0HBUz_yAL-u5m4,5501
168
+ python_ddd_framework/errors/modularity.py,sha256=JL243-yJ6OfHum1vkbq1CtP3Xrh2Mgv_qIaZxlVNIJg,2863
169
+ python_ddd_framework/errors/services.py,sha256=3Dbk51XflZ_r-nJWFi93siZ4vU2V9r9OtPOkce8RTZU,3137
170
+ python_ddd_framework/events/__init__.py,sha256=XnscrZjph2FwGSvei5ZjobchDnBI5u9ivhbsCi8xSTM,682
171
+ python_ddd_framework/events/aggregate.py,sha256=ZSdYx4FWklLm4HCBm9tbEz1y3988a6sfceA8HwfUeWI,1400
172
+ python_ddd_framework/events/catalog.py,sha256=jNpkxL8iCPin25oKU7ePz29jrH_uN3EscC7IlhNQgbk,5118
173
+ python_ddd_framework/events/contracts.py,sha256=a4_4V7HzycerFac0VxNzKZkZeUGiwysGZhhst99nnRA,1366
174
+ python_ddd_framework/events/contribution.py,sha256=Xn9JYJhC1Lm5tPGlDqYM6ubNzmbu6cKrTHMmfwiCFxQ,4209
175
+ python_ddd_framework/events/discovery.py,sha256=CdWW2yMAtigDUc1c6Jv3c3LfIeoQRZmzm7eUq9Vp0zU,4123
176
+ python_ddd_framework/events/errors.py,sha256=DA7J9VcpTt1sYSRjHY5In6ynC4I0yxrtOHwezb4MTwg,1765
177
+ python_ddd_framework/events/runtime.py,sha256=NR8abFc1ULUALPVYE6wIzVCRvnJPy9dGUgV8xvm77S8,6751
178
+ python_ddd_framework/fastapi/__init__.py,sha256=-C_L75ri-TONTeYUcQqjpws-8onjcPFNQR5cCYcCj5Y,1341
179
+ python_ddd_framework/fastapi/action.py,sha256=Cp-5c3Q21c5JJCI-mBJHf2ynxRkwzvi8fy5myIu7UcI,7148
180
+ python_ddd_framework/fastapi/adapter.py,sha256=7FliNdwj-Uk3zOukQT_i2b-ygC-O6zLl4TLTsGflUxU,16474
181
+ python_ddd_framework/fastapi/application_services.py,sha256=U3hIRAXk0cE2vcE0zBfhSwu07OE_M7sBfJBGEbPwEps,26907
182
+ python_ddd_framework/fastapi/background.py,sha256=tz1XcjKqRziWV5lTdxNmb3LO6SkqxUKMBbMfNPZ3fv8,1595
183
+ python_ddd_framework/fastapi/contracts.py,sha256=HhCILNUpUuusc5vBfW8VEpAqlu--Wzn1x8N5WV252PE,11082
184
+ python_ddd_framework/fastapi/errors.py,sha256=XPhxj-WyWQ2wj1q1JkalnyVi2UaOKHbFk_-RbMnS5Ok,984
185
+ python_ddd_framework/fastapi/filters.py,sha256=aQQB4imJa9XaZUsVkIwmkZ9iZH54P_36wulc7RIKuXU,3954
186
+ python_ddd_framework/fastapi/health.py,sha256=FBnJ_ke5yPos2m8XTlavhP1m2npTyjEiDursdp_Ya7c,1319
187
+ python_ddd_framework/fastapi/http.py,sha256=W0jFoqVYOc_rvT7BGa9m1btEThixX7o0ujt_TMxegsg,2725
188
+ python_ddd_framework/fastapi/http_router.py,sha256=pgfzy7zcUgy8bNOUTIRn7vgeSHLLcVcVbufLute_m_Y,9254
189
+ python_ddd_framework/fastapi/manual_action.py,sha256=f-0GawXtqWIcScN_0hd43uhDNw3EAyZwzmNSQwdlsh8,4284
190
+ python_ddd_framework/fastapi/middleware.py,sha256=uIT3KFyVPy-ruBvNzjANclqLp4RAx3X01F9_yN3JEMQ,3968
191
+ python_ddd_framework/fastapi/parameters.py,sha256=b2JUXZNEhNd3kHML_2eRAQfb0GzUxcopXQQzzfg4dAg,4499
192
+ python_ddd_framework/fastapi/realtime/__init__.py,sha256=-GtZxXilBiLP3-jQpRa7HPKOMLFNh1sWeV_bcP9iONo,360
193
+ python_ddd_framework/fastapi/realtime/authentication.py,sha256=_FBZiAfe0On-jvtemCqfTX8MrlBhsY-X5etcsuqmpcc,6909
194
+ python_ddd_framework/fastapi/realtime/connection.py,sha256=onemXQySDtOdGCHAfkND3CyIv41MvrfjuzI4g1GYcfI,6104
195
+ python_ddd_framework/fastapi/realtime/module.py,sha256=HwvGmiv9oeU9CbTEDbEo7cxtXyTm1WKHbTM5XIRF_W0,1456
196
+ python_ddd_framework/fastapi/realtime/options.py,sha256=5xiv2pgiKb2FG3asZp5Q1jPYiZf6JmzXhFyqRTFj-Gc,1963
197
+ python_ddd_framework/fastapi/realtime/runtime.py,sha256=EB_-7I_ShNZaHyBLxsi5ri4wUGmknSdtcsV5MJw6ZRw,14703
198
+ python_ddd_framework/fastapi/request_context.py,sha256=9TEPO9OhTIPqCAqqQ67Gysai3WFPsyMEkPrObgOPKnw,10086
199
+ python_ddd_framework/fastapi/route_integrity.py,sha256=_tDeeE6XHbsgrA2i1m6Yz_I9NU_JVuYb1E3iMvbwMxE,3174
200
+ python_ddd_framework/fastapi/routing.py,sha256=YCOLX8dps_YyAw95oQntV5m-b09JZwHb6heCLeg0NYU,15948
201
+ python_ddd_framework/fastapi/server.py,sha256=1TiQf-eReX8HcOgfPQkQB07Ksbux9WJnWQLsjklEycE,6532
202
+ python_ddd_framework/fastapi/settings.py,sha256=pI6JNML9LNlz05sEA0yMlbGPIE0yHgBLKdQDZftGq6c,1440
203
+ python_ddd_framework/fastapi/tracing.py,sha256=oKdPbDAZ-VQUGCOcaNMIAQNwgi6OA2nOA8wffn9ZE70,2494
204
+ python_ddd_framework/fastapi/transfer.py,sha256=QiWPxvv-sYkilGTwP8uDh-dozGR-Qf8iLYttbAiGekM,6199
205
+ python_ddd_framework/fastapi/upload_limits.py,sha256=vK1wuH34zrqrZhg6WDwMn730nX9fUDsMFhBbHKmv2kg,1959
206
+ python_ddd_framework/fastapi/uploads.py,sha256=SUQVB7tEXUXti6GFUenBNdlW3YaIchtCi0GcBJGhU88,3839
207
+ python_ddd_framework/hosted_services/__init__.py,sha256=r9yz2PpCUgpxvZsv1WyVrzslvfYCcfmAEsFIlrxejx8,991
208
+ python_ddd_framework/hosted_services/bridge.py,sha256=hUnrWLp0WSJbExbEM-zja8rkGuKGwY4V-73B6bIrRRE,14216
209
+ python_ddd_framework/hosted_services/catalog.py,sha256=s91OzsSWW7pfCvZl26ZJ1DF4SsOVg5ly1FvWwwUJrIM,9846
210
+ python_ddd_framework/hosted_services/contracts.py,sha256=5dpDYgIfKtLKv249tBgS5UzWIDvjVaNpiZ1OLolLHoY,1923
211
+ python_ddd_framework/hosted_services/errors.py,sha256=GKG7fEkSoW4ykUXmMHriNrhuIEKBlonlN_vkjIwWKAY,1949
212
+ python_ddd_framework/hosted_services/options.py,sha256=KiMZhzbgFlUhYdTbTccUHMfGHrnnXrn-_5Qf6PAfxlE,551
213
+ python_ddd_framework/hosted_services/runtime.py,sha256=S0MifGGNXP0Kif5A8IBuDLvMLLpQXKw8RgdX-pLlTRo,10655
214
+ python_ddd_framework/hosted_services/state.py,sha256=q9mZrd1nflI3WvYg6xzBzNZvbq1lEDXImSW4dXRZiVs,1459
215
+ python_ddd_framework/hosting/__init__.py,sha256=pH06-NGL_FXdio5YldB4pqY89IyL8vDe4HStwRlakdI,244
216
+ python_ddd_framework/hosting/instance.py,sha256=2vmaB4McO8vCzZcqKP3zbNPDHO1WUNyTIWyEOKm4-R8,1581
217
+ python_ddd_framework/identity/__init__.py,sha256=dVdA_LR5ezS8D3-82p6AdmsugLlWCgCl0QQMhpe-gBQ,1805
218
+ python_ddd_framework/identity/application.py,sha256=AniaQZQyGsXX-25dISoeN43Es0odTm98E6sYCp2XCaQ,10435
219
+ python_ddd_framework/identity/contracts.py,sha256=uc_PwLnsSdHWJWeqJM_EYHMOlzH_QGUIRZ0jC3qI48Q,7882
220
+ python_ddd_framework/identity/errors.py,sha256=6sorp9LkGm6PNsYbd7tqHBPXTjXYeXQg8NDMpQAzyxA,1048
221
+ python_ddd_framework/identity/http_api.py,sha256=jCK0_RjyXYIhouPqRzN14jqk3xfOLJ5a-YHrLvB0Ifs,3348
222
+ python_ddd_framework/identity/module.py,sha256=lnT6XNd16mN3b0HRz2yxnwmkmE9KCHiZOPIzB20njfk,1570
223
+ python_ddd_framework/identity/passwords.py,sha256=SLQPUzLSOnn33tPnga33YPNYJ3zonHEdJh75jA2C7To,1104
224
+ python_ddd_framework/identity/permissions.py,sha256=vfzowu8FD9shhNC3kQ7xYAtT00HNLNn5u0d29zRthZ0,597
225
+ python_ddd_framework/identity/services.py,sha256=n62OSk13xfbC4hg_3VtKLozEQATRFdlowQrdEmWqxb4,3820
226
+ python_ddd_framework/identity/sqlalchemy/__init__.py,sha256=q-Y-hevtLH-8rNp_uGDNB8WmA_vsm5FDFiyoynLaxBM,140
227
+ python_ddd_framework/identity/sqlalchemy/migrations/0001_identity.py,sha256=C7H5DsFBMkfrBheMD7j_Jms4lFf9Io6BeFQz6OcJqdo,5177
228
+ python_ddd_framework/identity/sqlalchemy/migrations/0002_physical_delete.py,sha256=ASDi0q7gRtP5QVoRpAwGhDemSwU_dQgZbSc1OLqmkb8,1319
229
+ python_ddd_framework/identity/sqlalchemy/migrations/__init__.py,sha256=g1yLLP4lMAyH48mhsC6WySZ77vekkaG0BcCMmbNLslk,43
230
+ python_ddd_framework/identity/sqlalchemy/models.py,sha256=C_jVDS_8kW0CLsd6aKWOwBDx3I_K6vvUxO_baetVZIA,3249
231
+ python_ddd_framework/identity/sqlalchemy/module.py,sha256=KzxyFj03amPPY7607EIh58UiJ9aSjrAWpEPnE1ElFSk,1820
232
+ python_ddd_framework/identity/sqlalchemy/stores.py,sha256=XmRvOo0ikP-n2L6MyW7hG5Mdif_cgRR3fv2EJo0TCsg,20303
233
+ python_ddd_framework/identity/tokens.py,sha256=-uzO_x_KzlIzlpZJmBVU40uHx1pHHaNXCPdFVrBusQQ,3486
234
+ python_ddd_framework/invocation/__init__.py,sha256=AsJHV0LS2mpvY9XLeVnCrVWa2p7z-WiqL5zDBjxAxC0,146
235
+ python_ddd_framework/invocation/callables.py,sha256=Gc5lRacdsxzBnYa7jhDt6VPFi4j4Q4DADRtyo0p1_9c,6718
236
+ python_ddd_framework/invocation/contracts.py,sha256=VxT-kj4v90cq1yUx9lTs-enDeqzofRG5pecPqiazcWE,908
237
+ python_ddd_framework/invocation/entries.py,sha256=mGWlL-WBCphZECLGuDAjHN2GV8VugjuxjuGsAg3vmHQ,2086
238
+ python_ddd_framework/invocation/function_runtime.py,sha256=isBRrje4mvaN-SMPj8CJ6UPmaO3RYvCqdTAUiFyvE04,1961
239
+ python_ddd_framework/invocation/interception.py,sha256=aw30CqnWk_UXFjpFzW6amFBWa33namMO-R1u-wez91g,7117
240
+ python_ddd_framework/lifecycle/__init__.py,sha256=4esYcdXYxZz8XsvWc0AKVWPeIRMNcq1fwfOM7o0qRrs,674
241
+ python_ddd_framework/lifecycle/composition.py,sha256=dorqz3OSARDYFaroelh4A9dc_FYhoWdsfQpQtQ_CMSA,1042
242
+ python_ddd_framework/lifecycle/context.py,sha256=GfWBjveXbmVLWmQsRc77p5zsUcOCN2MyEV770x855pE,907
243
+ python_ddd_framework/lifecycle/runtime.py,sha256=8itu1qc-TKYwfQpihEJevUyrsijTxhak15o7qGG-yzI,1166
244
+ python_ddd_framework/lifecycle/state.py,sha256=chxUojM1d3s-cu7mr_gWV-kFu5A-S6ANlKBQ_Pq-0GA,501
245
+ python_ddd_framework/modularity/__init__.py,sha256=0GnSw98fN4IZaO9G826P8jMkPa2dYHYESOR0g_sHZG4,439
246
+ python_ddd_framework/modularity/contracts.py,sha256=iZWBa3Kvg9TweSl7TDrKq_8vVWrMR-tp3Ow2E4YfZXM,3013
247
+ python_ddd_framework/modularity/discovery.py,sha256=0XYi0dMEqsRSpF8aUM7nu4hVCGOgyb8NihDMo-AGDok,5236
248
+ python_ddd_framework/modularity/graph.py,sha256=11Xffr4upfzVDlE-QOQJ5SmOyipTj_s0w5zolDrkjgU,13704
249
+ python_ddd_framework/modularity/registry.py,sha256=eyvceOf6STnON84D_bvk7S_VhcAJPoqQbaLtsOw6NZk,3535
250
+ python_ddd_framework/modularity/selection.py,sha256=dhxUZsnGa7KiLVDKUeKhAcId0GHx555bfZ3_OAUwIyQ,611
251
+ python_ddd_framework/notifications/__init__.py,sha256=l6KIjpN-uRUlu3ayM0zzuPjwunMWDo3SlrcYNHrW2dA,465
252
+ python_ddd_framework/notifications/catalog.py,sha256=xMJ3u08sTtHeJoLksYnoPqPTC_TTkiAVuybMUeyv148,1910
253
+ python_ddd_framework/notifications/contracts.py,sha256=xffd4yXvBBSN_xyacDLdBBkb2n8fbpvyLFN_s9bxJWo,3677
254
+ python_ddd_framework/observability/__init__.py,sha256=Qg_2CPs0MTexfNvu9KvD0K59T-_9r_K3AWHe6bWKgwI,193
255
+ python_ddd_framework/observability/context.py,sha256=GOXpe34Dt46h3mZ7qrm2t9NWYGZb1gMpr8EsJY4N-PY,1546
256
+ python_ddd_framework/observability/export.py,sha256=HitQCY3b7n1kIyk4tI7GuVAthhX5fAJUnRdqfQrOOT4,2639
257
+ python_ddd_framework/observability/formatting.py,sha256=72WSSYTNhKMEn7NjFyih8ekFFUxYfS0txXw1UTHU5xY,3352
258
+ python_ddd_framework/observability/logging.py,sha256=SVj88j98QebDaAi9SeKkkqpGfNn7pTGTpq1vEy0eduI,4316
259
+ python_ddd_framework/observability/options.py,sha256=LHE_EWw6TKHGqPZKzJIvDJS5l5Fb8kTbzmwUl19diGw,1768
260
+ python_ddd_framework/observability/tracing.py,sha256=G2Lx6LkrH6ZsZd55mOeTSI_SunSSpW3naL6vVUJ-keE,3627
261
+ python_ddd_framework/options/__init__.py,sha256=F7hZTxaKdNeDpQ32BxXM84xL81GqfAfAdQnjY2DDThI,385
262
+ python_ddd_framework/options/aliases.py,sha256=xZKF_BfY4VHxxLHppJM7InQPo-vGXKFYro78pinXC5g,10210
263
+ python_ddd_framework/options/contribution.py,sha256=Cpan2HfGZoVpOB4f63JUIhqzFdUncRkqsg30dmsUi8Y,1893
264
+ python_ddd_framework/options/immutability.py,sha256=eZttcDu7hjVGSohmpbH-SSgWSdjyY2BnBO9T9fWsTuI,1558
265
+ python_ddd_framework/options/input_keys.py,sha256=wLUydsbJOb03ycL77YSCww8JKDTdbZMfzhLgw1YnGrQ,8175
266
+ python_ddd_framework/options/issues.py,sha256=WYOxfmgL3czn4T5Z0lz5JDHejJrGrWR9EEHmZRePrAQ,10914
267
+ python_ddd_framework/options/models.py,sha256=VDvb3DddkTDtgH9Atkk0qV9rZKzFcwUjs4WU2LclhEo,3264
268
+ python_ddd_framework/options/registry.py,sha256=jQ3Put54fNf0n-y6rpkz92lQq8eH_5k7LqDmFuBvj0M,10651
269
+ python_ddd_framework/options/schema.py,sha256=hiNDFzZR2qKU_hUN4WXMXA_FF77O6eg4ikDX-4fYvZs,17911
270
+ python_ddd_framework/options/validation.py,sha256=IC4kvB3tK-tUGq20rMBCYNvUVXqU_Y3dNzx4IBhj2V4,4830
271
+ python_ddd_framework/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
272
+ python_ddd_framework/realtime/__init__.py,sha256=TKAtNqxpH43_Tteykf0-Apw919rNPGe_gWKnt6nUw8Q,318
273
+ python_ddd_framework/realtime/contracts.py,sha256=GBGvpuGYYf6GU4wVaBLv5smbOv1szLnEJY50SSAvn7E,711
274
+ python_ddd_framework/realtime/diagnostics.py,sha256=cql7zeKHZdWktqY82VMMzYpSynY1MWdffofhhp4I148,1455
275
+ python_ddd_framework/realtime/messages.py,sha256=8OvSBs9SkeAsqbZQfGr_qrEchHh1sahxHMbCDHuPlNU,4442
276
+ python_ddd_framework/redis/__init__.py,sha256=lhqhQO1tMeGAOuHXDYl-vY10ashvs1OfKfhU45ybelE,267
277
+ python_ddd_framework/redis/distributed_lock.py,sha256=gJ--is7AzqF37nXSUVr1J4T3eK8caTOvSaU80M9cAq4,9219
278
+ python_ddd_framework/redis/lease_lock.py,sha256=l04gDtFdLYaWqiatX_f3Gten86HVa6OtLfl_BngJ5JE,1140
279
+ python_ddd_framework/redis/module.py,sha256=E97HVxd6o9DNw9LWrkdAeAkfNQ140JWC4kCUo_O77wg,1969
280
+ python_ddd_framework/redis/notification_runtime.py,sha256=he808WhYOciqgQq34oMcoFoaT3rdnugPHa1TlQsNQXc,7435
281
+ python_ddd_framework/redis/notifications.py,sha256=FLf6d4vYepiUvFgIbup6joex6HhjfCZEYtD7XBZXWrI,995
282
+ python_ddd_framework/redis/options.py,sha256=4ksLj9IvTrj1LESOaJ5IDpUjUyJ7UeIRLUPHrBMlnFc,1058
283
+ python_ddd_framework/redis/runtime.py,sha256=rbn_RkksDCpbAyz_74XO-Hn_CPlYsl2uhk43YKwXjBc,3898
284
+ python_ddd_framework/services/__init__.py,sha256=jb4dVNn0WfaMNOHrjXk-s917KLWnpk5PRmOjaA3lpC0,1020
285
+ python_ddd_framework/services/application_bindings.py,sha256=a0GKHduTiZzk1vLbF3tJrvOX8ftR-DRMvIP5lcXAQkI,9133
286
+ python_ddd_framework/services/arbitration.py,sha256=IQZdesC7x8SLHd4fq_cZw-JR8oD2mjNdvOMyBg7u90s,15461
287
+ python_ddd_framework/services/binding.py,sha256=_MVs1Xo44lLqDnd8nl52BdHsEVFuCWRkLoXN4Uhwog4,3955
288
+ python_ddd_framework/services/contribution.py,sha256=aKhIXd8k5BvmX6TuzCL_YH8knKnln1_ro-jJcZCK9fI,14081
289
+ python_ddd_framework/services/convention.py,sha256=ykSZ63yWtJyn9jeMe4-J1ccT0rlzaoutyvH0BiNWb8U,12219
290
+ python_ddd_framework/services/convention_contracts.py,sha256=ZuLPGqTKlzklFBrnqe2uSe9b7qR4Wjf0Tl2xdIvoTyo,3172
291
+ python_ddd_framework/services/exposure.py,sha256=z3FofcVRF5CPsn5qNVgHUrLw-KrF8DInqqQ7saHGRMQ,910
292
+ python_ddd_framework/services/fixed_lifetime.py,sha256=s6YzZ8Fkgk3Z2qRjZJCe7ac95MBbrrMp7_GTYIWVrco,1920
293
+ python_ddd_framework/services/framework_provider.py,sha256=Sm4RllSnooUD_xBSOnsvkTU1XsXmm-cUIfyjMhmXI4E,7110
294
+ python_ddd_framework/services/native_graph.py,sha256=DNB5bI5oYFpKPUsqh-P39pv0VueH6Q3IM70XYiFKuBo,7973
295
+ python_ddd_framework/services/provider.py,sha256=FiIFbYXcC5wZCkxnjWC4-c28_pgFbdAQZryXRgzz2_Q,7983
296
+ python_ddd_framework/services/registration.py,sha256=AsvhVv_szq8TcaXdUMvOY6fNNp85D9oJ3NmtI9zJKKA,2914
297
+ python_ddd_framework/services/repository.py,sha256=WQ1hGtqhD9HaWteM88YzEPah-EZMbZ5avpfydsz6o6c,1470
298
+ python_ddd_framework/services/runtime.py,sha256=HjgcSgLBCw7JTFqzz3JUvGlpDp54uMVIjr7Q9ca_eRc,12097
299
+ python_ddd_framework/settings/__init__.py,sha256=5Ikxnl_nT9l_WDuqW916hsvVlO9t_vCjR9OIvvJR8lI,1034
300
+ python_ddd_framework/settings/application.py,sha256=9J7Q74Vr6QXJ2ddWU7-MFpwdjUXW-ZGI1Py_R93mAsM,3775
301
+ python_ddd_framework/settings/binding.py,sha256=1a-AzTLwCTU6zQ85rYBJrQE63_b7BwFf9UWbMhOfJrQ,962
302
+ python_ddd_framework/settings/catalog.py,sha256=sUKev6BdnoAsnAO47jNWfAtcF99vP0Scsks7m5OdQEA,4840
303
+ python_ddd_framework/settings/changes.py,sha256=zpHhCJY83s-KIs7NkjQAmIxzY7cJfT8FD4A08gF9NfE,367
304
+ python_ddd_framework/settings/contracts.py,sha256=E70lLiFC5G7XoEpmf3rsoW5BnPhzajm-eri0vzn0xuY,4428
305
+ python_ddd_framework/settings/definition_discovery.py,sha256=zHN3-coqzdEb--mecv00v7ifWzzCfJRZ-BrFcdVx4u4,3002
306
+ python_ddd_framework/settings/definitions.py,sha256=TMjXCvlEQpm_dxzuIJZcPCJ5WoScoGM1aO0h6Nlvvow,1508
307
+ python_ddd_framework/settings/errors.py,sha256=ZcU1nMB44_Rq9Wl5bw83s3Y066LxSLrFqOW_gG6ViS4,836
308
+ python_ddd_framework/settings/handlers.py,sha256=A0GWDKRXASlCoWm_Wduul0thAv4xW4SG305KXd6wY-4,1369
309
+ python_ddd_framework/settings/management.py,sha256=dJhyZYfNA5Qsup9yt2dKOrIwGq3OnNkDxskJniBV3BI,1656
310
+ python_ddd_framework/settings/manager.py,sha256=VO-vozAtDvmAGgMQPMqktgqLsgFNXvn0GCDsBAANPRo,4185
311
+ python_ddd_framework/settings/module.py,sha256=bdEu0FKK7-RAqjv5Ph5imgkr91ms-JJf9OIcs9zUw6Y,282
312
+ python_ddd_framework/settings/notifications.py,sha256=jnKfILIhXOECIO-6urEtXuRmv2IB1QSK0DfnP2Cl3kw,1535
313
+ python_ddd_framework/settings/permissions.py,sha256=2nPyZOZ9G-4mSCIqwNI0C9WUBhP0ZwqNjljP3XZD3PE,553
314
+ python_ddd_framework/settings/provider.py,sha256=plT4x6UjBGn9B6-OmZYKswdto3NrE6Ib1lsyc1VUKoA,2871
315
+ python_ddd_framework/settings/refresh.py,sha256=XX2qO9ssrOQIKGcDYUZI8KdMeM960W5tWhoD42ecdUE,5426
316
+ python_ddd_framework/settings/refresh_module.py,sha256=tJgG4O_01O6ich4u7hwnPrr5rSnM6UsNQVBypG0zReU,1966
317
+ python_ddd_framework/settings/sqlalchemy/__init__.py,sha256=G-S-sSsxwfjZxr0mVAyXUBG0SIxC3ZCMtrdpMsZ14YM,158
318
+ python_ddd_framework/settings/sqlalchemy/migrations/0001_settings.py,sha256=wx_GcxijY-43V9DoNNzdvfwg8d5oYWkmeWSe23xtXLA,1045
319
+ python_ddd_framework/settings/sqlalchemy/migrations/0002_physical_delete.py,sha256=JtPmESosI_SIe4ijFuBFX7zvcgsnk-7dtjULipdC6NU,982
320
+ python_ddd_framework/settings/sqlalchemy/migrations/0003_version_tokens.py,sha256=xgb4OTNHnDO2-dGGnh0S_8SoGJldaczdK2q3ZOCCUEw,1266
321
+ python_ddd_framework/settings/sqlalchemy/migrations/__init__.py,sha256=_pT_aZchgdrBolsOE_HJWrSteG4Ejl3VSMsrQVCV0Cs,43
322
+ python_ddd_framework/settings/sqlalchemy/models.py,sha256=qKbRHhdm0uDPUUtLgeVeFvMLqF-PvwNRXKHF_xLfFqo,1184
323
+ python_ddd_framework/settings/sqlalchemy/module.py,sha256=ToS1zPHeUFWI8WMzetf-l1i_DM2HrR76AbDdfUnZyhk,1161
324
+ python_ddd_framework/settings/sqlalchemy/store.py,sha256=42XGqtwQHsp487OsXqdQbTjESBOrOn1QRSeWTb2MYYU,3610
325
+ python_ddd_framework/settings/store.py,sha256=3tdF-0l0owUdWuNEd0K8OfbXncI38hx0pD6anU5GdmA,442
326
+ python_ddd_framework/settings/values.py,sha256=KMRZDQu2FRNXDIdJwGVgHn656Hc5qRY2WQGjbBxfhO4,898
327
+ python_ddd_framework/sqlalchemy/__init__.py,sha256=9E4ArZ8GrkDl2mTZ2mJBOKYOwBnIDaDizn5iuyPudE4,1720
328
+ python_ddd_framework/sqlalchemy/alembic_runtime/__init__.py,sha256=r-ZHMiEhca5M2xv3plW9U3fHfzt5lVQeDohEFqrTuv0,82
329
+ python_ddd_framework/sqlalchemy/alembic_runtime/env.py,sha256=-c_fMloaLIAemoPRRBhkO8Lpn7lUIdquBKBnNs5ppkA,1329
330
+ python_ddd_framework/sqlalchemy/alembic_runtime/script.py.mako,sha256=sD37hvmrRZrsFAumUCW_hi50ZSM0yCrVMsLmjSD7mlY,406
331
+ python_ddd_framework/sqlalchemy/auditing.py,sha256=Et9cgmkdOqaxpXsNUrsanA80z_dDnxSGV8xgVznyNYY,1896
332
+ python_ddd_framework/sqlalchemy/errors.py,sha256=RWojd0BXu0HwFldCqdz1qhsqtgz6pYwvErFmOR3tS9g,3126
333
+ python_ddd_framework/sqlalchemy/metadata.py,sha256=mjIC3U22HYHmxiYPuA2O6EHDNQiHlxrEyOjJPnlt14I,22739
334
+ python_ddd_framework/sqlalchemy/migration.py,sha256=Jc1KQ2uCqA_avVfZZdBF7Zfk_nZvg99sjdprRdS5n8Q,14952
335
+ python_ddd_framework/sqlalchemy/migration_options.py,sha256=4_VK8Ei1U0twC3dnpfnzUblM9x2kqhuRPgEoB9ahtQc,2082
336
+ python_ddd_framework/sqlalchemy/module.py,sha256=9OJrz51Jjq6KZAeQA4jNQiC9zscUKbgCTdDkBg0V03s,1991
337
+ python_ddd_framework/sqlalchemy/module_migration.py,sha256=Vrb0YR9q06d7KbsUBXAJmhkXEl_rchuXL3VmvN_L1Kw,6676
338
+ python_ddd_framework/sqlalchemy/options.py,sha256=FytS2WGhmm0_GyFUAEQYH_Ok5G1jdeiWM8uwEkocu6g,2252
339
+ python_ddd_framework/sqlalchemy/repository.py,sha256=QDZd20z7HSmghB_L4zmg4ZTA3VF9NgwX4oI63sNn9r4,1207
340
+ python_ddd_framework/sqlalchemy/runtime.py,sha256=ahWNK6ZQnjXalHUeCj_aAOhPX0_Cx3_eqIzu-QAtAq8,2998
341
+ python_ddd_framework/sqlalchemy/session_provider.py,sha256=EAm3pSvaFfiPAnxzz6y6vYj7rC1ZOcMrErGRNhEOLWY,1996
342
+ python_ddd_framework/sqlalchemy/unit_of_work.py,sha256=iOcq5cXMBsKsq4hV1GR0eDJWXpdMlAJKLN5aBvM4yDk,4012
343
+ python_ddd_framework/testing/__init__.py,sha256=Fn6H9z7zuZKr4V_4P-84qei3ktghG0HGyb1yydNuPDE,133
344
+ python_ddd_framework/testing/runtime.py,sha256=lJ_Yh2WsSVsdkMi3XriX5oKmz2Z0aR6P3COHue4DGw4,3728
345
+ python_ddd_framework/unit_of_work/__init__.py,sha256=xynGCoU4b7YhwlHSIAwYi4D-H_M3PdLiueBVRLb1pWI,406
346
+ python_ddd_framework/unit_of_work/contracts.py,sha256=9SEa4tv2zhrOo5q2h1eCaHKE8l4CLAjr2752ce2leiY,7216
347
+ python_ddd_framework/unit_of_work/errors.py,sha256=apyOAtdoLNsCuxsaQr5S3v5WxyqrCBAhcMiqxw_kSxk,734
348
+ python_ddd_framework/unit_of_work/manager.py,sha256=sKrRwb1MeECdgtxs0ci-SbAkl4ZGKOyM7mNXClh5nGA,8188
349
+ python_ddd_framework/unit_of_work/options.py,sha256=Xt4ddSZxb3VKfiXV1KWMa4z46FIPFzLyrVwLsM1lMlg,3110
350
+ python_ddd_framework-0.3.1.dist-info/licenses/LICENSE,sha256=2sSWLZdtk4EhG2GlwpksXzmyux-G6Qiov0D27lE_bqw,805
351
+ python_ddd_framework-0.3.1.dist-info/licenses/src/python_ddd_framework/background_jobs/pgqueuer/UPSTREAM_LICENSE.txt,sha256=0lCGUd5Pke2Up1Kqn1kRnHcwLlBz60E8xvR7WL4k_kE,1066
352
+ python_ddd_framework-0.3.1.dist-info/WHEEL,sha256=_d8F1e7SqtoW6CDj4Gi8lFC26a_7I17R7zPLCKTp4Fg,81
353
+ python_ddd_framework-0.3.1.dist-info/entry_points.txt,sha256=CMy4XBD8IKGUfHwe0YBmHmSJtjfnA3yyDHqsMZCLsc8,447
354
+ python_ddd_framework-0.3.1.dist-info/METADATA,sha256=WeApRjzaaRHROdikrevNzOGr7Kc2uH_yV1JlLRBsBA8,30933
355
+ python_ddd_framework-0.3.1.dist-info/RECORD,,
@@ -0,0 +1,4 @@
1
+ Wheel-Version: 1.0
2
+ Generator: uv 0.12.15
3
+ Root-Is-Purelib: true
4
+ Tag: py3-none-any
@@ -0,0 +1,9 @@
1
+ [console_scripts]
2
+ pddd = python_ddd_framework.cli:main
3
+
4
+ [python_ddd_framework.modules]
5
+ auditing = python_ddd_framework.auditing.sqlalchemy.module:SqlAlchemyAuditingModule
6
+ background_jobs = python_ddd_framework.background_jobs.pgqueuer.module:PgQueuerBackgroundJobsModule
7
+ identity = python_ddd_framework.identity.sqlalchemy.module:SqlAlchemyIdentityModule
8
+ settings = python_ddd_framework.settings.sqlalchemy.module:SqlAlchemyRuntimeSettingsModule
9
+
@@ -0,0 +1,7 @@
1
+ hank-repo Proprietary License
2
+
3
+ Copyright (c) 2026 hank-repo. All rights reserved.
4
+
5
+ This software and associated documentation files (the "Software") are proprietary and confidential. No license or permission is granted to use, copy, modify, merge, publish, distribute, sublicense, sell, or create derivative works from the Software except under a separate written agreement with hank-repo. Possession or public availability of a copy does not grant any additional rights.
6
+
7
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL HANK-REPO BE LIABLE FOR ANY CLAIM, DAMAGES, OR OTHER LIABILITY ARISING FROM OR IN CONNECTION WITH THE SOFTWARE.
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2024 janbjorge
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.