csrd-utils 0.3.37__tar.gz → 0.3.38__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.37 → csrd_utils-0.3.38}/PKG-INFO +1 -1
- {csrd_utils-0.3.37 → csrd_utils-0.3.38}/pyproject.toml +1 -1
- {csrd_utils-0.3.37 → csrd_utils-0.3.38}/src/csrd_utils/augmentor.py +15 -2
- {csrd_utils-0.3.37 → csrd_utils-0.3.38}/src/csrd_utils/doctor.py +24 -12
- {csrd_utils-0.3.37 → csrd_utils-0.3.38}/src/csrd_utils/generator.py +1 -1
- {csrd_utils-0.3.37 → csrd_utils-0.3.38}/src/csrd_utils/templates/cookiecutter-service/hooks/post_gen_project.py +12 -12
- {csrd_utils-0.3.37/src/csrd_utils/templates/cookiecutter-service/{{cookiecutter.service_name}} → csrd_utils-0.3.38/src/csrd_utils/templates/cookiecutter-service/{{cookiecutter.__service_name_snake}}}/Dockerfile +2 -1
- {csrd_utils-0.3.37/src/csrd_utils/templates/cookiecutter-service/{{cookiecutter.service_name}} → csrd_utils-0.3.38/src/csrd_utils/templates/cookiecutter-service/{{cookiecutter.__service_name_snake}}}/README.md +1 -1
- {csrd_utils-0.3.37 → csrd_utils-0.3.38}/.gitignore +0 -0
- {csrd_utils-0.3.37 → csrd_utils-0.3.38}/README.md +0 -0
- {csrd_utils-0.3.37 → csrd_utils-0.3.38}/src/csrd_utils/__init__.py +0 -0
- {csrd_utils-0.3.37 → csrd_utils-0.3.38}/src/csrd_utils/__main__.py +0 -0
- {csrd_utils-0.3.37 → csrd_utils-0.3.38}/src/csrd_utils/audit.py +0 -0
- {csrd_utils-0.3.37 → csrd_utils-0.3.38}/src/csrd_utils/cluster.py +0 -0
- {csrd_utils-0.3.37 → csrd_utils-0.3.38}/src/csrd_utils/features/caching/conftest.fragment.py +0 -0
- {csrd_utils-0.3.37 → csrd_utils-0.3.38}/src/csrd_utils/features/caching/docker-compose.fragment.yaml +0 -0
- {csrd_utils-0.3.37 → csrd_utils-0.3.38}/src/csrd_utils/features/caching/manifest.yaml +0 -0
- {csrd_utils-0.3.37 → csrd_utils-0.3.38}/src/csrd_utils/features/caching/requirements.fragment +0 -0
- {csrd_utils-0.3.37 → csrd_utils-0.3.38}/src/csrd_utils/features/caching/settings.fragment.py +0 -0
- {csrd_utils-0.3.37 → csrd_utils-0.3.38}/src/csrd_utils/features/caching/src/app/cache.py +0 -0
- {csrd_utils-0.3.37 → csrd_utils-0.3.38}/src/csrd_utils/features/caching/tests/test_cache.py +0 -0
- {csrd_utils-0.3.37 → csrd_utils-0.3.38}/src/csrd_utils/features/logging/conftest.fragment.py +0 -0
- {csrd_utils-0.3.37 → csrd_utils-0.3.38}/src/csrd_utils/features/logging/manifest.yaml +0 -0
- {csrd_utils-0.3.37 → csrd_utils-0.3.38}/src/csrd_utils/features/logging/requirements.fragment +0 -0
- {csrd_utils-0.3.37 → csrd_utils-0.3.38}/src/csrd_utils/features/logging/settings.fragment.py +0 -0
- {csrd_utils-0.3.37 → csrd_utils-0.3.38}/src/csrd_utils/features/logging/src/app/middleware/logging.py +0 -0
- {csrd_utils-0.3.37 → csrd_utils-0.3.38}/src/csrd_utils/features/logging/tests/test_logging_middleware.py +0 -0
- {csrd_utils-0.3.37 → csrd_utils-0.3.38}/src/csrd_utils/features/metrics/conftest.fragment.py +0 -0
- {csrd_utils-0.3.37 → csrd_utils-0.3.38}/src/csrd_utils/features/metrics/docker-compose.fragment.yaml +0 -0
- {csrd_utils-0.3.37 → csrd_utils-0.3.38}/src/csrd_utils/features/metrics/manifest.yaml +0 -0
- {csrd_utils-0.3.37 → csrd_utils-0.3.38}/src/csrd_utils/features/metrics/requirements.fragment +0 -0
- {csrd_utils-0.3.37 → csrd_utils-0.3.38}/src/csrd_utils/features/metrics/settings.fragment.py +0 -0
- {csrd_utils-0.3.37 → csrd_utils-0.3.38}/src/csrd_utils/features/metrics/src/app/middleware/metrics.py +0 -0
- {csrd_utils-0.3.37 → csrd_utils-0.3.38}/src/csrd_utils/features/metrics/tests/test_metrics_middleware.py +0 -0
- {csrd_utils-0.3.37 → csrd_utils-0.3.38}/src/csrd_utils/features/tracing/conftest.fragment.py +0 -0
- {csrd_utils-0.3.37 → csrd_utils-0.3.38}/src/csrd_utils/features/tracing/manifest.yaml +0 -0
- {csrd_utils-0.3.37 → csrd_utils-0.3.38}/src/csrd_utils/features/tracing/requirements.fragment +0 -0
- {csrd_utils-0.3.37 → csrd_utils-0.3.38}/src/csrd_utils/features/tracing/settings.fragment.py +0 -0
- {csrd_utils-0.3.37 → csrd_utils-0.3.38}/src/csrd_utils/features/tracing/src/app/middleware/tracing.py +0 -0
- {csrd_utils-0.3.37 → csrd_utils-0.3.38}/src/csrd_utils/features/tracing/tests/test_tracing_middleware.py +0 -0
- {csrd_utils-0.3.37 → csrd_utils-0.3.38}/src/csrd_utils/features/workers/conftest.fragment.py +0 -0
- {csrd_utils-0.3.37 → csrd_utils-0.3.38}/src/csrd_utils/features/workers/docker-compose.fragment.yaml +0 -0
- {csrd_utils-0.3.37 → csrd_utils-0.3.38}/src/csrd_utils/features/workers/manifest.yaml +0 -0
- {csrd_utils-0.3.37 → csrd_utils-0.3.38}/src/csrd_utils/features/workers/requirements.fragment +0 -0
- {csrd_utils-0.3.37 → csrd_utils-0.3.38}/src/csrd_utils/features/workers/settings.fragment.py +0 -0
- {csrd_utils-0.3.37 → csrd_utils-0.3.38}/src/csrd_utils/features/workers/src/app/workers/__init__.py +0 -0
- {csrd_utils-0.3.37 → csrd_utils-0.3.38}/src/csrd_utils/features/workers/src/app/workers/celery_app.py +0 -0
- {csrd_utils-0.3.37 → csrd_utils-0.3.38}/src/csrd_utils/features/workers/src/app/workers/tasks.py +0 -0
- {csrd_utils-0.3.37 → csrd_utils-0.3.38}/src/csrd_utils/features/workers/tests/test_workers.py +0 -0
- {csrd_utils-0.3.37 → csrd_utils-0.3.38}/src/csrd_utils/fragments.py +0 -0
- {csrd_utils-0.3.37 → csrd_utils-0.3.38}/src/csrd_utils/resources.py +0 -0
- {csrd_utils-0.3.37 → csrd_utils-0.3.38}/src/csrd_utils/templates/cookiecutter-service/README.md +0 -0
- {csrd_utils-0.3.37 → csrd_utils-0.3.38}/src/csrd_utils/templates/cookiecutter-service/cookiecutter.json +0 -0
- {csrd_utils-0.3.37/src/csrd_utils/templates/cookiecutter-service/{{cookiecutter.service_name}} → csrd_utils-0.3.38/src/csrd_utils/templates/cookiecutter-service/{{cookiecutter.__service_name_snake}}}/.cookiecutterignore +0 -0
- {csrd_utils-0.3.37/src/csrd_utils/templates/cookiecutter-service/{{cookiecutter.service_name}} → csrd_utils-0.3.38/src/csrd_utils/templates/cookiecutter-service/{{cookiecutter.__service_name_snake}}}/.dockerignore +0 -0
- {csrd_utils-0.3.37/src/csrd_utils/templates/cookiecutter-service/{{cookiecutter.service_name}} → csrd_utils-0.3.38/src/csrd_utils/templates/cookiecutter-service/{{cookiecutter.__service_name_snake}}}/docker-compose.yml +0 -0
- {csrd_utils-0.3.37/src/csrd_utils/templates/cookiecutter-service/{{cookiecutter.service_name}} → csrd_utils-0.3.38/src/csrd_utils/templates/cookiecutter-service/{{cookiecutter.__service_name_snake}}}/pyproject.toml +0 -0
- {csrd_utils-0.3.37/src/csrd_utils/templates/cookiecutter-service/{{cookiecutter.service_name}} → csrd_utils-0.3.38/src/csrd_utils/templates/cookiecutter-service/{{cookiecutter.__service_name_snake}}}/requirements.txt +0 -0
- {csrd_utils-0.3.37/src/csrd_utils/templates/cookiecutter-service/{{cookiecutter.service_name}} → csrd_utils-0.3.38/src/csrd_utils/templates/cookiecutter-service/{{cookiecutter.__service_name_snake}}/src}/{{cookiecutter.__service_name_snake}}/__init__.py +0 -0
- {csrd_utils-0.3.37/src/csrd_utils/templates/cookiecutter-service/{{cookiecutter.service_name}} → csrd_utils-0.3.38/src/csrd_utils/templates/cookiecutter-service/{{cookiecutter.__service_name_snake}}/src}/{{cookiecutter.__service_name_snake}}/cache.py +0 -0
- {csrd_utils-0.3.37/src/csrd_utils/templates/cookiecutter-service/{{cookiecutter.service_name}} → csrd_utils-0.3.38/src/csrd_utils/templates/cookiecutter-service/{{cookiecutter.__service_name_snake}}/src}/{{cookiecutter.__service_name_snake}}/delegates/__init__.py +0 -0
- {csrd_utils-0.3.37/src/csrd_utils/templates/cookiecutter-service/{{cookiecutter.service_name}} → csrd_utils-0.3.38/src/csrd_utils/templates/cookiecutter-service/{{cookiecutter.__service_name_snake}}/src}/{{cookiecutter.__service_name_snake}}/delegates/upstreams.py +0 -0
- {csrd_utils-0.3.37/src/csrd_utils/templates/cookiecutter-service/{{cookiecutter.service_name}} → csrd_utils-0.3.38/src/csrd_utils/templates/cookiecutter-service/{{cookiecutter.__service_name_snake}}/src}/{{cookiecutter.__service_name_snake}}/dependencies/__init__.py +0 -0
- {csrd_utils-0.3.37/src/csrd_utils/templates/cookiecutter-service/{{cookiecutter.service_name}} → csrd_utils-0.3.38/src/csrd_utils/templates/cookiecutter-service/{{cookiecutter.__service_name_snake}}/src}/{{cookiecutter.__service_name_snake}}/dependencies/delegates.py +0 -0
- {csrd_utils-0.3.37/src/csrd_utils/templates/cookiecutter-service/{{cookiecutter.service_name}} → csrd_utils-0.3.38/src/csrd_utils/templates/cookiecutter-service/{{cookiecutter.__service_name_snake}}/src}/{{cookiecutter.__service_name_snake}}/dependencies/item_repository.py +0 -0
- {csrd_utils-0.3.37/src/csrd_utils/templates/cookiecutter-service/{{cookiecutter.service_name}} → csrd_utils-0.3.38/src/csrd_utils/templates/cookiecutter-service/{{cookiecutter.__service_name_snake}}/src}/{{cookiecutter.__service_name_snake}}/dependencies/worker_broker.py +0 -0
- {csrd_utils-0.3.37/src/csrd_utils/templates/cookiecutter-service/{{cookiecutter.service_name}} → csrd_utils-0.3.38/src/csrd_utils/templates/cookiecutter-service/{{cookiecutter.__service_name_snake}}/src}/{{cookiecutter.__service_name_snake}}/middleware/__init__.py +0 -0
- {csrd_utils-0.3.37/src/csrd_utils/templates/cookiecutter-service/{{cookiecutter.service_name}} → csrd_utils-0.3.38/src/csrd_utils/templates/cookiecutter-service/{{cookiecutter.__service_name_snake}}/src}/{{cookiecutter.__service_name_snake}}/middleware/logging.py +0 -0
- {csrd_utils-0.3.37/src/csrd_utils/templates/cookiecutter-service/{{cookiecutter.service_name}} → csrd_utils-0.3.38/src/csrd_utils/templates/cookiecutter-service/{{cookiecutter.__service_name_snake}}/src}/{{cookiecutter.__service_name_snake}}/py.typed +0 -0
- {csrd_utils-0.3.37/src/csrd_utils/templates/cookiecutter-service/{{cookiecutter.service_name}} → csrd_utils-0.3.38/src/csrd_utils/templates/cookiecutter-service/{{cookiecutter.__service_name_snake}}/src}/{{cookiecutter.__service_name_snake}}/repositories/__init__.py +0 -0
- {csrd_utils-0.3.37/src/csrd_utils/templates/cookiecutter-service/{{cookiecutter.service_name}} → csrd_utils-0.3.38/src/csrd_utils/templates/cookiecutter-service/{{cookiecutter.__service_name_snake}}/src}/{{cookiecutter.__service_name_snake}}/repositories/item_repository.py +0 -0
- {csrd_utils-0.3.37/src/csrd_utils/templates/cookiecutter-service/{{cookiecutter.service_name}} → csrd_utils-0.3.38/src/csrd_utils/templates/cookiecutter-service/{{cookiecutter.__service_name_snake}}/src}/{{cookiecutter.__service_name_snake}}/settings.py +0 -0
- {csrd_utils-0.3.37/src/csrd_utils/templates/cookiecutter-service/{{cookiecutter.service_name}} → csrd_utils-0.3.38/src/csrd_utils/templates/cookiecutter-service/{{cookiecutter.__service_name_snake}}/src}/{{cookiecutter.__service_name_snake}}/views/__init__.py +0 -0
- {csrd_utils-0.3.37/src/csrd_utils/templates/cookiecutter-service/{{cookiecutter.service_name}} → csrd_utils-0.3.38/src/csrd_utils/templates/cookiecutter-service/{{cookiecutter.__service_name_snake}}/src}/{{cookiecutter.__service_name_snake}}/views/unversioned/__init__.py +0 -0
- {csrd_utils-0.3.37/src/csrd_utils/templates/cookiecutter-service/{{cookiecutter.service_name}} → csrd_utils-0.3.38/src/csrd_utils/templates/cookiecutter-service/{{cookiecutter.__service_name_snake}}/src}/{{cookiecutter.__service_name_snake}}/views/unversioned/health_view.py +0 -0
- {csrd_utils-0.3.37/src/csrd_utils/templates/cookiecutter-service/{{cookiecutter.service_name}} → csrd_utils-0.3.38/src/csrd_utils/templates/cookiecutter-service/{{cookiecutter.__service_name_snake}}/src}/{{cookiecutter.__service_name_snake}}/views/unversioned/items_view.py +0 -0
- {csrd_utils-0.3.37/src/csrd_utils/templates/cookiecutter-service/{{cookiecutter.service_name}} → csrd_utils-0.3.38/src/csrd_utils/templates/cookiecutter-service/{{cookiecutter.__service_name_snake}}/src}/{{cookiecutter.__service_name_snake}}/workers/__init__.py +0 -0
- {csrd_utils-0.3.37/src/csrd_utils/templates/cookiecutter-service/{{cookiecutter.service_name}} → csrd_utils-0.3.38/src/csrd_utils/templates/cookiecutter-service/{{cookiecutter.__service_name_snake}}/src}/{{cookiecutter.__service_name_snake}}/workers/tasks.py +0 -0
- {csrd_utils-0.3.37/src/csrd_utils/templates/cookiecutter-service/{{cookiecutter.service_name}} → csrd_utils-0.3.38/src/csrd_utils/templates/cookiecutter-service/{{cookiecutter.__service_name_snake}}}/tests/__init__.py +0 -0
- {csrd_utils-0.3.37/src/csrd_utils/templates/cookiecutter-service/{{cookiecutter.service_name}} → csrd_utils-0.3.38/src/csrd_utils/templates/cookiecutter-service/{{cookiecutter.__service_name_snake}}}/tests/acceptance/test_logging_middleware.py +0 -0
- {csrd_utils-0.3.37/src/csrd_utils/templates/cookiecutter-service/{{cookiecutter.service_name}} → csrd_utils-0.3.38/src/csrd_utils/templates/cookiecutter-service/{{cookiecutter.__service_name_snake}}}/tests/conftest.py +0 -0
- {csrd_utils-0.3.37/src/csrd_utils/templates/cookiecutter-service/{{cookiecutter.service_name}} → csrd_utils-0.3.38/src/csrd_utils/templates/cookiecutter-service/{{cookiecutter.__service_name_snake}}}/tests/test_items.py +0 -0
- {csrd_utils-0.3.37/src/csrd_utils/templates/cookiecutter-service/{{cookiecutter.service_name}} → csrd_utils-0.3.38/src/csrd_utils/templates/cookiecutter-service/{{cookiecutter.__service_name_snake}}}/tests/unit/test_cache.py +0 -0
- {csrd_utils-0.3.37/src/csrd_utils/templates/cookiecutter-service/{{cookiecutter.service_name}} → csrd_utils-0.3.38/src/csrd_utils/templates/cookiecutter-service/{{cookiecutter.__service_name_snake}}}/tests/unit/test_database_settings.py +0 -0
- {csrd_utils-0.3.37/src/csrd_utils/templates/cookiecutter-service/{{cookiecutter.service_name}} → csrd_utils-0.3.38/src/csrd_utils/templates/cookiecutter-service/{{cookiecutter.__service_name_snake}}}/tests/unit/test_delegates.py +0 -0
- {csrd_utils-0.3.37/src/csrd_utils/templates/cookiecutter-service/{{cookiecutter.service_name}} → csrd_utils-0.3.38/src/csrd_utils/templates/cookiecutter-service/{{cookiecutter.__service_name_snake}}}/tests/unit/test_settings_contracts.py +0 -0
- {csrd_utils-0.3.37/src/csrd_utils/templates/cookiecutter-service/{{cookiecutter.service_name}} → csrd_utils-0.3.38/src/csrd_utils/templates/cookiecutter-service/{{cookiecutter.__service_name_snake}}}/tests/unit/test_worker_broker.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.38
|
|
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
|
|
@@ -39,14 +39,27 @@ class ServiceAugmentor:
|
|
|
39
39
|
|
|
40
40
|
@property
|
|
41
41
|
def _pkg_dir(self) -> Path:
|
|
42
|
-
"""Return the service package directory
|
|
42
|
+
"""Return the service package directory — src/ layout first, then flat."""
|
|
43
|
+
src_dir = self.service_root / "src"
|
|
44
|
+
if src_dir.is_dir():
|
|
45
|
+
candidate = next(
|
|
46
|
+
(
|
|
47
|
+
p
|
|
48
|
+
for p in src_dir.iterdir()
|
|
49
|
+
if p.is_dir() and not p.name.startswith(".") and (p / "__init__.py").is_file()
|
|
50
|
+
),
|
|
51
|
+
None,
|
|
52
|
+
)
|
|
53
|
+
if candidate is not None:
|
|
54
|
+
return candidate
|
|
55
|
+
# Flat layout fallback
|
|
43
56
|
candidate = next(
|
|
44
57
|
(
|
|
45
58
|
p
|
|
46
59
|
for p in self.service_root.iterdir()
|
|
47
60
|
if p.is_dir()
|
|
48
61
|
and not p.name.startswith(".")
|
|
49
|
-
and p.name
|
|
62
|
+
and p.name not in {"tests", "src"}
|
|
50
63
|
and (p / "__init__.py").is_file()
|
|
51
64
|
),
|
|
52
65
|
None,
|
|
@@ -37,18 +37,30 @@ def run_doctor(service_root: Path) -> DoctorReport:
|
|
|
37
37
|
if not any(path.is_file() for path in compose_candidates):
|
|
38
38
|
errors.append("Missing required file: docker-compose.yml")
|
|
39
39
|
|
|
40
|
-
# Find the service package dir
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
40
|
+
# Find the service package dir — check src/ layout first, then flat layout
|
|
41
|
+
src_dir = root / "src"
|
|
42
|
+
pkg_dir = None
|
|
43
|
+
if src_dir.is_dir():
|
|
44
|
+
pkg_dir = next(
|
|
45
|
+
(
|
|
46
|
+
p
|
|
47
|
+
for p in src_dir.iterdir()
|
|
48
|
+
if p.is_dir() and not p.name.startswith(".") and (p / "__init__.py").is_file()
|
|
49
|
+
),
|
|
50
|
+
None,
|
|
51
|
+
)
|
|
52
|
+
if pkg_dir is None:
|
|
53
|
+
pkg_dir = next(
|
|
54
|
+
(
|
|
55
|
+
p
|
|
56
|
+
for p in root.iterdir()
|
|
57
|
+
if p.is_dir()
|
|
58
|
+
and not p.name.startswith(".")
|
|
59
|
+
and p.name not in {"tests", "src"}
|
|
60
|
+
and (p / "__init__.py").is_file()
|
|
61
|
+
),
|
|
62
|
+
None,
|
|
63
|
+
)
|
|
52
64
|
|
|
53
65
|
marker_files: dict[str, str] = {}
|
|
54
66
|
if pkg_dir is not None:
|
|
@@ -67,7 +67,7 @@ def generate_service(
|
|
|
67
67
|
"""Generate a service from the bundled cookiecutter-service template."""
|
|
68
68
|
output_root = output_dir.resolve()
|
|
69
69
|
output_root.mkdir(parents=True, exist_ok=True)
|
|
70
|
-
target = output_root / name
|
|
70
|
+
target = output_root / name.replace("-", "_")
|
|
71
71
|
|
|
72
72
|
if target.exists() and any(target.iterdir()) and not overwrite_if_exists:
|
|
73
73
|
raise FileExistsError(
|
|
@@ -31,32 +31,32 @@ def _prune_disabled_files() -> None:
|
|
|
31
31
|
path.rmdir()
|
|
32
32
|
|
|
33
33
|
if not HAS_DATABASE:
|
|
34
|
-
_unlink(f"{PKG}/dependencies/item_repository.py")
|
|
35
|
-
_unlink(f"{PKG}/repositories/item_repository.py")
|
|
34
|
+
_unlink(f"src/{PKG}/dependencies/item_repository.py")
|
|
35
|
+
_unlink(f"src/{PKG}/repositories/item_repository.py")
|
|
36
36
|
_unlink("tests/unit/test_database_settings.py")
|
|
37
37
|
|
|
38
38
|
if not HAS_DELEGATES:
|
|
39
|
-
_unlink(f"{PKG}/dependencies/delegates.py")
|
|
40
|
-
_unlink(f"{PKG}/delegates/upstreams.py")
|
|
39
|
+
_unlink(f"src/{PKG}/dependencies/delegates.py")
|
|
40
|
+
_unlink(f"src/{PKG}/delegates/upstreams.py")
|
|
41
41
|
_unlink("tests/unit/test_delegates.py")
|
|
42
42
|
|
|
43
43
|
if not HAS_WORKERS:
|
|
44
|
-
_unlink(f"{PKG}/dependencies/worker_broker.py")
|
|
45
|
-
_unlink(f"{PKG}/workers/tasks.py")
|
|
44
|
+
_unlink(f"src/{PKG}/dependencies/worker_broker.py")
|
|
45
|
+
_unlink(f"src/{PKG}/workers/tasks.py")
|
|
46
46
|
_unlink("tests/unit/test_worker_broker.py")
|
|
47
47
|
|
|
48
48
|
if not HAS_CACHING:
|
|
49
|
-
_unlink(f"{PKG}/cache.py")
|
|
49
|
+
_unlink(f"src/{PKG}/cache.py")
|
|
50
50
|
_unlink("tests/unit/test_cache.py")
|
|
51
51
|
|
|
52
52
|
if not HAS_STRUCTURED_LOGGING:
|
|
53
|
-
_unlink(f"{PKG}/middleware/logging.py")
|
|
53
|
+
_unlink(f"src/{PKG}/middleware/logging.py")
|
|
54
54
|
_unlink("tests/acceptance/test_logging_middleware.py")
|
|
55
55
|
|
|
56
|
-
_rmdir_if_empty(f"{PKG}/repositories")
|
|
57
|
-
_rmdir_if_empty(f"{PKG}/delegates")
|
|
58
|
-
_rmdir_if_empty(f"{PKG}/workers")
|
|
59
|
-
_rmdir_if_empty(f"{PKG}/middleware")
|
|
56
|
+
_rmdir_if_empty(f"src/{PKG}/repositories")
|
|
57
|
+
_rmdir_if_empty(f"src/{PKG}/delegates")
|
|
58
|
+
_rmdir_if_empty(f"src/{PKG}/workers")
|
|
59
|
+
_rmdir_if_empty(f"src/{PKG}/middleware")
|
|
60
60
|
_rmdir_if_empty("tests/unit")
|
|
61
61
|
_rmdir_if_empty("tests/acceptance")
|
|
62
62
|
|
|
@@ -5,8 +5,9 @@ WORKDIR /app
|
|
|
5
5
|
COPY requirements.txt /app/requirements.txt
|
|
6
6
|
RUN pip install --no-cache-dir -r /app/requirements.txt
|
|
7
7
|
|
|
8
|
-
COPY
|
|
8
|
+
COPY src /app/src
|
|
9
9
|
|
|
10
|
+
ENV PYTHONPATH=/app/src
|
|
10
11
|
ENV PORT={{ cookiecutter.port }}
|
|
11
12
|
|
|
12
13
|
CMD uvicorn {{cookiecutter.__service_name_snake}}:build_app --factory --host 0.0.0.0 --port ${PORT}
|
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
## Run locally
|
|
25
25
|
|
|
26
26
|
```bash
|
|
27
|
-
uvicorn {{cookiecutter.__service_name_snake}}:build_app --factory --reload --port {{ cookiecutter.port }}
|
|
27
|
+
PYTHONPATH=src uvicorn {{cookiecutter.__service_name_snake}}:build_app --factory --reload --port {{ cookiecutter.port }}
|
|
28
28
|
```
|
|
29
29
|
|
|
30
30
|
## Run with compose
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{csrd_utils-0.3.37 → csrd_utils-0.3.38}/src/csrd_utils/features/caching/conftest.fragment.py
RENAMED
|
File without changes
|
{csrd_utils-0.3.37 → csrd_utils-0.3.38}/src/csrd_utils/features/caching/docker-compose.fragment.yaml
RENAMED
|
File without changes
|
|
File without changes
|
{csrd_utils-0.3.37 → csrd_utils-0.3.38}/src/csrd_utils/features/caching/requirements.fragment
RENAMED
|
File without changes
|
{csrd_utils-0.3.37 → csrd_utils-0.3.38}/src/csrd_utils/features/caching/settings.fragment.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{csrd_utils-0.3.37 → csrd_utils-0.3.38}/src/csrd_utils/features/logging/conftest.fragment.py
RENAMED
|
File without changes
|
|
File without changes
|
{csrd_utils-0.3.37 → csrd_utils-0.3.38}/src/csrd_utils/features/logging/requirements.fragment
RENAMED
|
File without changes
|
{csrd_utils-0.3.37 → csrd_utils-0.3.38}/src/csrd_utils/features/logging/settings.fragment.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{csrd_utils-0.3.37 → csrd_utils-0.3.38}/src/csrd_utils/features/metrics/conftest.fragment.py
RENAMED
|
File without changes
|
{csrd_utils-0.3.37 → csrd_utils-0.3.38}/src/csrd_utils/features/metrics/docker-compose.fragment.yaml
RENAMED
|
File without changes
|
|
File without changes
|
{csrd_utils-0.3.37 → csrd_utils-0.3.38}/src/csrd_utils/features/metrics/requirements.fragment
RENAMED
|
File without changes
|
{csrd_utils-0.3.37 → csrd_utils-0.3.38}/src/csrd_utils/features/metrics/settings.fragment.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{csrd_utils-0.3.37 → csrd_utils-0.3.38}/src/csrd_utils/features/tracing/conftest.fragment.py
RENAMED
|
File without changes
|
|
File without changes
|
{csrd_utils-0.3.37 → csrd_utils-0.3.38}/src/csrd_utils/features/tracing/requirements.fragment
RENAMED
|
File without changes
|
{csrd_utils-0.3.37 → csrd_utils-0.3.38}/src/csrd_utils/features/tracing/settings.fragment.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{csrd_utils-0.3.37 → csrd_utils-0.3.38}/src/csrd_utils/features/workers/conftest.fragment.py
RENAMED
|
File without changes
|
{csrd_utils-0.3.37 → csrd_utils-0.3.38}/src/csrd_utils/features/workers/docker-compose.fragment.yaml
RENAMED
|
File without changes
|
|
File without changes
|
{csrd_utils-0.3.37 → csrd_utils-0.3.38}/src/csrd_utils/features/workers/requirements.fragment
RENAMED
|
File without changes
|
{csrd_utils-0.3.37 → csrd_utils-0.3.38}/src/csrd_utils/features/workers/settings.fragment.py
RENAMED
|
File without changes
|
{csrd_utils-0.3.37 → csrd_utils-0.3.38}/src/csrd_utils/features/workers/src/app/workers/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{csrd_utils-0.3.37 → csrd_utils-0.3.38}/src/csrd_utils/features/workers/src/app/workers/tasks.py
RENAMED
|
File without changes
|
{csrd_utils-0.3.37 → csrd_utils-0.3.38}/src/csrd_utils/features/workers/tests/test_workers.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{csrd_utils-0.3.37 → csrd_utils-0.3.38}/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
|