python-ddd-framework 0.7.1__tar.gz → 0.7.2__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/PKG-INFO +7 -1
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/README.md +6 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/pyproject.toml +1 -1
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/pyproject.toml.orig +1 -1
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/fastapi/filters.py +9 -1
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/fastapi/parameters.py +2 -1
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/invocation/callables.py +31 -19
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/invocation/dispatcher.py +2 -1
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/invocation/execution.py +14 -3
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/invocation/interception.py +11 -2
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/invocation/managed_services.py +28 -11
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/invocation/methods.py +63 -12
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/LICENSE +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/__init__.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/application/__init__.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/application/build_spec.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/application/builder.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/application/composition.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/application/runtime.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/application/runtime_hooks.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/application/state.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/application_services/__init__.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/application_services/bindings.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/application_services/catalog.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/application_services/contracts.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/application_services/dispatcher.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/application_services/errors.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/application_services/invocation.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/application_services/module.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/application_services/pagination.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/auditing/__init__.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/auditing/contracts.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/auditing/control.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/auditing/module.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/auditing/sqlalchemy/__init__.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/auditing/sqlalchemy/migrations/0001_auditing.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/auditing/sqlalchemy/migrations/__init__.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/auditing/sqlalchemy/models.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/auditing/sqlalchemy/module.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/auditing/sqlalchemy/store.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/authorization/__init__.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/authorization/catalog.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/authorization/checking.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/authorization/contracts.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/authorization/definition_discovery.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/authorization/definitions.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/authorization/errors.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/authorization/module.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/authorization/options.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/background_execution/__init__.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/background_execution/application.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/background_execution/child.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/background_execution/contracts.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/background_execution/declarations.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/background_execution/lifecycle.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/background_execution/local.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/background_execution/locks.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/background_execution/management.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/background_execution/module.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/background_execution/permissions.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/background_execution/processes.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/background_jobs/__init__.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/background_jobs/catalog.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/background_jobs/contracts.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/background_jobs/declaration.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/background_jobs/errors.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/background_jobs/execution.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/background_jobs/pgqueuer/UPSTREAM_LICENSE.txt +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/background_jobs/pgqueuer/__init__.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/background_jobs/pgqueuer/enqueue.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/background_jobs/pgqueuer/migrations/0001_pgqueuer_1_3_2.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/background_jobs/pgqueuer/migrations/__init__.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/background_jobs/pgqueuer/module.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/background_jobs/pgqueuer/options.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/background_jobs/pgqueuer/runtime.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/background_jobs/pgqueuer/sql/pgqueuer_1_3_2_install.sql +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/background_jobs/pgqueuer/supervision.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/background_workers/__init__.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/background_workers/catalog.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/background_workers/contracts.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/background_workers/errors.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/background_workers/execution.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/background_workers/runtime.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/caching/__init__.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/caching/contracts.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/caching/errors.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/caching/module.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/caching/naming.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/caching/options.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/caching/unit_of_work.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/cli/__init__.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/cli/development.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/cli/errors.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/cli/inspection.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/cli/project.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/cli/runtime.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/configuration/__init__.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/configuration/composition.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/configuration/contracts.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/configuration/dotenv_source.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/configuration/environment_source.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/configuration/immutability.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/configuration/input_shape.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/configuration/merge.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/configuration/root.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/configuration/sources.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/configuration/values.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/configuration/yaml_source.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/developer_kit/__init__.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/developer_kit/generation.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/developer_kit/project_metadata.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/developer_kit/publication.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/developer_kit/source.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/developer_kit/templates/basic/cookiecutter.json +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/developer_kit/templates/basic/{{cookiecutter.module_name}}/README.md +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/developer_kit/templates/basic/{{cookiecutter.module_name}}/__init__.py.jinja +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/developer_kit/templates/basic/{{cookiecutter.module_name}}/contracts/__init__.py.jinja +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/developer_kit/templates/basic/{{cookiecutter.module_name}}/contracts/conversion_service.py.jinja +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/developer_kit/templates/basic/{{cookiecutter.module_name}}/module.py.jinja +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/developer_kit/templates/basic/{{cookiecutter.module_name}}/services/__init__.py.jinja +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/developer_kit/templates/basic/{{cookiecutter.module_name}}/services/default_conversion_service.py.jinja +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/developer_kit/templates/module/cookiecutter.json +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/README.md +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/__init__.py.jinja +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/application/__init__.py.jinja +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/application/background_jobs/__init__.py.jinja +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/application/background_workers/__init__.py.jinja +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/application/caching/__init__.py.jinja +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/application/event_handlers/__init__.py.jinja +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/application/hosted_services/__init__.py.jinja +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/application/integration_services/__init__.py.jinja +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/application/interceptors/__init__.py.jinja +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/application/module.py.jinja +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/application/options/__init__.py.jinja +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/application/services/__init__.py.jinja +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/application/setting_handlers/__init__.py.jinja +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/application_contracts/__init__.py.jinja +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/application_contracts/inputs/__init__.py.jinja +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/application_contracts/integration_services/__init__.py.jinja +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/application_contracts/module.py.jinja +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/application_contracts/services/__init__.py.jinja +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/application_contracts/views/__init__.py.jinja +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/domain/__init__.py.jinja +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/domain/entities/__init__.py.jinja +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/domain/events/__init__.py.jinja +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/domain/module.py.jinja +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/domain/repositories/__init__.py.jinja +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/domain/seeding/__init__.py.jinja +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/domain/services/__init__.py.jinja +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/domain/settings/__init__.py.jinja +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/domain/value_objects/__init__.py.jinja +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/domain_shared/__init__.py.jinja +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/domain_shared/constants/__init__.py.jinja +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/domain_shared/enums/__init__.py.jinja +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/domain_shared/errors/__init__.py.jinja +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/domain_shared/messages/__init__.py.jinja +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/domain_shared/module.py.jinja +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/domain_shared/permissions/__init__.py.jinja +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/domain_shared/value_objects/__init__.py.jinja +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/http_api/__init__.py.jinja +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/http_api/filters/__init__.py.jinja +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/http_api/models/__init__.py.jinja +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/http_api/module.py.jinja +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/http_api/routers/__init__.py.jinja +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/http_api/websockets/__init__.py.jinja +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/sqlalchemy/__init__.py.jinja +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/sqlalchemy/migrations/__init__.py.jinja +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/sqlalchemy/models/__init__.py.jinja +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/sqlalchemy/models/base.py.jinja +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/sqlalchemy/module.py.jinja +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/sqlalchemy/repositories/__init__.py.jinja +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/developer_kit/templates/module/{{cookiecutter.module_name}}/tests/__init__.py.jinja +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/developer_kit/templates/project/cookiecutter.json +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/developer_kit/templates/project/{{cookiecutter.project_name}}/AGENTS.md +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/developer_kit/templates/project/{{cookiecutter.project_name}}/README.md +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/developer_kit/templates/project/{{cookiecutter.project_name}}/backend/.dockerignore +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/developer_kit/templates/project/{{cookiecutter.project_name}}/backend/.gitignore +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/developer_kit/templates/project/{{cookiecutter.project_name}}/backend/.python-version +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/developer_kit/templates/project/{{cookiecutter.project_name}}/backend/Dockerfile +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/developer_kit/templates/project/{{cookiecutter.project_name}}/backend/app.development.yaml.jinja +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/developer_kit/templates/project/{{cookiecutter.project_name}}/backend/compose.dev.yaml.jinja +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/developer_kit/templates/project/{{cookiecutter.project_name}}/backend/compose.production.yaml.jinja +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/developer_kit/templates/project/{{cookiecutter.project_name}}/backend/pyproject.toml.jinja +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/developer_kit/templates/project/{{cookiecutter.project_name}}/backend/src/host/__init__.py.jinja +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/developer_kit/templates/project/{{cookiecutter.project_name}}/backend/src/host/main.py.jinja +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/developer_kit/templates/project/{{cookiecutter.project_name}}/backend/src/host/module.py.jinja +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/developer_kit/templates/project/{{cookiecutter.project_name}}/backend/tests/conftest.py.jinja +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/developer_kit/templates/project/{{cookiecutter.project_name}}/backend/tests/host/test_http.py.jinja +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/developer_kit/templates/project/{{cookiecutter.project_name}}/docs/architecture.md +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/developer_kit/templates/project/{{cookiecutter.project_name}}/docs/development.md +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/developer_kit/templates/project/{{cookiecutter.project_name}}/scripts/.gitkeep +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/developer_kit/wiring.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/diagnostics/__init__.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/diagnostics/journal.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/diagnostics/model.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/diagnostics/source.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/distributed_lock/__init__.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/distributed_lock/contracts.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/distributed_lock/options.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/domain/__init__.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/domain/aggregates.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/domain/entities.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/domain/errors.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/domain/event_values.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/domain/services.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/domain/value_objects.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/errors/__init__.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/errors/base.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/errors/business.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/errors/configuration.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/errors/diagnostics.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/errors/lifecycle.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/errors/modularity.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/errors/services.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/events/__init__.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/events/aggregate.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/events/catalog.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/events/contracts.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/events/contribution.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/events/discovery.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/events/entities.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/events/errors.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/events/module.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/events/runtime.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/events/subscription.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/events/unit_of_work.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/extensions/__init__.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/extensions/catalog.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/extensions/contracts.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/extensions/models.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/extensions/module.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/fastapi/__init__.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/fastapi/access.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/fastapi/access_options.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/fastapi/action.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/fastapi/adapter.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/fastapi/application_services.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/fastapi/background.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/fastapi/contracts.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/fastapi/error_handlers.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/fastapi/errors.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/fastapi/health.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/fastapi/http.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/fastapi/http_router.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/fastapi/manual_action.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/fastapi/middleware.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/fastapi/module.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/fastapi/realtime/__init__.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/fastapi/realtime/authentication.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/fastapi/realtime/connection.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/fastapi/realtime/module.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/fastapi/realtime/options.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/fastapi/realtime/runtime.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/fastapi/request_context.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/fastapi/route_integrity.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/fastapi/routing.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/fastapi/server.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/fastapi/service_endpoints.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/fastapi/service_routes.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/fastapi/settings.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/fastapi/streaming.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/fastapi/tracing.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/fastapi/transfer.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/fastapi/upload_limits.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/fastapi/uploads.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/hosted_services/__init__.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/hosted_services/bridge.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/hosted_services/catalog.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/hosted_services/contracts.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/hosted_services/declarations.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/hosted_services/errors.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/hosted_services/module.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/hosted_services/options.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/hosted_services/runtime.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/hosted_services/state.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/hosting/__init__.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/hosting/instance.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/identity/__init__.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/identity/application.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/identity/contracts.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/identity/domain_rules.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/identity/dtos.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/identity/errors.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/identity/extensions.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/identity/http_api.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/identity/management.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/identity/models.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/identity/module.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/identity/options.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/identity/passwords.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/identity/permissions.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/identity/seeding.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/identity/services.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/identity/sqlalchemy/__init__.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/identity/sqlalchemy/migrations/0001_identity.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/identity/sqlalchemy/migrations/0002_physical_delete.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/identity/sqlalchemy/migrations/0003_extra_properties.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/identity/sqlalchemy/migrations/0004_concurrency_version.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/identity/sqlalchemy/migrations/__init__.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/identity/sqlalchemy/models.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/identity/sqlalchemy/module.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/identity/sqlalchemy/repository.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/identity/sqlalchemy/session_security.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/identity/sqlalchemy/stores.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/identity/stores.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/identity/tokens.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/invocation/__init__.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/invocation/arguments.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/invocation/contracts.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/invocation/contribution.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/invocation/entries.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/invocation/entrypoints.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/invocation/function_runtime.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/invocation/interceptors.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/invocation/managed_proxy.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/invocation/module.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/invocation/policies.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/invocation/runtime.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/invocation/scopes.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/invocation/signature.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/invocation/validation.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/lifecycle/__init__.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/lifecycle/composition.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/lifecycle/context.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/lifecycle/participants.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/lifecycle/runtime.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/lifecycle/state.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/messaging/__init__.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/messaging/channel.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/messaging/contracts.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/messaging/module.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/messaging/options.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/messaging/receipt.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/messaging/runtime.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/modularity/__init__.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/modularity/contracts.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/modularity/discovery.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/modularity/graph.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/modularity/registry.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/modularity/selection.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/notifications/__init__.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/notifications/catalog.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/notifications/contracts.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/notifications/declarations.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/notifications/module.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/observability/__init__.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/observability/context.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/observability/export.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/observability/formatting.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/observability/logging.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/observability/options.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/observability/tracing.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/options/__init__.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/options/aliases.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/options/contribution.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/options/immutability.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/options/input_keys.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/options/issues.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/options/models.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/options/registry.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/options/schema.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/options/validation.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/py.typed +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/realtime/__init__.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/realtime/contracts.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/realtime/diagnostics.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/realtime/messages.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/redis/__init__.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/redis/cache.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/redis/cache_scripts.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/redis/distributed_lock.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/redis/lease_lock.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/redis/module.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/redis/notification_runtime.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/redis/notifications.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/redis/options.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/redis/runtime.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/seeding/__init__.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/seeding/contracts.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/seeding/module.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/seeding/runtime.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/services/__init__.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/services/arbitration.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/services/binding.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/services/composition.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/services/contribution.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/services/convention.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/services/convention_contracts.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/services/exposure.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/services/fixed_lifetime.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/services/framework_provider.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/services/native_graph.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/services/provider.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/services/registration.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/services/relocation.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/services/repository.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/services/runtime.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/settings/__init__.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/settings/application.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/settings/binding.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/settings/catalog.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/settings/changes.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/settings/contracts.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/settings/declarations.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/settings/definition_discovery.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/settings/definitions.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/settings/errors.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/settings/handlers.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/settings/management.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/settings/manager.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/settings/module.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/settings/notifications.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/settings/permissions.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/settings/provider.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/settings/refresh.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/settings/refresh_module.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/settings/sqlalchemy/__init__.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/settings/sqlalchemy/migrations/0001_settings.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/settings/sqlalchemy/migrations/0002_physical_delete.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/settings/sqlalchemy/migrations/0003_version_tokens.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/settings/sqlalchemy/migrations/__init__.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/settings/sqlalchemy/models.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/settings/sqlalchemy/module.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/settings/sqlalchemy/store.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/settings/store.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/settings/values.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/sqlalchemy/__init__.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/sqlalchemy/alembic_runtime/__init__.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/sqlalchemy/alembic_runtime/env.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/sqlalchemy/alembic_runtime/script.py.mako +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/sqlalchemy/auditing.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/sqlalchemy/errors.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/sqlalchemy/extensions.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/sqlalchemy/metadata.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/sqlalchemy/metadata_builder.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/sqlalchemy/metadata_fingerprint.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/sqlalchemy/metadata_ownership.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/sqlalchemy/migration.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/sqlalchemy/migration_operations.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/sqlalchemy/migration_options.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/sqlalchemy/migration_sources.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/sqlalchemy/module.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/sqlalchemy/module_migration.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/sqlalchemy/options.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/sqlalchemy/repository.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/sqlalchemy/runtime.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/sqlalchemy/session_provider.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/sqlalchemy/unit_of_work.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/testing/__init__.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/testing/runtime.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/unit_of_work/__init__.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/unit_of_work/contracts.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/unit_of_work/errors.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/unit_of_work/lifecycle.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/unit_of_work/manager.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/unit_of_work/module.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/unit_of_work/options.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/validation/__init__.py +0 -0
- {python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/validation/models.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: python-ddd-framework
|
|
3
|
-
Version: 0.7.
|
|
3
|
+
Version: 0.7.2
|
|
4
4
|
Summary: Modular DDD application framework with project CLI and bundled templates
|
|
5
5
|
License-Expression: LicenseRef-Proprietary
|
|
6
6
|
License-File: LICENSE
|
|
@@ -312,6 +312,12 @@ New `ddd` modules contain the full responsibility directories and necessary comp
|
|
|
312
312
|
|
|
313
313
|
See the [migration guide](docs/development.md#数据库聚合与迁移) and [verification record](docs/status.md#http-回收与迁移来源判定未发布).
|
|
314
314
|
|
|
315
|
+
## Invocation performance (0.7.2)
|
|
316
|
+
|
|
317
|
+
Function calls avoid regenerating DI wrappers, empty extension chains skip unnecessary work, and completed filter/interceptor chains release execution references sooner. Managed declaration checks continue to detect dynamic method and policy changes.
|
|
318
|
+
|
|
319
|
+
Public APIs, DI scopes, authorization, validation, Unit of Work, exception and cancellation behavior are unchanged. No application-code, configuration or data migration is required. Follow the existing [upgrade procedure](#upgrading); validation evidence and performance limits are recorded in [release status](docs/status.md#当前发布).
|
|
320
|
+
|
|
315
321
|
<a id="streaming-and-access-migration-07-unreleased"></a>
|
|
316
322
|
|
|
317
323
|
## Streaming and access migration (0.7)
|
|
@@ -268,6 +268,12 @@ New `ddd` modules contain the full responsibility directories and necessary comp
|
|
|
268
268
|
|
|
269
269
|
See the [migration guide](docs/development.md#数据库聚合与迁移) and [verification record](docs/status.md#http-回收与迁移来源判定未发布).
|
|
270
270
|
|
|
271
|
+
## Invocation performance (0.7.2)
|
|
272
|
+
|
|
273
|
+
Function calls avoid regenerating DI wrappers, empty extension chains skip unnecessary work, and completed filter/interceptor chains release execution references sooner. Managed declaration checks continue to detect dynamic method and policy changes.
|
|
274
|
+
|
|
275
|
+
Public APIs, DI scopes, authorization, validation, Unit of Work, exception and cancellation behavior are unchanged. No application-code, configuration or data migration is required. Follow the existing [upgrade procedure](#upgrading); validation evidence and performance limits are recorded in [release status](docs/status.md#当前发布).
|
|
276
|
+
|
|
271
277
|
<a id="streaming-and-access-migration-07-unreleased"></a>
|
|
272
278
|
|
|
273
279
|
## Streaming and access migration (0.7)
|
|
@@ -87,7 +87,11 @@ async def _run_filters(
|
|
|
87
87
|
context: ActionFilterContext,
|
|
88
88
|
target: Callable[[], Awaitable[object]],
|
|
89
89
|
) -> object:
|
|
90
|
+
if not registrations:
|
|
91
|
+
return await target()
|
|
92
|
+
|
|
90
93
|
async def invoke(index: int) -> object:
|
|
94
|
+
nonlocal invoke
|
|
91
95
|
if index == len(registrations):
|
|
92
96
|
return await target()
|
|
93
97
|
instance = await container.get(registrations[index].filter_type)
|
|
@@ -97,7 +101,11 @@ async def _run_filters(
|
|
|
97
101
|
finally:
|
|
98
102
|
continuation.active = False
|
|
99
103
|
|
|
100
|
-
|
|
104
|
+
try:
|
|
105
|
+
return await invoke(0)
|
|
106
|
+
finally:
|
|
107
|
+
# 保留原失效检查,只解除已结束 filter 链对请求执行状态的引用。
|
|
108
|
+
del invoke
|
|
101
109
|
|
|
102
110
|
|
|
103
111
|
def _validate_filters(registrations: Sequence[ServiceFilter], container: AsyncContainer) -> None:
|
|
@@ -52,7 +52,8 @@ class _HttpParameterValidator:
|
|
|
52
52
|
for name in self._validators:
|
|
53
53
|
if name in actual:
|
|
54
54
|
arguments = _InvocationArguments((actual[name],), {})
|
|
55
|
-
|
|
55
|
+
# HTTP Filter 会获得参数引用,始终保留独立于服务拦截链的改参快照。
|
|
56
|
+
arguments.mark_validated(capture_structure=True)
|
|
56
57
|
arguments.exposed = True
|
|
57
58
|
snapshots[name] = arguments
|
|
58
59
|
return snapshots
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"""调用签名的 DI
|
|
1
|
+
"""调用签名的 DI 分类与参数装配;实例解析和作用域仍归原生容器。"""
|
|
2
2
|
|
|
3
3
|
from __future__ import annotations
|
|
4
4
|
|
|
@@ -9,7 +9,7 @@ from types import MappingProxyType, SimpleNamespace
|
|
|
9
9
|
from typing import Annotated, Any, TypeVar, get_args, get_origin, get_type_hints
|
|
10
10
|
|
|
11
11
|
from dishka import AsyncContainer, BaseScope, DependencyKey
|
|
12
|
-
from dishka.integrations.base import default_parse_dependency
|
|
12
|
+
from dishka.integrations.base import default_parse_dependency
|
|
13
13
|
|
|
14
14
|
_R = TypeVar("_R")
|
|
15
15
|
|
|
@@ -124,22 +124,8 @@ class _CallablePlan:
|
|
|
124
124
|
# 先验证全部业务实参,再解析任何依赖,避免错误调用触发 resource factory。
|
|
125
125
|
bound = self.signature.bind(*args, **kwargs)
|
|
126
126
|
bound.apply_defaults()
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
return self.dependencies.get(parameter.name)
|
|
130
|
-
|
|
131
|
-
async def target(*args: object, **kwargs: object) -> _R:
|
|
132
|
-
return await function(*args, **kwargs)
|
|
133
|
-
|
|
134
|
-
# 原函数可能被多个 Application 共享;只给当前调用的 native wrapper 提供签名。
|
|
135
|
-
target.__signature__ = inspect.signature(function) # type: ignore[attr-defined]
|
|
136
|
-
target.__annotations__ = {}
|
|
137
|
-
injected = wrap_injection(
|
|
138
|
-
func=target,
|
|
139
|
-
container_getter=lambda args, kwargs: container,
|
|
140
|
-
is_async=True,
|
|
141
|
-
parse_dependency=parse,
|
|
142
|
-
)
|
|
127
|
+
# 编译与执行之间可能改变签名元数据;无 DI 的快路径也保留原生边界检查。
|
|
128
|
+
signature = inspect.signature(function)
|
|
143
129
|
# DI 参数从签名移除后位置会变化;普通业务参数按名称交给原函数。
|
|
144
130
|
positional = tuple(
|
|
145
131
|
bound.arguments[name]
|
|
@@ -151,7 +137,33 @@ class _CallablePlan:
|
|
|
151
137
|
for name, value in bound.arguments.items()
|
|
152
138
|
if self.signature.parameters[name].kind is not inspect.Parameter.POSITIONAL_ONLY
|
|
153
139
|
}
|
|
154
|
-
|
|
140
|
+
if not self.dependencies:
|
|
141
|
+
return await function(*positional, **named)
|
|
142
|
+
|
|
143
|
+
# 与原生注入一致,当前签名决定有效 DI 参数及解析顺序,分类仍来自编译计划。
|
|
144
|
+
dependencies = {
|
|
145
|
+
name: self.dependencies[name]
|
|
146
|
+
for name in signature.parameters
|
|
147
|
+
if name in self.dependencies
|
|
148
|
+
}
|
|
149
|
+
if dependencies:
|
|
150
|
+
# 保留原生注入剥离 DI 后的签名校验;畸形元数据须在资源获取前失败。
|
|
151
|
+
inspect.Signature(
|
|
152
|
+
parameters=[
|
|
153
|
+
parameter.replace(annotation=Any)
|
|
154
|
+
for name, parameter in signature.parameters.items()
|
|
155
|
+
if name not in dependencies
|
|
156
|
+
],
|
|
157
|
+
return_annotation=signature.return_annotation,
|
|
158
|
+
)
|
|
159
|
+
for name, dependency in dependencies.items():
|
|
160
|
+
# 原生常量直接提供值,不触发同 key 的 Provider;其余依赖仍由容器拥有。
|
|
161
|
+
named[name] = (
|
|
162
|
+
dependency.get_const_value()
|
|
163
|
+
if dependency.is_const()
|
|
164
|
+
else await container.get(dependency.type_hint, dependency.component)
|
|
165
|
+
)
|
|
166
|
+
return await function(*positional, **named)
|
|
155
167
|
|
|
156
168
|
|
|
157
169
|
async def _call_in_scope(
|
|
@@ -41,8 +41,13 @@ class _InterceptorPipeline:
|
|
|
41
41
|
callback: Callable[[], Awaitable[object]],
|
|
42
42
|
) -> object:
|
|
43
43
|
registrations = self.steps[stage]
|
|
44
|
+
# 空扩展链仍执行原阶段逻辑;不创建自引用的递归闭包,避免把回调
|
|
45
|
+
# 及其 scope 状态留到循环 GC 才释放。
|
|
46
|
+
if not registrations:
|
|
47
|
+
return await callback()
|
|
44
48
|
|
|
45
49
|
async def proceed(index: int) -> object:
|
|
50
|
+
nonlocal proceed
|
|
46
51
|
if index == len(registrations):
|
|
47
52
|
return await callback()
|
|
48
53
|
interceptor = await container.get(registrations[index].interceptor)
|
|
@@ -52,7 +57,11 @@ class _InterceptorPipeline:
|
|
|
52
57
|
finally:
|
|
53
58
|
invocation._close()
|
|
54
59
|
|
|
55
|
-
|
|
60
|
+
try:
|
|
61
|
+
return await proceed(0)
|
|
62
|
+
finally:
|
|
63
|
+
# continuation 已失效;解除递归 cell,避免旧 invocation 继续持有执行回调。
|
|
64
|
+
del proceed
|
|
56
65
|
|
|
57
66
|
|
|
58
67
|
@dataclass(slots=True)
|
|
@@ -80,12 +89,14 @@ class _InvocationArguments:
|
|
|
80
89
|
or (self.exposed and self._structure([]) != self._validated_structure)
|
|
81
90
|
)
|
|
82
91
|
|
|
83
|
-
def mark_validated(self) -> None:
|
|
92
|
+
def mark_validated(self, *, capture_structure: bool) -> None:
|
|
84
93
|
# 只在验证成功后记录规范化结果;快照与调用共同归属当前 pipeline。
|
|
85
94
|
self._validated_args = self.args
|
|
86
95
|
self._validated_kwargs = dict(self.kwargs)
|
|
87
96
|
self._validated_nodes = []
|
|
88
|
-
self._validated_structure =
|
|
97
|
+
self._validated_structure = (
|
|
98
|
+
self._structure(self._validated_nodes) if capture_structure else None
|
|
99
|
+
)
|
|
89
100
|
# 不重置 exposed:早期扩展可能保留参数引用,并在后续阶段原地修改同一对象。
|
|
90
101
|
|
|
91
102
|
def _structure(self, retained: list[object]) -> object:
|
|
@@ -220,15 +220,24 @@ class _EntryInterceptionCatalog:
|
|
|
220
220
|
)
|
|
221
221
|
|
|
222
222
|
stages = tuple(
|
|
223
|
-
stage
|
|
223
|
+
stage
|
|
224
|
+
for stage in InterceptionStage
|
|
225
|
+
if stage is not InterceptionStage.METHOD and entry.steps[stage]
|
|
224
226
|
)
|
|
227
|
+
if not stages:
|
|
228
|
+
return await boundary()
|
|
225
229
|
|
|
226
230
|
async def run(index: int) -> object:
|
|
231
|
+
nonlocal run
|
|
227
232
|
if index == len(stages):
|
|
228
233
|
return await boundary()
|
|
229
234
|
return await pipeline.run(stages[index], container, lambda: run(index + 1))
|
|
230
235
|
|
|
231
|
-
|
|
236
|
+
try:
|
|
237
|
+
return await run(0)
|
|
238
|
+
finally:
|
|
239
|
+
# 各阶段已退出;不让递归编排额外保留参数、scope 和事务边界回调。
|
|
240
|
+
del run
|
|
232
241
|
|
|
233
242
|
|
|
234
243
|
async def _invoke_managed_entry(
|
|
@@ -25,6 +25,7 @@ from ..unit_of_work.options import (
|
|
|
25
25
|
)
|
|
26
26
|
from .managed_proxy import _ManagedServiceProxy
|
|
27
27
|
from .methods import (
|
|
28
|
+
_class_policy_fingerprint,
|
|
28
29
|
_compile_method,
|
|
29
30
|
_CompiledMethod,
|
|
30
31
|
_policy_fingerprint,
|
|
@@ -42,25 +43,41 @@ def _managed_names(candidate: type[object]) -> tuple[str, ...]:
|
|
|
42
43
|
)
|
|
43
44
|
names: list[str] = []
|
|
44
45
|
# 类级标记覆盖公开方法;显式方法标记即使位于非公开方法也必须接受形态校验。
|
|
45
|
-
members = {
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
46
|
+
members: dict[str, object] = {}
|
|
47
|
+
for base in reversed(candidate.__mro__):
|
|
48
|
+
members.update(vars(base))
|
|
49
|
+
# 原生 object 成员不携带策略;按身份移除未覆盖项,保留用户声明及其顺序。
|
|
50
|
+
for name, value in vars(object).items():
|
|
51
|
+
if name in members and members[name] is value:
|
|
52
|
+
del members[name]
|
|
53
|
+
public = set(_public_method_names(candidate, is_contract=False)) if class_marked else set()
|
|
49
54
|
for name, value in members.items():
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
+
# 类标记已覆盖公开方法时,无需再逐属性判断该方法是否显式标记。
|
|
56
|
+
marked = name in public
|
|
57
|
+
if not marked:
|
|
58
|
+
targets = (
|
|
59
|
+
(value, value.__func__)
|
|
60
|
+
if isinstance(value, (staticmethod, classmethod))
|
|
61
|
+
else (value,)
|
|
62
|
+
)
|
|
63
|
+
marked = any(
|
|
64
|
+
hasattr(target, attribute) for target in targets for attribute in attributes
|
|
65
|
+
)
|
|
66
|
+
if marked:
|
|
55
67
|
_require_async_instance_method(candidate, name, role="managed service")
|
|
56
68
|
names.append(name)
|
|
57
69
|
return tuple(names)
|
|
58
70
|
|
|
59
71
|
|
|
60
72
|
def _assert_methods(candidate: type[object], methods: Mapping[str, _CompiledMethod]) -> None:
|
|
61
|
-
|
|
73
|
+
names = _managed_names(candidate)
|
|
74
|
+
# 每次解析仍读取当前声明;同一类的策略只在本次同步核对内共用,
|
|
75
|
+
# 不跨请求缓存,后续类级/继承策略修改仍会与编译值发生差异。
|
|
76
|
+
class_policy = _class_policy_fingerprint(candidate)
|
|
77
|
+
if tuple(methods) != names or any(
|
|
62
78
|
getattr(candidate, name) is not method.implementation_method
|
|
63
|
-
or _policy_fingerprint(candidate, method.implementation_method)
|
|
79
|
+
or _policy_fingerprint(candidate, method.implementation_method, class_policy=class_policy)
|
|
80
|
+
!= method.policy_fingerprint
|
|
64
81
|
for name, method in methods.items()
|
|
65
82
|
):
|
|
66
83
|
raise ApplicationServiceDefinitionError(
|
|
@@ -3,9 +3,10 @@
|
|
|
3
3
|
from __future__ import annotations
|
|
4
4
|
|
|
5
5
|
import inspect
|
|
6
|
+
import keyword
|
|
6
7
|
from collections.abc import Awaitable, Callable, Mapping
|
|
7
8
|
from dataclasses import dataclass, field, replace
|
|
8
|
-
from types import MappingProxyType
|
|
9
|
+
from types import FunctionType, MappingProxyType
|
|
9
10
|
from typing import Any, cast, get_type_hints
|
|
10
11
|
|
|
11
12
|
from pydantic import ConfigDict, TypeAdapter, validate_call
|
|
@@ -199,15 +200,36 @@ _POLICY_ATTRIBUTES = (
|
|
|
199
200
|
_AUDITING_ATTRIBUTE,
|
|
200
201
|
)
|
|
201
202
|
|
|
203
|
+
_PolicyRows = tuple[tuple[object, ...], ...]
|
|
204
|
+
_ClassPolicyFingerprint = tuple[bool, _PolicyRows]
|
|
202
205
|
|
|
203
|
-
|
|
206
|
+
|
|
207
|
+
def _policy_values(target: object) -> _PolicyRows:
|
|
208
|
+
namespace = vars(target)
|
|
209
|
+
if any(attribute in namespace for attribute in _POLICY_ATTRIBUTES):
|
|
210
|
+
return (tuple(namespace.get(attribute) for attribute in _POLICY_ATTRIBUTES),)
|
|
211
|
+
return ()
|
|
212
|
+
|
|
213
|
+
|
|
214
|
+
def _class_policy_fingerprint(implementation: type[object]) -> _ClassPolicyFingerprint:
|
|
204
215
|
return (
|
|
205
216
|
issubclass(implementation, ValidationEnabled),
|
|
206
|
-
tuple(
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
217
|
+
tuple(row for target in implementation.__mro__ for row in _policy_values(target)),
|
|
218
|
+
)
|
|
219
|
+
|
|
220
|
+
|
|
221
|
+
def _policy_fingerprint(
|
|
222
|
+
implementation: type[object],
|
|
223
|
+
method: object,
|
|
224
|
+
*,
|
|
225
|
+
class_policy: _ClassPolicyFingerprint | None = None,
|
|
226
|
+
) -> tuple[object, ...]:
|
|
227
|
+
validation, rows = (
|
|
228
|
+
_class_policy_fingerprint(implementation) if class_policy is None else class_policy
|
|
229
|
+
)
|
|
230
|
+
return (
|
|
231
|
+
validation,
|
|
232
|
+
(*rows, *_policy_values(method)),
|
|
211
233
|
)
|
|
212
234
|
|
|
213
235
|
|
|
@@ -278,11 +300,7 @@ def _require_async_instance_method(
|
|
|
278
300
|
symbol=symbol,
|
|
279
301
|
reason=f"public {role} methods must use async def",
|
|
280
302
|
)
|
|
281
|
-
|
|
282
|
-
if not parameters or parameters[0].kind not in (
|
|
283
|
-
inspect.Parameter.POSITIONAL_ONLY,
|
|
284
|
-
inspect.Parameter.POSITIONAL_OR_KEYWORD,
|
|
285
|
-
):
|
|
303
|
+
if not _has_positional_receiver(method):
|
|
286
304
|
# Catalog 与 HTTP generator 都会剥离 receiver;缺少首个位置参数时不能伪装成实例方法。
|
|
287
305
|
raise ApplicationServiceDefinitionError(
|
|
288
306
|
symbol=symbol,
|
|
@@ -291,6 +309,39 @@ def _require_async_instance_method(
|
|
|
291
309
|
return cast(Callable[..., Awaitable[object]], method)
|
|
292
310
|
|
|
293
311
|
|
|
312
|
+
def _has_positional_receiver(method: FunctionType) -> bool:
|
|
313
|
+
# 普通 Python 函数的位置参数由 code 直接声明;完整签名/类型仍在编译时解析。
|
|
314
|
+
# 包装、自定义签名和惰性注解沿用 inspect,不能从包装函数的 *args 推断 receiver。
|
|
315
|
+
code = method.__code__
|
|
316
|
+
count = code.co_argcount + code.co_kwonlyargcount
|
|
317
|
+
count += bool(code.co_flags & inspect.CO_VARARGS) + bool(code.co_flags & inspect.CO_VARKEYWORDS)
|
|
318
|
+
names = code.co_varnames[:count]
|
|
319
|
+
special = any(
|
|
320
|
+
hasattr(method, name)
|
|
321
|
+
for name in (
|
|
322
|
+
"__wrapped__",
|
|
323
|
+
"__signature__",
|
|
324
|
+
"__text_signature__",
|
|
325
|
+
"_partialmethod",
|
|
326
|
+
"__partialmethod__",
|
|
327
|
+
"__annotate__",
|
|
328
|
+
)
|
|
329
|
+
)
|
|
330
|
+
if (
|
|
331
|
+
special
|
|
332
|
+
or len(set(names)) != len(names)
|
|
333
|
+
or any(not name.isidentifier() or keyword.iskeyword(name) for name in names)
|
|
334
|
+
or len(method.__defaults__ or ()) > code.co_argcount
|
|
335
|
+
):
|
|
336
|
+
# 手工替换 code 的非法参数及特殊声明仍由原生 Signature 报告,不能静默放行。
|
|
337
|
+
parameters = tuple(inspect.signature(method).parameters.values())
|
|
338
|
+
return bool(parameters) and parameters[0].kind in (
|
|
339
|
+
inspect.Parameter.POSITIONAL_ONLY,
|
|
340
|
+
inspect.Parameter.POSITIONAL_OR_KEYWORD,
|
|
341
|
+
)
|
|
342
|
+
return code.co_argcount > 0
|
|
343
|
+
|
|
344
|
+
|
|
294
345
|
def _resolved_signature(
|
|
295
346
|
method: Callable[..., Awaitable[object]],
|
|
296
347
|
) -> tuple[inspect.Signature, dict[str, object]]:
|
|
File without changes
|
{python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/caching/errors.py
RENAMED
|
File without changes
|
{python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/caching/module.py
RENAMED
|
File without changes
|
{python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/caching/naming.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{python_ddd_framework-0.7.1 → python_ddd_framework-0.7.2}/src/python_ddd_framework/cli/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|