python-platform 0.1.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 (344) hide show
  1. python_platform/__init__.py +445 -0
  2. python_platform/application/__init__.py +6 -0
  3. python_platform/application/build_spec.py +37 -0
  4. python_platform/application/builder.py +260 -0
  5. python_platform/application/composition.py +219 -0
  6. python_platform/application/runtime.py +546 -0
  7. python_platform/application/runtime_hooks.py +327 -0
  8. python_platform/application/state.py +216 -0
  9. python_platform/application_services/__init__.py +54 -0
  10. python_platform/application_services/catalog.py +500 -0
  11. python_platform/application_services/contracts.py +188 -0
  12. python_platform/application_services/dispatcher.py +423 -0
  13. python_platform/application_services/errors.py +89 -0
  14. python_platform/application_services/execution.py +199 -0
  15. python_platform/application_services/interceptors.py +44 -0
  16. python_platform/application_services/invocation.py +427 -0
  17. python_platform/application_services/policies.py +46 -0
  18. python_platform/application_services/seeding.py +72 -0
  19. python_platform/application_services/signature.py +49 -0
  20. python_platform/application_services/validation.py +84 -0
  21. python_platform/auditing/__init__.py +12 -0
  22. python_platform/auditing/contracts.py +39 -0
  23. python_platform/auditing/control.py +48 -0
  24. python_platform/auditing/sqlalchemy/__init__.py +6 -0
  25. python_platform/auditing/sqlalchemy/migrations/0001_platform_auditing.py +45 -0
  26. python_platform/auditing/sqlalchemy/migrations/__init__.py +1 -0
  27. python_platform/auditing/sqlalchemy/models.py +31 -0
  28. python_platform/auditing/sqlalchemy/module.py +32 -0
  29. python_platform/auditing/sqlalchemy/store.py +63 -0
  30. python_platform/authorization/__init__.py +38 -0
  31. python_platform/authorization/catalog.py +63 -0
  32. python_platform/authorization/contracts.py +241 -0
  33. python_platform/authorization/definition_discovery.py +81 -0
  34. python_platform/authorization/definitions.py +43 -0
  35. python_platform/authorization/errors.py +40 -0
  36. python_platform/background_execution/__init__.py +15 -0
  37. python_platform/background_execution/application.py +41 -0
  38. python_platform/background_execution/child.py +123 -0
  39. python_platform/background_execution/contracts.py +39 -0
  40. python_platform/background_execution/lifecycle.py +22 -0
  41. python_platform/background_execution/local.py +127 -0
  42. python_platform/background_execution/locks.py +31 -0
  43. python_platform/background_execution/management.py +17 -0
  44. python_platform/background_execution/module.py +10 -0
  45. python_platform/background_execution/permissions.py +14 -0
  46. python_platform/background_execution/processes.py +331 -0
  47. python_platform/background_jobs/__init__.py +31 -0
  48. python_platform/background_jobs/catalog.py +287 -0
  49. python_platform/background_jobs/contracts.py +202 -0
  50. python_platform/background_jobs/errors.py +28 -0
  51. python_platform/background_jobs/execution.py +201 -0
  52. python_platform/background_jobs/pgqueuer/UPSTREAM_LICENSE.txt +21 -0
  53. python_platform/background_jobs/pgqueuer/__init__.py +6 -0
  54. python_platform/background_jobs/pgqueuer/enqueue.py +82 -0
  55. python_platform/background_jobs/pgqueuer/migrations/0001_pgqueuer_1_3_2.py +63 -0
  56. python_platform/background_jobs/pgqueuer/migrations/__init__.py +1 -0
  57. python_platform/background_jobs/pgqueuer/module.py +102 -0
  58. python_platform/background_jobs/pgqueuer/options.py +70 -0
  59. python_platform/background_jobs/pgqueuer/runtime.py +479 -0
  60. python_platform/background_jobs/pgqueuer/sql/pgqueuer_1_3_2_install.sql +118 -0
  61. python_platform/background_jobs/pgqueuer/supervision.py +201 -0
  62. python_platform/background_workers/__init__.py +22 -0
  63. python_platform/background_workers/catalog.py +96 -0
  64. python_platform/background_workers/contracts.py +124 -0
  65. python_platform/background_workers/errors.py +20 -0
  66. python_platform/background_workers/execution.py +133 -0
  67. python_platform/background_workers/runtime.py +203 -0
  68. python_platform/caching/__init__.py +11 -0
  69. python_platform/caching/catalog.py +73 -0
  70. python_platform/caching/contracts.py +73 -0
  71. python_platform/caching/errors.py +20 -0
  72. python_platform/cli/__init__.py +87 -0
  73. python_platform/cli/errors.py +5 -0
  74. python_platform/cli/project.py +69 -0
  75. python_platform/cli/runtime.py +68 -0
  76. python_platform/configuration/__init__.py +21 -0
  77. python_platform/configuration/composition.py +65 -0
  78. python_platform/configuration/contracts.py +68 -0
  79. python_platform/configuration/dotenv_source.py +51 -0
  80. python_platform/configuration/environment_source.py +38 -0
  81. python_platform/configuration/immutability.py +124 -0
  82. python_platform/configuration/input_shape.py +58 -0
  83. python_platform/configuration/merge.py +103 -0
  84. python_platform/configuration/root.py +215 -0
  85. python_platform/configuration/sources.py +519 -0
  86. python_platform/configuration/values.py +427 -0
  87. python_platform/configuration/yaml_source.py +51 -0
  88. python_platform/developer_kit/__init__.py +1 -0
  89. python_platform/developer_kit/generation.py +182 -0
  90. python_platform/developer_kit/project_metadata.py +45 -0
  91. python_platform/developer_kit/source.py +53 -0
  92. python_platform/developer_kit/templates/module/cookiecutter.json +1 -0
  93. python_platform/developer_kit/templates/module/{{cookiecutter.module_name}}/__init__.py.jinja +1 -0
  94. python_platform/developer_kit/templates/module/{{cookiecutter.module_name}}/application/__init__.py.jinja +1 -0
  95. python_platform/developer_kit/templates/module/{{cookiecutter.module_name}}/application/cache.py.jinja +10 -0
  96. python_platform/developer_kit/templates/module/{{cookiecutter.module_name}}/application/events.py.jinja +24 -0
  97. python_platform/developer_kit/templates/module/{{cookiecutter.module_name}}/application/integration.py.jinja +46 -0
  98. python_platform/developer_kit/templates/module/{{cookiecutter.module_name}}/application/module.py.jinja +29 -0
  99. python_platform/developer_kit/templates/module/{{cookiecutter.module_name}}/application/options.py.jinja +8 -0
  100. python_platform/developer_kit/templates/module/{{cookiecutter.module_name}}/application/orders.py.jinja +81 -0
  101. python_platform/developer_kit/templates/module/{{cookiecutter.module_name}}/application/tasks.py.jinja +86 -0
  102. python_platform/developer_kit/templates/module/{{cookiecutter.module_name}}/application_contracts/__init__.py.jinja +1 -0
  103. python_platform/developer_kit/templates/module/{{cookiecutter.module_name}}/application_contracts/module.py.jinja +10 -0
  104. python_platform/developer_kit/templates/module/{{cookiecutter.module_name}}/application_contracts/orders.py.jinja +36 -0
  105. python_platform/developer_kit/templates/module/{{cookiecutter.module_name}}/domain/__init__.py.jinja +1 -0
  106. python_platform/developer_kit/templates/module/{{cookiecutter.module_name}}/domain/module.py.jinja +10 -0
  107. python_platform/developer_kit/templates/module/{{cookiecutter.module_name}}/domain/orders.py.jinja +57 -0
  108. python_platform/developer_kit/templates/module/{{cookiecutter.module_name}}/domain/repository.py.jinja +12 -0
  109. python_platform/developer_kit/templates/module/{{cookiecutter.module_name}}/domain/seeding.py.jinja +19 -0
  110. python_platform/developer_kit/templates/module/{{cookiecutter.module_name}}/domain/settings.py.jinja +16 -0
  111. python_platform/developer_kit/templates/module/{{cookiecutter.module_name}}/domain_shared/__init__.py.jinja +1 -0
  112. python_platform/developer_kit/templates/module/{{cookiecutter.module_name}}/domain_shared/definitions.py.jinja +24 -0
  113. python_platform/developer_kit/templates/module/{{cookiecutter.module_name}}/domain_shared/module.py.jinja +7 -0
  114. python_platform/developer_kit/templates/module/{{cookiecutter.module_name}}/domain_shared/permissions.py.jinja +15 -0
  115. python_platform/developer_kit/templates/module/{{cookiecutter.module_name}}/http_api/__init__.py.jinja +1 -0
  116. python_platform/developer_kit/templates/module/{{cookiecutter.module_name}}/http_api/files.py.jinja +74 -0
  117. python_platform/developer_kit/templates/module/{{cookiecutter.module_name}}/http_api/module.py.jinja +58 -0
  118. python_platform/developer_kit/templates/module/{{cookiecutter.module_name}}/http_api/realtime.py.jinja +37 -0
  119. python_platform/developer_kit/templates/module/{{cookiecutter.module_name}}/sqlalchemy/__init__.py.jinja +1 -0
  120. python_platform/developer_kit/templates/module/{{cookiecutter.module_name}}/sqlalchemy/migrations/__init__.py.jinja +1 -0
  121. python_platform/developer_kit/templates/module/{{cookiecutter.module_name}}/sqlalchemy/models.py.jinja +26 -0
  122. python_platform/developer_kit/templates/module/{{cookiecutter.module_name}}/sqlalchemy/module.py.jinja +32 -0
  123. python_platform/developer_kit/templates/module/{{cookiecutter.module_name}}/sqlalchemy/repository.py.jinja +49 -0
  124. python_platform/developer_kit/templates/module/{{cookiecutter.module_name}}/tests/test_domain.py.jinja +18 -0
  125. python_platform/developer_kit/templates/project/cookiecutter.json +6 -0
  126. python_platform/developer_kit/templates/project/{{cookiecutter.project_name}}/.dockerignore +8 -0
  127. python_platform/developer_kit/templates/project/{{cookiecutter.project_name}}/.env.jinja +13 -0
  128. python_platform/developer_kit/templates/project/{{cookiecutter.project_name}}/.gitignore +6 -0
  129. python_platform/developer_kit/templates/project/{{cookiecutter.project_name}}/.python-version +1 -0
  130. python_platform/developer_kit/templates/project/{{cookiecutter.project_name}}/Dockerfile +22 -0
  131. python_platform/developer_kit/templates/project/{{cookiecutter.project_name}}/README.md +86 -0
  132. python_platform/developer_kit/templates/project/{{cookiecutter.project_name}}/app.yaml.jinja +16 -0
  133. python_platform/developer_kit/templates/project/{{cookiecutter.project_name}}/compose.dev.yaml.jinja +24 -0
  134. python_platform/developer_kit/templates/project/{{cookiecutter.project_name}}/compose.production.yaml.jinja +13 -0
  135. python_platform/developer_kit/templates/project/{{cookiecutter.project_name}}/pyproject.toml.jinja +28 -0
  136. python_platform/developer_kit/templates/project/{{cookiecutter.project_name}}/src/host/__init__.py.jinja +1 -0
  137. python_platform/developer_kit/templates/project/{{cookiecutter.project_name}}/src/host/main.py.jinja +52 -0
  138. python_platform/developer_kit/templates/project/{{cookiecutter.project_name}}/src/host/module.py.jinja +38 -0
  139. python_platform/developer_kit/templates/project/{{cookiecutter.project_name}}/tests/conftest.py.jinja +8 -0
  140. python_platform/developer_kit/templates/project/{{cookiecutter.project_name}}/tests/host/test_http.py.jinja +101 -0
  141. python_platform/developer_kit/wiring.py +85 -0
  142. python_platform/diagnostics/__init__.py +23 -0
  143. python_platform/diagnostics/journal.py +174 -0
  144. python_platform/diagnostics/model.py +83 -0
  145. python_platform/diagnostics/source.py +25 -0
  146. python_platform/distributed_lock/__init__.py +6 -0
  147. python_platform/distributed_lock/contracts.py +20 -0
  148. python_platform/distributed_lock/options.py +19 -0
  149. python_platform/domain/__init__.py +13 -0
  150. python_platform/domain/aggregates.py +64 -0
  151. python_platform/domain/entities.py +33 -0
  152. python_platform/domain/errors.py +12 -0
  153. python_platform/domain/value_objects.py +31 -0
  154. python_platform/errors/__init__.py +75 -0
  155. python_platform/errors/base.py +13 -0
  156. python_platform/errors/business.py +53 -0
  157. python_platform/errors/configuration.py +119 -0
  158. python_platform/errors/diagnostics.py +12 -0
  159. python_platform/errors/lifecycle.py +164 -0
  160. python_platform/errors/modularity.py +100 -0
  161. python_platform/errors/services.py +100 -0
  162. python_platform/events/__init__.py +25 -0
  163. python_platform/events/aggregate.py +39 -0
  164. python_platform/events/catalog.py +136 -0
  165. python_platform/events/contracts.py +39 -0
  166. python_platform/events/contribution.py +128 -0
  167. python_platform/events/discovery.py +105 -0
  168. python_platform/events/errors.py +48 -0
  169. python_platform/events/runtime.py +192 -0
  170. python_platform/fastapi/__init__.py +49 -0
  171. python_platform/fastapi/action.py +175 -0
  172. python_platform/fastapi/adapter.py +381 -0
  173. python_platform/fastapi/application_services.py +647 -0
  174. python_platform/fastapi/background.py +42 -0
  175. python_platform/fastapi/contracts.py +278 -0
  176. python_platform/fastapi/errors.py +32 -0
  177. python_platform/fastapi/filters.py +111 -0
  178. python_platform/fastapi/health.py +44 -0
  179. python_platform/fastapi/http.py +55 -0
  180. python_platform/fastapi/http_router.py +212 -0
  181. python_platform/fastapi/manual_action.py +105 -0
  182. python_platform/fastapi/middleware.py +93 -0
  183. python_platform/fastapi/parameters.py +97 -0
  184. python_platform/fastapi/realtime/__init__.py +13 -0
  185. python_platform/fastapi/realtime/authentication.py +181 -0
  186. python_platform/fastapi/realtime/connection.py +166 -0
  187. python_platform/fastapi/realtime/module.py +41 -0
  188. python_platform/fastapi/realtime/options.py +50 -0
  189. python_platform/fastapi/realtime/runtime.py +423 -0
  190. python_platform/fastapi/request_context.py +244 -0
  191. python_platform/fastapi/route_integrity.py +88 -0
  192. python_platform/fastapi/routing.py +410 -0
  193. python_platform/fastapi/server.py +181 -0
  194. python_platform/fastapi/settings.py +40 -0
  195. python_platform/fastapi/tracing.py +62 -0
  196. python_platform/fastapi/transfer.py +128 -0
  197. python_platform/fastapi/upload_limits.py +63 -0
  198. python_platform/fastapi/uploads.py +94 -0
  199. python_platform/hosted_services/__init__.py +29 -0
  200. python_platform/hosted_services/bridge.py +420 -0
  201. python_platform/hosted_services/catalog.py +259 -0
  202. python_platform/hosted_services/contracts.py +55 -0
  203. python_platform/hosted_services/errors.py +53 -0
  204. python_platform/hosted_services/options.py +17 -0
  205. python_platform/hosted_services/runtime.py +267 -0
  206. python_platform/hosted_services/state.py +40 -0
  207. python_platform/hosting/__init__.py +4 -0
  208. python_platform/hosting/instance.py +40 -0
  209. python_platform/identity/__init__.py +73 -0
  210. python_platform/identity/application.py +287 -0
  211. python_platform/identity/contracts.py +283 -0
  212. python_platform/identity/errors.py +28 -0
  213. python_platform/identity/http_api.py +90 -0
  214. python_platform/identity/module.py +46 -0
  215. python_platform/identity/passwords.py +34 -0
  216. python_platform/identity/permissions.py +14 -0
  217. python_platform/identity/services.py +108 -0
  218. python_platform/identity/sqlalchemy/__init__.py +5 -0
  219. python_platform/identity/sqlalchemy/migrations/0001_platform_identity.py +151 -0
  220. python_platform/identity/sqlalchemy/migrations/0002_physical_delete.py +42 -0
  221. python_platform/identity/sqlalchemy/migrations/__init__.py +1 -0
  222. python_platform/identity/sqlalchemy/models.py +85 -0
  223. python_platform/identity/sqlalchemy/module.py +62 -0
  224. python_platform/identity/sqlalchemy/stores.py +526 -0
  225. python_platform/identity/tokens.py +106 -0
  226. python_platform/invocation/__init__.py +3 -0
  227. python_platform/invocation/callables.py +171 -0
  228. python_platform/invocation/contracts.py +33 -0
  229. python_platform/invocation/entries.py +54 -0
  230. python_platform/invocation/function_runtime.py +48 -0
  231. python_platform/invocation/interception.py +184 -0
  232. python_platform/lifecycle/__init__.py +25 -0
  233. python_platform/lifecycle/composition.py +35 -0
  234. python_platform/lifecycle/context.py +31 -0
  235. python_platform/lifecycle/runtime.py +43 -0
  236. python_platform/lifecycle/state.py +20 -0
  237. python_platform/modularity/__init__.py +15 -0
  238. python_platform/modularity/contracts.py +90 -0
  239. python_platform/modularity/discovery.py +143 -0
  240. python_platform/modularity/graph.py +334 -0
  241. python_platform/modularity/registry.py +100 -0
  242. python_platform/modularity/selection.py +16 -0
  243. python_platform/notifications/__init__.py +19 -0
  244. python_platform/notifications/catalog.py +46 -0
  245. python_platform/notifications/contracts.py +107 -0
  246. python_platform/observability/__init__.py +5 -0
  247. python_platform/observability/context.py +43 -0
  248. python_platform/observability/export.py +73 -0
  249. python_platform/observability/formatting.py +89 -0
  250. python_platform/observability/logging.py +118 -0
  251. python_platform/observability/options.py +45 -0
  252. python_platform/observability/tracing.py +80 -0
  253. python_platform/options/__init__.py +19 -0
  254. python_platform/options/aliases.py +331 -0
  255. python_platform/options/contribution.py +62 -0
  256. python_platform/options/immutability.py +48 -0
  257. python_platform/options/input_keys.py +214 -0
  258. python_platform/options/issues.py +335 -0
  259. python_platform/options/models.py +114 -0
  260. python_platform/options/registry.py +280 -0
  261. python_platform/options/schema.py +488 -0
  262. python_platform/options/validation.py +120 -0
  263. python_platform/py.typed +0 -0
  264. python_platform/realtime/__init__.py +12 -0
  265. python_platform/realtime/contracts.py +28 -0
  266. python_platform/realtime/diagnostics.py +37 -0
  267. python_platform/realtime/messages.py +113 -0
  268. python_platform/redis/__init__.py +6 -0
  269. python_platform/redis/distributed_lock.py +212 -0
  270. python_platform/redis/lease_lock.py +36 -0
  271. python_platform/redis/module.py +50 -0
  272. python_platform/redis/notification_runtime.py +182 -0
  273. python_platform/redis/notifications.py +25 -0
  274. python_platform/redis/options.py +35 -0
  275. python_platform/redis/runtime.py +116 -0
  276. python_platform/services/__init__.py +39 -0
  277. python_platform/services/application_bindings.py +221 -0
  278. python_platform/services/arbitration.py +381 -0
  279. python_platform/services/binding.py +102 -0
  280. python_platform/services/contribution.py +438 -0
  281. python_platform/services/convention.py +292 -0
  282. python_platform/services/convention_contracts.py +94 -0
  283. python_platform/services/exposure.py +23 -0
  284. python_platform/services/framework_provider.py +178 -0
  285. python_platform/services/native_graph.py +172 -0
  286. python_platform/services/provider.py +204 -0
  287. python_platform/services/registration.py +101 -0
  288. python_platform/services/runtime.py +298 -0
  289. python_platform/settings/__init__.py +30 -0
  290. python_platform/settings/application.py +95 -0
  291. python_platform/settings/binding.py +33 -0
  292. python_platform/settings/catalog.py +121 -0
  293. python_platform/settings/changes.py +14 -0
  294. python_platform/settings/contracts.py +115 -0
  295. python_platform/settings/definition_discovery.py +71 -0
  296. python_platform/settings/definitions.py +41 -0
  297. python_platform/settings/errors.py +22 -0
  298. python_platform/settings/handlers.py +43 -0
  299. python_platform/settings/management.py +57 -0
  300. python_platform/settings/manager.py +89 -0
  301. python_platform/settings/module.py +7 -0
  302. python_platform/settings/notifications.py +39 -0
  303. python_platform/settings/permissions.py +14 -0
  304. python_platform/settings/provider.py +74 -0
  305. python_platform/settings/refresh.py +140 -0
  306. python_platform/settings/refresh_module.py +45 -0
  307. python_platform/settings/sqlalchemy/__init__.py +5 -0
  308. python_platform/settings/sqlalchemy/migrations/0001_platform_settings.py +31 -0
  309. python_platform/settings/sqlalchemy/migrations/0002_physical_delete.py +32 -0
  310. python_platform/settings/sqlalchemy/migrations/0003_version_tokens.py +39 -0
  311. python_platform/settings/sqlalchemy/migrations/__init__.py +1 -0
  312. python_platform/settings/sqlalchemy/models.py +36 -0
  313. python_platform/settings/sqlalchemy/module.py +36 -0
  314. python_platform/settings/sqlalchemy/store.py +86 -0
  315. python_platform/settings/store.py +16 -0
  316. python_platform/settings/values.py +39 -0
  317. python_platform/sqlalchemy/__init__.py +51 -0
  318. python_platform/sqlalchemy/alembic_runtime/__init__.py +1 -0
  319. python_platform/sqlalchemy/alembic_runtime/env.py +27 -0
  320. python_platform/sqlalchemy/alembic_runtime/script.py.mako +14 -0
  321. python_platform/sqlalchemy/auditing.py +48 -0
  322. python_platform/sqlalchemy/errors.py +85 -0
  323. python_platform/sqlalchemy/metadata.py +538 -0
  324. python_platform/sqlalchemy/migration.py +346 -0
  325. python_platform/sqlalchemy/module.py +48 -0
  326. python_platform/sqlalchemy/module_migration.py +148 -0
  327. python_platform/sqlalchemy/options.py +66 -0
  328. python_platform/sqlalchemy/repository.py +33 -0
  329. python_platform/sqlalchemy/runtime.py +85 -0
  330. python_platform/sqlalchemy/session_provider.py +45 -0
  331. python_platform/sqlalchemy/unit_of_work.py +97 -0
  332. python_platform/testing/__init__.py +5 -0
  333. python_platform/testing/runtime.py +112 -0
  334. python_platform/unit_of_work/__init__.py +14 -0
  335. python_platform/unit_of_work/contracts.py +223 -0
  336. python_platform/unit_of_work/errors.py +27 -0
  337. python_platform/unit_of_work/manager.py +210 -0
  338. python_platform/unit_of_work/options.py +92 -0
  339. python_platform-0.1.1.dist-info/METADATA +122 -0
  340. python_platform-0.1.1.dist-info/RECORD +344 -0
  341. python_platform-0.1.1.dist-info/WHEEL +4 -0
  342. python_platform-0.1.1.dist-info/entry_points.txt +9 -0
  343. python_platform-0.1.1.dist-info/licenses/LICENSE +7 -0
  344. python_platform-0.1.1.dist-info/licenses/src/python_platform/background_jobs/pgqueuer/UPSTREAM_LICENSE.txt +21 -0
@@ -0,0 +1,445 @@
1
+ from .application import Application, ApplicationBuilder
2
+ from .application_services import (
3
+ ApplicationInvocationCleanupError,
4
+ ApplicationInvocationContext,
5
+ ApplicationInvocationRejectedError,
6
+ ApplicationService,
7
+ ApplicationServiceCatalog,
8
+ ApplicationServiceContract,
9
+ ApplicationServiceDefinitionError,
10
+ ApplicationServiceMethod,
11
+ ApplicationServiceMethodError,
12
+ ApplicationServiceRegistration,
13
+ ApplicationServiceValidationError,
14
+ ApplicationServiceValidationIssue,
15
+ CrossTaskInvocationError,
16
+ DataSeedContributor,
17
+ DataSeeder,
18
+ DataSeedError,
19
+ IntegrationService,
20
+ InterceptionStage,
21
+ Interceptor,
22
+ InterceptorRegistration,
23
+ MethodInvocation,
24
+ NestedConnectionError,
25
+ application_service,
26
+ disable_validation,
27
+ enable_validation,
28
+ )
29
+ from .authorization import (
30
+ AccessTokenAuthenticator,
31
+ AuthorizationDefinitionError,
32
+ CurrentUser,
33
+ PermissionCatalog,
34
+ PermissionChecker,
35
+ PermissionCheckerUnavailableError,
36
+ PermissionDefinition,
37
+ PermissionDefinitionContext,
38
+ PermissionDefinitionError,
39
+ PermissionDefinitionProvider,
40
+ PermissionDeniedError,
41
+ PermissionName,
42
+ RolePermissionVersion,
43
+ UnauthenticatedError,
44
+ allow_anonymous,
45
+ authorize,
46
+ )
47
+ from .background_execution import (
48
+ BackgroundExecutionMode,
49
+ BackgroundTaskOptions,
50
+ BackgroundTaskSnapshot,
51
+ BackgroundTaskState,
52
+ )
53
+ from .background_jobs import (
54
+ BackgroundJobCatalog,
55
+ BackgroundJobContext,
56
+ BackgroundJobDefinition,
57
+ BackgroundJobDefinitionError,
58
+ BackgroundJobEnqueuer,
59
+ BackgroundJobExecutionError,
60
+ BackgroundJobHandler,
61
+ BackgroundJobPayloadError,
62
+ BackgroundJobRetryPolicy,
63
+ BackgroundJobSchedule,
64
+ BackgroundSystemCaller,
65
+ )
66
+ from .background_workers import (
67
+ BackgroundExecutionOptions,
68
+ BackgroundExecutionProfile,
69
+ BackgroundWorker,
70
+ BackgroundWorkerCatalog,
71
+ BackgroundWorkerContext,
72
+ BackgroundWorkerDefinition,
73
+ BackgroundWorkerDefinitionError,
74
+ BackgroundWorkerRuntimeError,
75
+ )
76
+ from .caching import (
77
+ CacheCatalog,
78
+ CacheDefinition,
79
+ CacheDefinitionError,
80
+ DistributedCache,
81
+ DistributedCacheError,
82
+ )
83
+ from .configuration import (
84
+ ConfigurationContribution,
85
+ ConfigurationProvenance,
86
+ ConfigurationRoot,
87
+ ConfigurationSource,
88
+ ConfigurationSourceDiagnostic,
89
+ ConfigurationSourceStatus,
90
+ ConfigurationValueDiagnostic,
91
+ )
92
+ from .diagnostics import (
93
+ DiagnosticMessage,
94
+ DiagnosticSnapshot,
95
+ EventStatus,
96
+ FailureRecord,
97
+ LifecyclePhase,
98
+ LifecycleStage,
99
+ PhaseEvent,
100
+ SourceLocation,
101
+ )
102
+ from .distributed_lock import DistributedLock, DistributedLockError, DistributedLockOptions
103
+ from .domain import AggregateRoot, Entity, OptimisticConcurrencyError, ValueObject
104
+ from .errors import (
105
+ ApplicationRuntimeError,
106
+ ApplicationStartError,
107
+ CatalogNativeGraphMismatchError,
108
+ CompositionResourceError,
109
+ ConfigurationSourceError,
110
+ ContainerCleanupError,
111
+ ContainerValidationError,
112
+ ConventionScanError,
113
+ DuplicateModuleIdentityError,
114
+ DuplicateOptionDefinitionError,
115
+ FrameworkError,
116
+ GraphInvariantError,
117
+ InvalidApplicationStateError,
118
+ InvalidConventionDefinitionError,
119
+ InvalidDiagnosticCodeError,
120
+ InvalidModuleReferenceError,
121
+ InvalidOptionDefinitionError,
122
+ LifecycleInvocationError,
123
+ LifecycleReturnValueError,
124
+ ModuleCycleError,
125
+ ModuleInstantiationError,
126
+ ModuleResolutionError,
127
+ OptionsContributionClosedError,
128
+ OptionsValidationError,
129
+ RegistrationConflictError,
130
+ ResourceConflictError,
131
+ ResourceNotFoundError,
132
+ ServiceContributorClosedError,
133
+ UnknownModuleError,
134
+ UnknownOptionsError,
135
+ )
136
+ from .events import (
137
+ AggregateEventCollector,
138
+ EventContributionError,
139
+ EventContributor,
140
+ EventCycleError,
141
+ LocalEventBus,
142
+ LocalEventCatalog,
143
+ LocalEventHandlerError,
144
+ LocalEventPhase,
145
+ LocalEventSubscription,
146
+ PostCommitEventError,
147
+ local_event_handler,
148
+ )
149
+ from .hosted_services import (
150
+ ApplicationReadinessSnapshot,
151
+ HostedService,
152
+ HostedServiceCatalog,
153
+ HostedServiceContext,
154
+ HostedServiceContractError,
155
+ HostedServiceDefinitionError,
156
+ HostedServiceInvocationRejectedError,
157
+ HostedServiceLifecycleError,
158
+ HostedServiceOptions,
159
+ HostedServiceRegistration,
160
+ HostedServiceSnapshot,
161
+ HostedServiceStatus,
162
+ )
163
+ from .lifecycle import (
164
+ ApplicationState,
165
+ ApplicationView,
166
+ ConfigureContext,
167
+ InitializeContext,
168
+ LifecycleContext,
169
+ PostConfigureContext,
170
+ PostInitializeContext,
171
+ PreConfigureContext,
172
+ PreInitializeContext,
173
+ ShutdownContext,
174
+ ShutdownReason,
175
+ )
176
+ from .modularity import (
177
+ AppModule,
178
+ ModuleDependency,
179
+ ModuleDependencyEdge,
180
+ ModuleDescriptor,
181
+ ModuleGraphSnapshot,
182
+ ModuleKey,
183
+ ModuleRef,
184
+ ModuleRegistry,
185
+ )
186
+ from .options import (
187
+ BaseOptions,
188
+ Options,
189
+ OptionsContribution,
190
+ OptionsSnapshot,
191
+ OptionsValidationIssue,
192
+ PreOptionsSnapshot,
193
+ )
194
+ from .realtime import (
195
+ RealtimeDeliveryReport,
196
+ RealtimeEnvelope,
197
+ RealtimePublisher,
198
+ RealtimeSnapshot,
199
+ )
200
+ from .services import (
201
+ ConventionalService,
202
+ ConventionCandidate,
203
+ ConventionCandidateDecision,
204
+ ConventionDiscoveryKind,
205
+ ProviderContribution,
206
+ ProviderContributionView,
207
+ RegistrationDecision,
208
+ RegistrationKind,
209
+ ScopedDependency,
210
+ ServiceCatalog,
211
+ ServiceContributor,
212
+ ServiceRegistration,
213
+ SingletonDependency,
214
+ TransientDependency,
215
+ service,
216
+ )
217
+ from .settings import (
218
+ RuntimeSettingError,
219
+ RuntimeSettingStore,
220
+ SettingCatalog,
221
+ SettingDefinition,
222
+ SettingDefinitionContext,
223
+ SettingDefinitionError,
224
+ SettingDefinitionProvider,
225
+ SettingManager,
226
+ SettingProvider,
227
+ )
228
+ from .unit_of_work import (
229
+ UnitOfWork,
230
+ UnitOfWorkManager,
231
+ UnitOfWorkOptions,
232
+ UnitOfWorkState,
233
+ UnitOfWorkStateError,
234
+ UnitOfWorkTransactionBehavior,
235
+ unit_of_work,
236
+ )
237
+
238
+ __all__ = (
239
+ "AccessTokenAuthenticator",
240
+ "AggregateEventCollector",
241
+ "AggregateRoot",
242
+ "AppModule",
243
+ "Application",
244
+ "ApplicationBuilder",
245
+ "ApplicationInvocationCleanupError",
246
+ "ApplicationInvocationContext",
247
+ "ApplicationInvocationRejectedError",
248
+ "ApplicationReadinessSnapshot",
249
+ "ApplicationRuntimeError",
250
+ "ApplicationService",
251
+ "ApplicationServiceCatalog",
252
+ "ApplicationServiceContract",
253
+ "ApplicationServiceDefinitionError",
254
+ "ApplicationServiceMethod",
255
+ "ApplicationServiceMethodError",
256
+ "ApplicationServiceRegistration",
257
+ "ApplicationServiceValidationError",
258
+ "ApplicationServiceValidationIssue",
259
+ "ApplicationStartError",
260
+ "ApplicationState",
261
+ "ApplicationView",
262
+ "AuthorizationDefinitionError",
263
+ "BackgroundExecutionMode",
264
+ "BackgroundExecutionOptions",
265
+ "BackgroundExecutionProfile",
266
+ "BackgroundJobCatalog",
267
+ "BackgroundJobContext",
268
+ "BackgroundJobDefinition",
269
+ "BackgroundJobDefinitionError",
270
+ "BackgroundJobEnqueuer",
271
+ "BackgroundJobExecutionError",
272
+ "BackgroundJobHandler",
273
+ "BackgroundJobPayloadError",
274
+ "BackgroundJobRetryPolicy",
275
+ "BackgroundJobSchedule",
276
+ "BackgroundSystemCaller",
277
+ "BackgroundTaskOptions",
278
+ "BackgroundTaskSnapshot",
279
+ "BackgroundTaskState",
280
+ "BackgroundWorker",
281
+ "BackgroundWorkerCatalog",
282
+ "BackgroundWorkerContext",
283
+ "BackgroundWorkerDefinition",
284
+ "BackgroundWorkerDefinitionError",
285
+ "BackgroundWorkerRuntimeError",
286
+ "BaseOptions",
287
+ "CacheCatalog",
288
+ "CacheDefinition",
289
+ "CacheDefinitionError",
290
+ "CatalogNativeGraphMismatchError",
291
+ "CompositionResourceError",
292
+ "ConfigurationContribution",
293
+ "ConfigurationProvenance",
294
+ "ConfigurationRoot",
295
+ "ConfigurationSource",
296
+ "ConfigurationSourceDiagnostic",
297
+ "ConfigurationSourceError",
298
+ "ConfigurationSourceStatus",
299
+ "ConfigurationValueDiagnostic",
300
+ "ConfigureContext",
301
+ "ContainerCleanupError",
302
+ "ContainerValidationError",
303
+ "ConventionCandidate",
304
+ "ConventionCandidateDecision",
305
+ "ConventionDiscoveryKind",
306
+ "ConventionScanError",
307
+ "ConventionalService",
308
+ "CrossTaskInvocationError",
309
+ "CurrentUser",
310
+ "DataSeedContributor",
311
+ "DataSeedError",
312
+ "DataSeeder",
313
+ "DiagnosticMessage",
314
+ "DiagnosticSnapshot",
315
+ "DistributedCache",
316
+ "DistributedCacheError",
317
+ "DistributedLock",
318
+ "DistributedLockError",
319
+ "DistributedLockOptions",
320
+ "DuplicateModuleIdentityError",
321
+ "DuplicateOptionDefinitionError",
322
+ "Entity",
323
+ "EventContributionError",
324
+ "EventContributor",
325
+ "EventCycleError",
326
+ "EventStatus",
327
+ "FailureRecord",
328
+ "FrameworkError",
329
+ "GraphInvariantError",
330
+ "HostedService",
331
+ "HostedServiceCatalog",
332
+ "HostedServiceContext",
333
+ "HostedServiceContractError",
334
+ "HostedServiceDefinitionError",
335
+ "HostedServiceInvocationRejectedError",
336
+ "HostedServiceLifecycleError",
337
+ "HostedServiceOptions",
338
+ "HostedServiceRegistration",
339
+ "HostedServiceSnapshot",
340
+ "HostedServiceStatus",
341
+ "InitializeContext",
342
+ "IntegrationService",
343
+ "InterceptionStage",
344
+ "Interceptor",
345
+ "InterceptorRegistration",
346
+ "InvalidApplicationStateError",
347
+ "InvalidConventionDefinitionError",
348
+ "InvalidDiagnosticCodeError",
349
+ "InvalidModuleReferenceError",
350
+ "InvalidOptionDefinitionError",
351
+ "LifecycleContext",
352
+ "LifecycleInvocationError",
353
+ "LifecyclePhase",
354
+ "LifecycleReturnValueError",
355
+ "LifecycleStage",
356
+ "LocalEventBus",
357
+ "LocalEventCatalog",
358
+ "LocalEventHandlerError",
359
+ "LocalEventPhase",
360
+ "LocalEventSubscription",
361
+ "MethodInvocation",
362
+ "ModuleCycleError",
363
+ "ModuleDependency",
364
+ "ModuleDependencyEdge",
365
+ "ModuleDescriptor",
366
+ "ModuleGraphSnapshot",
367
+ "ModuleInstantiationError",
368
+ "ModuleKey",
369
+ "ModuleRef",
370
+ "ModuleRegistry",
371
+ "ModuleResolutionError",
372
+ "NestedConnectionError",
373
+ "OptimisticConcurrencyError",
374
+ "Options",
375
+ "OptionsContribution",
376
+ "OptionsContributionClosedError",
377
+ "OptionsSnapshot",
378
+ "OptionsValidationError",
379
+ "OptionsValidationIssue",
380
+ "PermissionCatalog",
381
+ "PermissionChecker",
382
+ "PermissionCheckerUnavailableError",
383
+ "PermissionDefinition",
384
+ "PermissionDefinitionContext",
385
+ "PermissionDefinitionError",
386
+ "PermissionDefinitionProvider",
387
+ "PermissionDeniedError",
388
+ "PermissionName",
389
+ "PhaseEvent",
390
+ "PostCommitEventError",
391
+ "PostConfigureContext",
392
+ "PostInitializeContext",
393
+ "PreConfigureContext",
394
+ "PreInitializeContext",
395
+ "PreOptionsSnapshot",
396
+ "ProviderContribution",
397
+ "ProviderContributionView",
398
+ "RealtimeDeliveryReport",
399
+ "RealtimeEnvelope",
400
+ "RealtimePublisher",
401
+ "RealtimeSnapshot",
402
+ "RegistrationConflictError",
403
+ "RegistrationDecision",
404
+ "RegistrationKind",
405
+ "ResourceConflictError",
406
+ "ResourceNotFoundError",
407
+ "RolePermissionVersion",
408
+ "RuntimeSettingError",
409
+ "RuntimeSettingStore",
410
+ "ScopedDependency",
411
+ "ServiceCatalog",
412
+ "ServiceContributor",
413
+ "ServiceContributorClosedError",
414
+ "ServiceRegistration",
415
+ "SettingCatalog",
416
+ "SettingDefinition",
417
+ "SettingDefinitionContext",
418
+ "SettingDefinitionError",
419
+ "SettingDefinitionProvider",
420
+ "SettingManager",
421
+ "SettingProvider",
422
+ "ShutdownContext",
423
+ "ShutdownReason",
424
+ "SingletonDependency",
425
+ "SourceLocation",
426
+ "TransientDependency",
427
+ "UnauthenticatedError",
428
+ "UnitOfWork",
429
+ "UnitOfWorkManager",
430
+ "UnitOfWorkOptions",
431
+ "UnitOfWorkState",
432
+ "UnitOfWorkStateError",
433
+ "UnitOfWorkTransactionBehavior",
434
+ "UnknownModuleError",
435
+ "UnknownOptionsError",
436
+ "ValueObject",
437
+ "allow_anonymous",
438
+ "application_service",
439
+ "authorize",
440
+ "disable_validation",
441
+ "enable_validation",
442
+ "local_event_handler",
443
+ "service",
444
+ "unit_of_work",
445
+ )
@@ -0,0 +1,6 @@
1
+ """Application composition root and public runtime owner."""
2
+
3
+ from .builder import ApplicationBuilder
4
+ from .runtime import Application
5
+
6
+ __all__ = ("Application", "ApplicationBuilder")
@@ -0,0 +1,37 @@
1
+ """spawn 传递的构建输入;不持有 Application、容器或 provider 实例。"""
2
+
3
+ from __future__ import annotations
4
+
5
+ from dataclasses import dataclass
6
+ from pathlib import Path
7
+ from typing import TYPE_CHECKING
8
+
9
+ from ..modularity import AppModule, ModuleRef
10
+
11
+ if TYPE_CHECKING:
12
+ from .runtime import Application
13
+
14
+
15
+ @dataclass(frozen=True)
16
+ class _ApplicationBuildSpec:
17
+ startup_module: type[AppModule] | ModuleRef
18
+ environment: str
19
+ base_path: Path
20
+ env_prefix: str
21
+ cli_args: tuple[str, ...]
22
+ dotenv_path: Path | None
23
+ explicit_overrides: dict[str, object]
24
+ project: Path
25
+
26
+ def build(self) -> Application:
27
+ from .builder import ApplicationBuilder
28
+
29
+ return ApplicationBuilder(
30
+ self.startup_module,
31
+ environment=self.environment,
32
+ base_path=self.base_path,
33
+ env_prefix=self.env_prefix,
34
+ cli_args=self.cli_args,
35
+ dotenv_path=self.dotenv_path,
36
+ explicit_overrides=self.explicit_overrides,
37
+ ).build()