csrd-utils 0.3.100__tar.gz → 0.3.102__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.
- {csrd_utils-0.3.100 → csrd_utils-0.3.102}/PKG-INFO +1 -1
- {csrd_utils-0.3.100 → csrd_utils-0.3.102}/pyproject.toml +1 -1
- {csrd_utils-0.3.100 → csrd_utils-0.3.102}/src/csrd_utils/v2/compose/service_renderers.py +29 -0
- {csrd_utils-0.3.100 → csrd_utils-0.3.102}/src/csrd_utils/v2/templates/augments/db-config/dependencies/db.py.template +6 -5
- {csrd_utils-0.3.100 → csrd_utils-0.3.102}/src/csrd_utils/v2/templates/augments/jwt-auth-consumer/dependencies/auth.py.template +19 -1
- {csrd_utils-0.3.100 → csrd_utils-0.3.102}/.gitignore +0 -0
- {csrd_utils-0.3.100 → csrd_utils-0.3.102}/README.md +0 -0
- {csrd_utils-0.3.100 → csrd_utils-0.3.102}/src/csrd_utils/__init__.py +0 -0
- {csrd_utils-0.3.100 → csrd_utils-0.3.102}/src/csrd_utils/__main__.py +0 -0
- {csrd_utils-0.3.100 → csrd_utils-0.3.102}/src/csrd_utils/audit.py +0 -0
- {csrd_utils-0.3.100 → csrd_utils-0.3.102}/src/csrd_utils/augmentor.py +0 -0
- {csrd_utils-0.3.100 → csrd_utils-0.3.102}/src/csrd_utils/cluster.py +0 -0
- {csrd_utils-0.3.100 → csrd_utils-0.3.102}/src/csrd_utils/doctor.py +0 -0
- {csrd_utils-0.3.100 → csrd_utils-0.3.102}/src/csrd_utils/features/caching/conftest.fragment.py +0 -0
- {csrd_utils-0.3.100 → csrd_utils-0.3.102}/src/csrd_utils/features/caching/docker-compose.fragment.yaml +0 -0
- {csrd_utils-0.3.100 → csrd_utils-0.3.102}/src/csrd_utils/features/caching/manifest.yaml +0 -0
- {csrd_utils-0.3.100 → csrd_utils-0.3.102}/src/csrd_utils/features/caching/requirements.fragment +0 -0
- {csrd_utils-0.3.100 → csrd_utils-0.3.102}/src/csrd_utils/features/caching/settings.fragment.py +0 -0
- {csrd_utils-0.3.100 → csrd_utils-0.3.102}/src/csrd_utils/features/caching/src/app/cache.py +0 -0
- {csrd_utils-0.3.100 → csrd_utils-0.3.102}/src/csrd_utils/features/caching/tests/test_cache.py +0 -0
- {csrd_utils-0.3.100 → csrd_utils-0.3.102}/src/csrd_utils/features/logging/conftest.fragment.py +0 -0
- {csrd_utils-0.3.100 → csrd_utils-0.3.102}/src/csrd_utils/features/logging/manifest.yaml +0 -0
- {csrd_utils-0.3.100 → csrd_utils-0.3.102}/src/csrd_utils/features/logging/requirements.fragment +0 -0
- {csrd_utils-0.3.100 → csrd_utils-0.3.102}/src/csrd_utils/features/logging/settings.fragment.py +0 -0
- {csrd_utils-0.3.100 → csrd_utils-0.3.102}/src/csrd_utils/features/logging/src/app/middleware/logging.py +0 -0
- {csrd_utils-0.3.100 → csrd_utils-0.3.102}/src/csrd_utils/features/logging/tests/test_logging_middleware.py +0 -0
- {csrd_utils-0.3.100 → csrd_utils-0.3.102}/src/csrd_utils/features/metrics/conftest.fragment.py +0 -0
- {csrd_utils-0.3.100 → csrd_utils-0.3.102}/src/csrd_utils/features/metrics/docker-compose.fragment.yaml +0 -0
- {csrd_utils-0.3.100 → csrd_utils-0.3.102}/src/csrd_utils/features/metrics/manifest.yaml +0 -0
- {csrd_utils-0.3.100 → csrd_utils-0.3.102}/src/csrd_utils/features/metrics/requirements.fragment +0 -0
- {csrd_utils-0.3.100 → csrd_utils-0.3.102}/src/csrd_utils/features/metrics/settings.fragment.py +0 -0
- {csrd_utils-0.3.100 → csrd_utils-0.3.102}/src/csrd_utils/features/metrics/src/app/middleware/metrics.py +0 -0
- {csrd_utils-0.3.100 → csrd_utils-0.3.102}/src/csrd_utils/features/metrics/tests/test_metrics_middleware.py +0 -0
- {csrd_utils-0.3.100 → csrd_utils-0.3.102}/src/csrd_utils/features/tracing/conftest.fragment.py +0 -0
- {csrd_utils-0.3.100 → csrd_utils-0.3.102}/src/csrd_utils/features/tracing/manifest.yaml +0 -0
- {csrd_utils-0.3.100 → csrd_utils-0.3.102}/src/csrd_utils/features/tracing/requirements.fragment +0 -0
- {csrd_utils-0.3.100 → csrd_utils-0.3.102}/src/csrd_utils/features/tracing/settings.fragment.py +0 -0
- {csrd_utils-0.3.100 → csrd_utils-0.3.102}/src/csrd_utils/features/tracing/src/app/middleware/tracing.py +0 -0
- {csrd_utils-0.3.100 → csrd_utils-0.3.102}/src/csrd_utils/features/tracing/tests/test_tracing_middleware.py +0 -0
- {csrd_utils-0.3.100 → csrd_utils-0.3.102}/src/csrd_utils/features/workers/conftest.fragment.py +0 -0
- {csrd_utils-0.3.100 → csrd_utils-0.3.102}/src/csrd_utils/features/workers/docker-compose.fragment.yaml +0 -0
- {csrd_utils-0.3.100 → csrd_utils-0.3.102}/src/csrd_utils/features/workers/manifest.yaml +0 -0
- {csrd_utils-0.3.100 → csrd_utils-0.3.102}/src/csrd_utils/features/workers/requirements.fragment +0 -0
- {csrd_utils-0.3.100 → csrd_utils-0.3.102}/src/csrd_utils/features/workers/settings.fragment.py +0 -0
- {csrd_utils-0.3.100 → csrd_utils-0.3.102}/src/csrd_utils/features/workers/src/app/workers/__init__.py +0 -0
- {csrd_utils-0.3.100 → csrd_utils-0.3.102}/src/csrd_utils/features/workers/src/app/workers/celery_app.py +0 -0
- {csrd_utils-0.3.100 → csrd_utils-0.3.102}/src/csrd_utils/features/workers/src/app/workers/tasks.py +0 -0
- {csrd_utils-0.3.100 → csrd_utils-0.3.102}/src/csrd_utils/features/workers/tests/test_workers.py +0 -0
- {csrd_utils-0.3.100 → csrd_utils-0.3.102}/src/csrd_utils/fragments.py +0 -0
- {csrd_utils-0.3.100 → csrd_utils-0.3.102}/src/csrd_utils/generator.py +0 -0
- {csrd_utils-0.3.100 → csrd_utils-0.3.102}/src/csrd_utils/resources.py +0 -0
- {csrd_utils-0.3.100 → csrd_utils-0.3.102}/src/csrd_utils/templates/cookiecutter-service/README.md +0 -0
- {csrd_utils-0.3.100 → csrd_utils-0.3.102}/src/csrd_utils/templates/cookiecutter-service/cookiecutter.json +0 -0
- {csrd_utils-0.3.100 → csrd_utils-0.3.102}/src/csrd_utils/templates/cookiecutter-service/hooks/post_gen_project.py +0 -0
- {csrd_utils-0.3.100 → csrd_utils-0.3.102}/src/csrd_utils/templates/cookiecutter-service/{{cookiecutter.__service_name_snake}}/.cookiecutterignore +0 -0
- {csrd_utils-0.3.100 → csrd_utils-0.3.102}/src/csrd_utils/templates/cookiecutter-service/{{cookiecutter.__service_name_snake}}/.dockerignore +0 -0
- {csrd_utils-0.3.100 → csrd_utils-0.3.102}/src/csrd_utils/templates/cookiecutter-service/{{cookiecutter.__service_name_snake}}/Dockerfile +0 -0
- {csrd_utils-0.3.100 → csrd_utils-0.3.102}/src/csrd_utils/templates/cookiecutter-service/{{cookiecutter.__service_name_snake}}/README.md +0 -0
- {csrd_utils-0.3.100 → csrd_utils-0.3.102}/src/csrd_utils/templates/cookiecutter-service/{{cookiecutter.__service_name_snake}}/__init__.py +0 -0
- {csrd_utils-0.3.100 → csrd_utils-0.3.102}/src/csrd_utils/templates/cookiecutter-service/{{cookiecutter.__service_name_snake}}/cache.py +0 -0
- {csrd_utils-0.3.100 → csrd_utils-0.3.102}/src/csrd_utils/templates/cookiecutter-service/{{cookiecutter.__service_name_snake}}/delegates/__init__.py +0 -0
- {csrd_utils-0.3.100 → csrd_utils-0.3.102}/src/csrd_utils/templates/cookiecutter-service/{{cookiecutter.__service_name_snake}}/delegates/upstreams.py +0 -0
- {csrd_utils-0.3.100 → csrd_utils-0.3.102}/src/csrd_utils/templates/cookiecutter-service/{{cookiecutter.__service_name_snake}}/dependencies/__init__.py +0 -0
- {csrd_utils-0.3.100 → csrd_utils-0.3.102}/src/csrd_utils/templates/cookiecutter-service/{{cookiecutter.__service_name_snake}}/dependencies/auth_service.py +0 -0
- {csrd_utils-0.3.100 → csrd_utils-0.3.102}/src/csrd_utils/templates/cookiecutter-service/{{cookiecutter.__service_name_snake}}/dependencies/delegates.py +0 -0
- {csrd_utils-0.3.100 → csrd_utils-0.3.102}/src/csrd_utils/templates/cookiecutter-service/{{cookiecutter.__service_name_snake}}/dependencies/item_repository.py +0 -0
- {csrd_utils-0.3.100 → csrd_utils-0.3.102}/src/csrd_utils/templates/cookiecutter-service/{{cookiecutter.__service_name_snake}}/dependencies/worker_broker.py +0 -0
- {csrd_utils-0.3.100 → csrd_utils-0.3.102}/src/csrd_utils/templates/cookiecutter-service/{{cookiecutter.__service_name_snake}}/docker-compose.yml +0 -0
- {csrd_utils-0.3.100 → csrd_utils-0.3.102}/src/csrd_utils/templates/cookiecutter-service/{{cookiecutter.__service_name_snake}}/middleware/__init__.py +0 -0
- {csrd_utils-0.3.100 → csrd_utils-0.3.102}/src/csrd_utils/templates/cookiecutter-service/{{cookiecutter.__service_name_snake}}/middleware/logging.py +0 -0
- {csrd_utils-0.3.100 → csrd_utils-0.3.102}/src/csrd_utils/templates/cookiecutter-service/{{cookiecutter.__service_name_snake}}/repositories/__init__.py +0 -0
- {csrd_utils-0.3.100 → csrd_utils-0.3.102}/src/csrd_utils/templates/cookiecutter-service/{{cookiecutter.__service_name_snake}}/repositories/item_repository.py +0 -0
- {csrd_utils-0.3.100 → csrd_utils-0.3.102}/src/csrd_utils/templates/cookiecutter-service/{{cookiecutter.__service_name_snake}}/requirements.txt +0 -0
- {csrd_utils-0.3.100 → csrd_utils-0.3.102}/src/csrd_utils/templates/cookiecutter-service/{{cookiecutter.__service_name_snake}}/settings.py +0 -0
- {csrd_utils-0.3.100 → csrd_utils-0.3.102}/src/csrd_utils/templates/cookiecutter-service/{{cookiecutter.__service_name_snake}}/tests/__init__.py +0 -0
- {csrd_utils-0.3.100 → csrd_utils-0.3.102}/src/csrd_utils/templates/cookiecutter-service/{{cookiecutter.__service_name_snake}}/tests/acceptance/__init__.py +0 -0
- {csrd_utils-0.3.100 → csrd_utils-0.3.102}/src/csrd_utils/templates/cookiecutter-service/{{cookiecutter.__service_name_snake}}/tests/acceptance/test_logging_middleware.py +0 -0
- {csrd_utils-0.3.100 → csrd_utils-0.3.102}/src/csrd_utils/templates/cookiecutter-service/{{cookiecutter.__service_name_snake}}/tests/conftest.py +0 -0
- {csrd_utils-0.3.100 → csrd_utils-0.3.102}/src/csrd_utils/templates/cookiecutter-service/{{cookiecutter.__service_name_snake}}/tests/test_items.py +0 -0
- {csrd_utils-0.3.100 → csrd_utils-0.3.102}/src/csrd_utils/templates/cookiecutter-service/{{cookiecutter.__service_name_snake}}/tests/unit/__init__.py +0 -0
- {csrd_utils-0.3.100 → csrd_utils-0.3.102}/src/csrd_utils/templates/cookiecutter-service/{{cookiecutter.__service_name_snake}}/tests/unit/test_cache.py +0 -0
- {csrd_utils-0.3.100 → csrd_utils-0.3.102}/src/csrd_utils/templates/cookiecutter-service/{{cookiecutter.__service_name_snake}}/tests/unit/test_database_settings.py +0 -0
- {csrd_utils-0.3.100 → csrd_utils-0.3.102}/src/csrd_utils/templates/cookiecutter-service/{{cookiecutter.__service_name_snake}}/tests/unit/test_delegates.py +0 -0
- {csrd_utils-0.3.100 → csrd_utils-0.3.102}/src/csrd_utils/templates/cookiecutter-service/{{cookiecutter.__service_name_snake}}/tests/unit/test_settings_contracts.py +0 -0
- {csrd_utils-0.3.100 → csrd_utils-0.3.102}/src/csrd_utils/templates/cookiecutter-service/{{cookiecutter.__service_name_snake}}/tests/unit/test_worker_broker.py +0 -0
- {csrd_utils-0.3.100 → csrd_utils-0.3.102}/src/csrd_utils/templates/cookiecutter-service/{{cookiecutter.__service_name_snake}}/views/__init__.py +0 -0
- {csrd_utils-0.3.100 → csrd_utils-0.3.102}/src/csrd_utils/templates/cookiecutter-service/{{cookiecutter.__service_name_snake}}/views/unversioned/__init__.py +0 -0
- {csrd_utils-0.3.100 → csrd_utils-0.3.102}/src/csrd_utils/templates/cookiecutter-service/{{cookiecutter.__service_name_snake}}/views/unversioned/health_view.py +0 -0
- {csrd_utils-0.3.100 → csrd_utils-0.3.102}/src/csrd_utils/templates/cookiecutter-service/{{cookiecutter.__service_name_snake}}/views/unversioned/items_view.py +0 -0
- {csrd_utils-0.3.100 → csrd_utils-0.3.102}/src/csrd_utils/templates/cookiecutter-service/{{cookiecutter.__service_name_snake}}/workers/__init__.py +0 -0
- {csrd_utils-0.3.100 → csrd_utils-0.3.102}/src/csrd_utils/templates/cookiecutter-service/{{cookiecutter.__service_name_snake}}/workers/tasks.py +0 -0
- {csrd_utils-0.3.100 → csrd_utils-0.3.102}/src/csrd_utils/templates/platform-app-service/cookiecutter.json +0 -0
- {csrd_utils-0.3.100 → csrd_utils-0.3.102}/src/csrd_utils/templates/platform-app-service/{{cookiecutter.__service_name_snake}}/.dockerignore +0 -0
- {csrd_utils-0.3.100 → csrd_utils-0.3.102}/src/csrd_utils/templates/platform-app-service/{{cookiecutter.__service_name_snake}}/Dockerfile +0 -0
- {csrd_utils-0.3.100 → csrd_utils-0.3.102}/src/csrd_utils/templates/platform-app-service/{{cookiecutter.__service_name_snake}}/README.md +0 -0
- {csrd_utils-0.3.100 → csrd_utils-0.3.102}/src/csrd_utils/templates/platform-app-service/{{cookiecutter.__service_name_snake}}/__init__.py +0 -0
- {csrd_utils-0.3.100 → csrd_utils-0.3.102}/src/csrd_utils/templates/platform-app-service/{{cookiecutter.__service_name_snake}}/delegates/__init__.py +0 -0
- {csrd_utils-0.3.100 → csrd_utils-0.3.102}/src/csrd_utils/templates/platform-app-service/{{cookiecutter.__service_name_snake}}/delegates/auth_delegate.py +0 -0
- {csrd_utils-0.3.100 → csrd_utils-0.3.102}/src/csrd_utils/templates/platform-app-service/{{cookiecutter.__service_name_snake}}/delegates/identity_delegate.py +0 -0
- {csrd_utils-0.3.100 → csrd_utils-0.3.102}/src/csrd_utils/templates/platform-app-service/{{cookiecutter.__service_name_snake}}/dependencies/__init__.py +0 -0
- {csrd_utils-0.3.100 → csrd_utils-0.3.102}/src/csrd_utils/templates/platform-app-service/{{cookiecutter.__service_name_snake}}/dependencies/auth_passthrough.py +0 -0
- {csrd_utils-0.3.100 → csrd_utils-0.3.102}/src/csrd_utils/templates/platform-app-service/{{cookiecutter.__service_name_snake}}/dependencies/auth_service.py +0 -0
- {csrd_utils-0.3.100 → csrd_utils-0.3.102}/src/csrd_utils/templates/platform-app-service/{{cookiecutter.__service_name_snake}}/dependencies/item_repository.py +0 -0
- {csrd_utils-0.3.100 → csrd_utils-0.3.102}/src/csrd_utils/templates/platform-app-service/{{cookiecutter.__service_name_snake}}/models/__init__.py +0 -0
- {csrd_utils-0.3.100 → csrd_utils-0.3.102}/src/csrd_utils/templates/platform-app-service/{{cookiecutter.__service_name_snake}}/models/auth_service.py +0 -0
- {csrd_utils-0.3.100 → csrd_utils-0.3.102}/src/csrd_utils/templates/platform-app-service/{{cookiecutter.__service_name_snake}}/models/items.py +0 -0
- {csrd_utils-0.3.100 → csrd_utils-0.3.102}/src/csrd_utils/templates/platform-app-service/{{cookiecutter.__service_name_snake}}/repositories/__init__.py +0 -0
- {csrd_utils-0.3.100 → csrd_utils-0.3.102}/src/csrd_utils/templates/platform-app-service/{{cookiecutter.__service_name_snake}}/repositories/item_repository.py +0 -0
- {csrd_utils-0.3.100 → csrd_utils-0.3.102}/src/csrd_utils/templates/platform-app-service/{{cookiecutter.__service_name_snake}}/requirements.txt +0 -0
- {csrd_utils-0.3.100 → csrd_utils-0.3.102}/src/csrd_utils/templates/platform-app-service/{{cookiecutter.__service_name_snake}}/settings.py +0 -0
- {csrd_utils-0.3.100 → csrd_utils-0.3.102}/src/csrd_utils/templates/platform-app-service/{{cookiecutter.__service_name_snake}}/views/__init__.py +0 -0
- {csrd_utils-0.3.100 → csrd_utils-0.3.102}/src/csrd_utils/templates/platform-app-service/{{cookiecutter.__service_name_snake}}/views/unversioned/__init__.py +0 -0
- {csrd_utils-0.3.100 → csrd_utils-0.3.102}/src/csrd_utils/templates/platform-app-service/{{cookiecutter.__service_name_snake}}/views/unversioned/auth_service_view.py +0 -0
- {csrd_utils-0.3.100 → csrd_utils-0.3.102}/src/csrd_utils/templates/platform-app-service/{{cookiecutter.__service_name_snake}}/views/unversioned/health_view.py +0 -0
- {csrd_utils-0.3.100 → csrd_utils-0.3.102}/src/csrd_utils/templates/platform-app-service/{{cookiecutter.__service_name_snake}}/views/unversioned/items_view.py +0 -0
- {csrd_utils-0.3.100 → csrd_utils-0.3.102}/src/csrd_utils/templates/platform-auth-service/cookiecutter.json +0 -0
- {csrd_utils-0.3.100 → csrd_utils-0.3.102}/src/csrd_utils/templates/platform-auth-service/{{cookiecutter.__service_name_snake}}/.dockerignore +0 -0
- {csrd_utils-0.3.100 → csrd_utils-0.3.102}/src/csrd_utils/templates/platform-auth-service/{{cookiecutter.__service_name_snake}}/Dockerfile +0 -0
- {csrd_utils-0.3.100 → csrd_utils-0.3.102}/src/csrd_utils/templates/platform-auth-service/{{cookiecutter.__service_name_snake}}/README.md +0 -0
- {csrd_utils-0.3.100 → csrd_utils-0.3.102}/src/csrd_utils/templates/platform-auth-service/{{cookiecutter.__service_name_snake}}/__init__.py +0 -0
- {csrd_utils-0.3.100 → csrd_utils-0.3.102}/src/csrd_utils/templates/platform-auth-service/{{cookiecutter.__service_name_snake}}/dependencies/__init__.py +0 -0
- {csrd_utils-0.3.100 → csrd_utils-0.3.102}/src/csrd_utils/templates/platform-auth-service/{{cookiecutter.__service_name_snake}}/models/__init__.py +0 -0
- {csrd_utils-0.3.100 → csrd_utils-0.3.102}/src/csrd_utils/templates/platform-auth-service/{{cookiecutter.__service_name_snake}}/models/auth.py +0 -0
- {csrd_utils-0.3.100 → csrd_utils-0.3.102}/src/csrd_utils/templates/platform-auth-service/{{cookiecutter.__service_name_snake}}/repositories/__init__.py +0 -0
- {csrd_utils-0.3.100 → csrd_utils-0.3.102}/src/csrd_utils/templates/platform-auth-service/{{cookiecutter.__service_name_snake}}/repositories/token_repository.py +0 -0
- {csrd_utils-0.3.100 → csrd_utils-0.3.102}/src/csrd_utils/templates/platform-auth-service/{{cookiecutter.__service_name_snake}}/requirements.txt +0 -0
- {csrd_utils-0.3.100 → csrd_utils-0.3.102}/src/csrd_utils/templates/platform-auth-service/{{cookiecutter.__service_name_snake}}/settings.py +0 -0
- {csrd_utils-0.3.100 → csrd_utils-0.3.102}/src/csrd_utils/templates/platform-auth-service/{{cookiecutter.__service_name_snake}}/views/__init__.py +0 -0
- {csrd_utils-0.3.100 → csrd_utils-0.3.102}/src/csrd_utils/templates/platform-auth-service/{{cookiecutter.__service_name_snake}}/views/unversioned/__init__.py +0 -0
- {csrd_utils-0.3.100 → csrd_utils-0.3.102}/src/csrd_utils/templates/platform-auth-service/{{cookiecutter.__service_name_snake}}/views/unversioned/auth_view.py +0 -0
- {csrd_utils-0.3.100 → csrd_utils-0.3.102}/src/csrd_utils/templates/platform-auth-service/{{cookiecutter.__service_name_snake}}/views/unversioned/health_view.py +0 -0
- {csrd_utils-0.3.100 → csrd_utils-0.3.102}/src/csrd_utils/templates/platform-identity-service/cookiecutter.json +0 -0
- {csrd_utils-0.3.100 → csrd_utils-0.3.102}/src/csrd_utils/templates/platform-identity-service/{{cookiecutter.__service_name_snake}}/.dockerignore +0 -0
- {csrd_utils-0.3.100 → csrd_utils-0.3.102}/src/csrd_utils/templates/platform-identity-service/{{cookiecutter.__service_name_snake}}/Dockerfile +0 -0
- {csrd_utils-0.3.100 → csrd_utils-0.3.102}/src/csrd_utils/templates/platform-identity-service/{{cookiecutter.__service_name_snake}}/README.md +0 -0
- {csrd_utils-0.3.100 → csrd_utils-0.3.102}/src/csrd_utils/templates/platform-identity-service/{{cookiecutter.__service_name_snake}}/__init__.py +0 -0
- {csrd_utils-0.3.100 → csrd_utils-0.3.102}/src/csrd_utils/templates/platform-identity-service/{{cookiecutter.__service_name_snake}}/dependencies/__init__.py +0 -0
- {csrd_utils-0.3.100 → csrd_utils-0.3.102}/src/csrd_utils/templates/platform-identity-service/{{cookiecutter.__service_name_snake}}/models/__init__.py +0 -0
- {csrd_utils-0.3.100 → csrd_utils-0.3.102}/src/csrd_utils/templates/platform-identity-service/{{cookiecutter.__service_name_snake}}/models/users.py +0 -0
- {csrd_utils-0.3.100 → csrd_utils-0.3.102}/src/csrd_utils/templates/platform-identity-service/{{cookiecutter.__service_name_snake}}/repositories/__init__.py +0 -0
- {csrd_utils-0.3.100 → csrd_utils-0.3.102}/src/csrd_utils/templates/platform-identity-service/{{cookiecutter.__service_name_snake}}/repositories/user_repository.py +0 -0
- {csrd_utils-0.3.100 → csrd_utils-0.3.102}/src/csrd_utils/templates/platform-identity-service/{{cookiecutter.__service_name_snake}}/requirements.txt +0 -0
- {csrd_utils-0.3.100 → csrd_utils-0.3.102}/src/csrd_utils/templates/platform-identity-service/{{cookiecutter.__service_name_snake}}/settings.py +0 -0
- {csrd_utils-0.3.100 → csrd_utils-0.3.102}/src/csrd_utils/templates/platform-identity-service/{{cookiecutter.__service_name_snake}}/views/__init__.py +0 -0
- {csrd_utils-0.3.100 → csrd_utils-0.3.102}/src/csrd_utils/templates/platform-identity-service/{{cookiecutter.__service_name_snake}}/views/unversioned/__init__.py +0 -0
- {csrd_utils-0.3.100 → csrd_utils-0.3.102}/src/csrd_utils/templates/platform-identity-service/{{cookiecutter.__service_name_snake}}/views/unversioned/health_view.py +0 -0
- {csrd_utils-0.3.100 → csrd_utils-0.3.102}/src/csrd_utils/templates/platform-identity-service/{{cookiecutter.__service_name_snake}}/views/unversioned/users_view.py +0 -0
- {csrd_utils-0.3.100 → csrd_utils-0.3.102}/src/csrd_utils/v2/AGENTS.md +0 -0
- {csrd_utils-0.3.100 → csrd_utils-0.3.102}/src/csrd_utils/v2/__init__.py +0 -0
- {csrd_utils-0.3.100 → csrd_utils-0.3.102}/src/csrd_utils/v2/compose/__init__.py +0 -0
- {csrd_utils-0.3.100 → csrd_utils-0.3.102}/src/csrd_utils/v2/compose/augments.py +0 -0
- {csrd_utils-0.3.100 → csrd_utils-0.3.102}/src/csrd_utils/v2/compose/git.py +0 -0
- {csrd_utils-0.3.100 → csrd_utils-0.3.102}/src/csrd_utils/v2/compose/infra.py +0 -0
- {csrd_utils-0.3.100 → csrd_utils-0.3.102}/src/csrd_utils/v2/compose/loader.py +0 -0
- {csrd_utils-0.3.100 → csrd_utils-0.3.102}/src/csrd_utils/v2/compose/operations.py +0 -0
- {csrd_utils-0.3.100 → csrd_utils-0.3.102}/src/csrd_utils/v2/compose/presets.py +0 -0
- {csrd_utils-0.3.100 → csrd_utils-0.3.102}/src/csrd_utils/v2/compose/renderer.py +0 -0
- {csrd_utils-0.3.100 → csrd_utils-0.3.102}/src/csrd_utils/v2/compose/scaffolder.py +0 -0
- {csrd_utils-0.3.100 → csrd_utils-0.3.102}/src/csrd_utils/v2/compose/yaml_editor.py +0 -0
- {csrd_utils-0.3.100 → csrd_utils-0.3.102}/src/csrd_utils/v2/generate/__init__.py +0 -0
- {csrd_utils-0.3.100 → csrd_utils-0.3.102}/src/csrd_utils/v2/generate/handlers.py +0 -0
- {csrd_utils-0.3.100 → csrd_utils-0.3.102}/src/csrd_utils/v2/generate/helpers.py +0 -0
- {csrd_utils-0.3.100 → csrd_utils-0.3.102}/src/csrd_utils/v2/generate/menu.py +0 -0
- {csrd_utils-0.3.100 → csrd_utils-0.3.102}/src/csrd_utils/v2/models/__init__.py +0 -0
- {csrd_utils-0.3.100 → csrd_utils-0.3.102}/src/csrd_utils/v2/models/base.py +0 -0
- {csrd_utils-0.3.100 → csrd_utils-0.3.102}/src/csrd_utils/v2/models/spec.py +0 -0
- {csrd_utils-0.3.100 → csrd_utils-0.3.102}/src/csrd_utils/v2/models/types.py +0 -0
- {csrd_utils-0.3.100 → csrd_utils-0.3.102}/src/csrd_utils/v2/templates/augments/auth-passthrough/delegates/auth_delegate.py +0 -0
- {csrd_utils-0.3.100 → csrd_utils-0.3.102}/src/csrd_utils/v2/templates/augments/auth-passthrough/dependencies/auth_passthrough.py +0 -0
- {csrd_utils-0.3.100 → csrd_utils-0.3.102}/src/csrd_utils/v2/templates/augments/auth-passthrough/models/auth_passthrough.py +0 -0
- {csrd_utils-0.3.100 → csrd_utils-0.3.102}/src/csrd_utils/v2/templates/augments/auth-passthrough/views/auth_passthrough_view.py +0 -0
- {csrd_utils-0.3.100 → csrd_utils-0.3.102}/src/csrd_utils/v2/templates/augments/crud-scaffold/dependencies/${entity_name_snake}_repository.py.template +0 -0
- {csrd_utils-0.3.100 → csrd_utils-0.3.102}/src/csrd_utils/v2/templates/augments/crud-scaffold/migrations_${entity_name_snake}.py.template +0 -0
- {csrd_utils-0.3.100 → csrd_utils-0.3.102}/src/csrd_utils/v2/templates/augments/crud-scaffold/models/${entity_name_snake}.py.template +0 -0
- {csrd_utils-0.3.100 → csrd_utils-0.3.102}/src/csrd_utils/v2/templates/augments/crud-scaffold/repositories/${entity_name_snake}_repository.py.template +0 -0
- {csrd_utils-0.3.100 → csrd_utils-0.3.102}/src/csrd_utils/v2/templates/augments/crud-scaffold/views/${entity_name_snake}_view.py.template +0 -0
- {csrd_utils-0.3.100 → csrd_utils-0.3.102}/src/csrd_utils/v2/templates/augments/db-config/migrations.py.template +0 -0
- {csrd_utils-0.3.100 → csrd_utils-0.3.102}/src/csrd_utils/v2/templates/augments/jwt-auth-provider/dependencies/db.py.template +0 -0
- {csrd_utils-0.3.100 → csrd_utils-0.3.102}/src/csrd_utils/v2/templates/augments/jwt-auth-provider/dependencies/token_service.py +0 -0
- {csrd_utils-0.3.100 → csrd_utils-0.3.102}/src/csrd_utils/v2/templates/augments/jwt-auth-provider/migrations.py.template +0 -0
- {csrd_utils-0.3.100 → csrd_utils-0.3.102}/src/csrd_utils/v2/templates/augments/jwt-auth-provider/models/auth.py +0 -0
- {csrd_utils-0.3.100 → csrd_utils-0.3.102}/src/csrd_utils/v2/templates/augments/jwt-auth-provider/models/jwks.py +0 -0
- {csrd_utils-0.3.100 → csrd_utils-0.3.102}/src/csrd_utils/v2/templates/augments/jwt-auth-provider/models/users.py +0 -0
- {csrd_utils-0.3.100 → csrd_utils-0.3.102}/src/csrd_utils/v2/templates/augments/jwt-auth-provider/repositories/user_repository.py +0 -0
- {csrd_utils-0.3.100 → csrd_utils-0.3.102}/src/csrd_utils/v2/templates/augments/jwt-auth-provider/services/token_service.py +0 -0
- {csrd_utils-0.3.100 → csrd_utils-0.3.102}/src/csrd_utils/v2/templates/augments/jwt-auth-provider/views/auth_view.py +0 -0
- {csrd_utils-0.3.100 → csrd_utils-0.3.102}/src/csrd_utils/v2/templates/augments/jwt-auth-provider/views/jwks_view.py +0 -0
- {csrd_utils-0.3.100 → csrd_utils-0.3.102}/src/csrd_utils/v2/templates/augments/jwt-auth-provider/views/users_view.py +0 -0
- {csrd_utils-0.3.100 → csrd_utils-0.3.102}/src/csrd_utils/v2/templates/service/cookiecutter.json +0 -0
- {csrd_utils-0.3.100 → csrd_utils-0.3.102}/src/csrd_utils/v2/templates/service/{{cookiecutter.__service_name_snake}}/Dockerfile +0 -0
- {csrd_utils-0.3.100 → csrd_utils-0.3.102}/src/csrd_utils/v2/templates/service/{{cookiecutter.__service_name_snake}}/README.md +0 -0
- {csrd_utils-0.3.100 → csrd_utils-0.3.102}/src/csrd_utils/v2/templates/service/{{cookiecutter.__service_name_snake}}/__init__.py +0 -0
- {csrd_utils-0.3.100 → csrd_utils-0.3.102}/src/csrd_utils/v2/templates/service/{{cookiecutter.__service_name_snake}}/dependencies/__init__.py +0 -0
- {csrd_utils-0.3.100 → csrd_utils-0.3.102}/src/csrd_utils/v2/templates/service/{{cookiecutter.__service_name_snake}}/models/__init__.py +0 -0
- {csrd_utils-0.3.100 → csrd_utils-0.3.102}/src/csrd_utils/v2/templates/service/{{cookiecutter.__service_name_snake}}/models/health.py +0 -0
- {csrd_utils-0.3.100 → csrd_utils-0.3.102}/src/csrd_utils/v2/templates/service/{{cookiecutter.__service_name_snake}}/requirements.txt +0 -0
- {csrd_utils-0.3.100 → csrd_utils-0.3.102}/src/csrd_utils/v2/templates/service/{{cookiecutter.__service_name_snake}}/settings.py +0 -0
- {csrd_utils-0.3.100 → csrd_utils-0.3.102}/src/csrd_utils/v2/templates/service/{{cookiecutter.__service_name_snake}}/tests/__init__.py +0 -0
- {csrd_utils-0.3.100 → csrd_utils-0.3.102}/src/csrd_utils/v2/templates/service/{{cookiecutter.__service_name_snake}}/tests/conftest.py +0 -0
- {csrd_utils-0.3.100 → csrd_utils-0.3.102}/src/csrd_utils/v2/templates/service/{{cookiecutter.__service_name_snake}}/tests/test_health.py +0 -0
- {csrd_utils-0.3.100 → csrd_utils-0.3.102}/src/csrd_utils/v2/templates/service/{{cookiecutter.__service_name_snake}}/views/__init__.py +0 -0
- {csrd_utils-0.3.100 → csrd_utils-0.3.102}/src/csrd_utils/v2/templates/service/{{cookiecutter.__service_name_snake}}/views/health_view.py +0 -0
- {csrd_utils-0.3.100 → csrd_utils-0.3.102}/src/tui_wizard/__init__.py +0 -0
- {csrd_utils-0.3.100 → csrd_utils-0.3.102}/src/tui_wizard/exceptions.py +0 -0
- {csrd_utils-0.3.100 → csrd_utils-0.3.102}/src/tui_wizard/menu.py +0 -0
- {csrd_utils-0.3.100 → csrd_utils-0.3.102}/src/tui_wizard/models.py +0 -0
- {csrd_utils-0.3.100 → csrd_utils-0.3.102}/src/tui_wizard/prompts.py +0 -0
- {csrd_utils-0.3.100 → csrd_utils-0.3.102}/src/tui_wizard/terminal.py +0 -0
- {csrd_utils-0.3.100 → csrd_utils-0.3.102}/src/tui_wizard/wizard.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: csrd-utils
|
|
3
|
-
Version: 0.3.
|
|
3
|
+
Version: 0.3.102
|
|
4
4
|
Summary: CLI utilities for csrd service generation and feature augmentation
|
|
5
5
|
Project-URL: Repository, https://github.com/csrd-api/fastapi-common
|
|
6
6
|
Project-URL: Documentation, https://github.com/csrd-api/fastapi-common/tree/main/packages/utils
|
|
@@ -270,6 +270,11 @@ def render_init(svc: ServiceNode, spec: ComposeSpec) -> str:
|
|
|
270
270
|
if desc is not None:
|
|
271
271
|
descriptors.append((augment.name, desc))
|
|
272
272
|
|
|
273
|
+
# Check whether this service has db-config (needs migration startup)
|
|
274
|
+
has_db = any(name == "db-config" for name, _ in descriptors) or any(
|
|
275
|
+
name == "jwt-auth-provider" for name, _ in descriptors
|
|
276
|
+
)
|
|
277
|
+
|
|
273
278
|
# Collect imports
|
|
274
279
|
imports = [
|
|
275
280
|
"from fastapi import FastAPI",
|
|
@@ -285,6 +290,13 @@ def render_init(svc: ServiceNode, spec: ComposeSpec) -> str:
|
|
|
285
290
|
"from .views import app as unversioned_app",
|
|
286
291
|
]
|
|
287
292
|
|
|
293
|
+
# Migration startup imports
|
|
294
|
+
if has_db:
|
|
295
|
+
imports.append("")
|
|
296
|
+
imports.append("from csrd.migration import MigrationRunner")
|
|
297
|
+
imports.append("from .dependencies.db import create_adapter")
|
|
298
|
+
imports.append("from .migrations import migrations")
|
|
299
|
+
|
|
288
300
|
# Router imports (from descriptors)
|
|
289
301
|
router_aliases: list[str] = []
|
|
290
302
|
for _name, desc in descriptors:
|
|
@@ -358,6 +370,23 @@ def render_init(svc: ServiceNode, spec: ComposeSpec) -> str:
|
|
|
358
370
|
body.append("")
|
|
359
371
|
body.append(f" app.add_exception_handler({exc_cls}, {handler})")
|
|
360
372
|
|
|
373
|
+
# Wire migration startup
|
|
374
|
+
if has_db:
|
|
375
|
+
body.append("")
|
|
376
|
+
body.append(' @app.on_event("startup")')
|
|
377
|
+
body.append(" async def _run_migrations() -> None:")
|
|
378
|
+
body.append(" adapter = create_adapter(settings)")
|
|
379
|
+
body.append(" await adapter.connect()")
|
|
380
|
+
body.append(" runner = MigrationRunner()")
|
|
381
|
+
body.append(" await runner.apply_all(adapter, migrations)")
|
|
382
|
+
body.append(" app.state.db_adapter = adapter")
|
|
383
|
+
body.append("")
|
|
384
|
+
body.append(' @app.on_event("shutdown")')
|
|
385
|
+
body.append(" async def _close_db() -> None:")
|
|
386
|
+
body.append(' adapter = getattr(app.state, "db_adapter", None)')
|
|
387
|
+
body.append(" if adapter is not None:")
|
|
388
|
+
body.append(" await adapter.close()")
|
|
389
|
+
|
|
361
390
|
body.extend(
|
|
362
391
|
[
|
|
363
392
|
"",
|
|
@@ -13,15 +13,16 @@ $db_adapter_import
|
|
|
13
13
|
from . import Settings
|
|
14
14
|
|
|
15
15
|
|
|
16
|
-
def
|
|
16
|
+
def create_adapter(settings: Settings) -> $db_adapter_class:
|
|
17
17
|
"""Create the database adapter for this service.
|
|
18
18
|
|
|
19
|
-
|
|
20
|
-
|
|
19
|
+
Used by the startup lifespan (connect + migrate) and by the
|
|
20
|
+
per-request ``Adapter`` dependency. Override this to switch
|
|
21
|
+
adapter types or customize connection parameters.
|
|
21
22
|
"""
|
|
22
23
|
return $db_adapter_constructor
|
|
23
24
|
|
|
24
25
|
|
|
25
|
-
Adapter = Annotated[$db_adapter_class, Depends(
|
|
26
|
+
Adapter = Annotated[$db_adapter_class, Depends(create_adapter)]
|
|
26
27
|
|
|
27
|
-
__all__ = ("Adapter",)
|
|
28
|
+
__all__ = ("Adapter", "create_adapter")
|
|
@@ -7,7 +7,13 @@ This file is scaffolded once and never overwritten. You can customize
|
|
|
7
7
|
the claims mapper, algorithms, or add role guards here.
|
|
8
8
|
"""
|
|
9
9
|
|
|
10
|
+
from typing import Annotated
|
|
11
|
+
|
|
12
|
+
from fastapi import Depends, Security
|
|
13
|
+
from fastapi.security import HTTPAuthorizationCredentials, HTTPBearer
|
|
14
|
+
|
|
10
15
|
from csrd.auth import JWKSKeyProvider, create_jwt_bearer, require_authorities
|
|
16
|
+
from csrd.models.claims import UserClaims
|
|
11
17
|
|
|
12
18
|
from ..settings import settings
|
|
13
19
|
|
|
@@ -18,12 +24,24 @@ from ..settings import settings
|
|
|
18
24
|
# dependencies (Security / Depends) must be stable objects. The
|
|
19
25
|
# settings singleton is appropriate here — auth config is fixed
|
|
20
26
|
# for the lifetime of the process.
|
|
21
|
-
|
|
27
|
+
_jwt_bearer = create_jwt_bearer(
|
|
22
28
|
key=JWKSKeyProvider(url=settings.auth_jwks_url),
|
|
23
29
|
algorithms=[settings.jwt_algorithm],
|
|
24
30
|
issuer=settings.jwt_issuer,
|
|
25
31
|
audience=settings.jwt_audience,
|
|
26
32
|
)
|
|
27
33
|
|
|
34
|
+
# HTTPBearer scheme makes Swagger UI show the "Authorize" button.
|
|
35
|
+
_http_bearer_scheme = HTTPBearer()
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
async def auth_dep(
|
|
39
|
+
credentials: Annotated[HTTPAuthorizationCredentials, Security(_http_bearer_scheme)],
|
|
40
|
+
claims: Annotated[UserClaims, Depends(_jwt_bearer)],
|
|
41
|
+
) -> UserClaims:
|
|
42
|
+
"""Composite auth dependency: validates the bearer scheme for OpenAPI + verifies the JWT."""
|
|
43
|
+
return claims
|
|
44
|
+
|
|
45
|
+
|
|
28
46
|
# Re-export for convenience
|
|
29
47
|
__all__ = ("auth_dep", "require_authorities")
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{csrd_utils-0.3.100 → csrd_utils-0.3.102}/src/csrd_utils/features/caching/conftest.fragment.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{csrd_utils-0.3.100 → csrd_utils-0.3.102}/src/csrd_utils/features/caching/requirements.fragment
RENAMED
|
File without changes
|
{csrd_utils-0.3.100 → csrd_utils-0.3.102}/src/csrd_utils/features/caching/settings.fragment.py
RENAMED
|
File without changes
|
|
File without changes
|
{csrd_utils-0.3.100 → csrd_utils-0.3.102}/src/csrd_utils/features/caching/tests/test_cache.py
RENAMED
|
File without changes
|
{csrd_utils-0.3.100 → csrd_utils-0.3.102}/src/csrd_utils/features/logging/conftest.fragment.py
RENAMED
|
File without changes
|
|
File without changes
|
{csrd_utils-0.3.100 → csrd_utils-0.3.102}/src/csrd_utils/features/logging/requirements.fragment
RENAMED
|
File without changes
|
{csrd_utils-0.3.100 → csrd_utils-0.3.102}/src/csrd_utils/features/logging/settings.fragment.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{csrd_utils-0.3.100 → csrd_utils-0.3.102}/src/csrd_utils/features/metrics/conftest.fragment.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{csrd_utils-0.3.100 → csrd_utils-0.3.102}/src/csrd_utils/features/metrics/requirements.fragment
RENAMED
|
File without changes
|
{csrd_utils-0.3.100 → csrd_utils-0.3.102}/src/csrd_utils/features/metrics/settings.fragment.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{csrd_utils-0.3.100 → csrd_utils-0.3.102}/src/csrd_utils/features/tracing/conftest.fragment.py
RENAMED
|
File without changes
|
|
File without changes
|
{csrd_utils-0.3.100 → csrd_utils-0.3.102}/src/csrd_utils/features/tracing/requirements.fragment
RENAMED
|
File without changes
|
{csrd_utils-0.3.100 → csrd_utils-0.3.102}/src/csrd_utils/features/tracing/settings.fragment.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{csrd_utils-0.3.100 → csrd_utils-0.3.102}/src/csrd_utils/features/workers/conftest.fragment.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{csrd_utils-0.3.100 → csrd_utils-0.3.102}/src/csrd_utils/features/workers/requirements.fragment
RENAMED
|
File without changes
|
{csrd_utils-0.3.100 → csrd_utils-0.3.102}/src/csrd_utils/features/workers/settings.fragment.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{csrd_utils-0.3.100 → csrd_utils-0.3.102}/src/csrd_utils/features/workers/src/app/workers/tasks.py
RENAMED
|
File without changes
|
{csrd_utils-0.3.100 → csrd_utils-0.3.102}/src/csrd_utils/features/workers/tests/test_workers.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{csrd_utils-0.3.100 → csrd_utils-0.3.102}/src/csrd_utils/templates/cookiecutter-service/README.md
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
|
|
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
|
{csrd_utils-0.3.100 → csrd_utils-0.3.102}/src/csrd_utils/v2/templates/service/cookiecutter.json
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
|