nthlayer-core 3.0.0__tar.gz → 3.0.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.
Files changed (36) hide show
  1. {nthlayer_core-3.0.0 → nthlayer_core-3.0.2}/PKG-INFO +2 -2
  2. {nthlayer_core-3.0.0 → nthlayer_core-3.0.2}/pyproject.toml +5 -2
  3. {nthlayer_core-3.0.0 → nthlayer_core-3.0.2}/src/nthlayer_core.egg-info/PKG-INFO +2 -2
  4. {nthlayer_core-3.0.0 → nthlayer_core-3.0.2}/src/nthlayer_core.egg-info/requires.txt +1 -1
  5. {nthlayer_core-3.0.0 → nthlayer_core-3.0.2}/tests/test_dependency_declarations.py +23 -0
  6. {nthlayer_core-3.0.0 → nthlayer_core-3.0.2}/README.md +0 -0
  7. {nthlayer_core-3.0.0 → nthlayer_core-3.0.2}/setup.cfg +0 -0
  8. {nthlayer_core-3.0.0 → nthlayer_core-3.0.2}/src/nthlayer_core/__init__.py +0 -0
  9. {nthlayer_core-3.0.0 → nthlayer_core-3.0.2}/src/nthlayer_core/_openapi/__init__.py +0 -0
  10. {nthlayer_core-3.0.0 → nthlayer_core-3.0.2}/src/nthlayer_core/_openapi/paths_assessments_cases.py +0 -0
  11. {nthlayer_core-3.0.0 → nthlayer_core-3.0.2}/src/nthlayer_core/_openapi/paths_health.py +0 -0
  12. {nthlayer_core-3.0.0 → nthlayer_core-3.0.2}/src/nthlayer_core/_openapi/paths_other.py +0 -0
  13. {nthlayer_core-3.0.0 → nthlayer_core-3.0.2}/src/nthlayer_core/_openapi/paths_verdicts.py +0 -0
  14. {nthlayer_core-3.0.0 → nthlayer_core-3.0.2}/src/nthlayer_core/catalogue.py +0 -0
  15. {nthlayer_core-3.0.0 → nthlayer_core-3.0.2}/src/nthlayer_core/cli.py +0 -0
  16. {nthlayer_core-3.0.0 → nthlayer_core-3.0.2}/src/nthlayer_core/openapi_spec.py +0 -0
  17. {nthlayer_core-3.0.0 → nthlayer_core-3.0.2}/src/nthlayer_core/server.py +0 -0
  18. {nthlayer_core-3.0.0 → nthlayer_core-3.0.2}/src/nthlayer_core/store.py +0 -0
  19. {nthlayer_core-3.0.0 → nthlayer_core-3.0.2}/src/nthlayer_core.egg-info/SOURCES.txt +0 -0
  20. {nthlayer_core-3.0.0 → nthlayer_core-3.0.2}/src/nthlayer_core.egg-info/dependency_links.txt +0 -0
  21. {nthlayer_core-3.0.0 → nthlayer_core-3.0.2}/src/nthlayer_core.egg-info/entry_points.txt +0 -0
  22. {nthlayer_core-3.0.0 → nthlayer_core-3.0.2}/src/nthlayer_core.egg-info/top_level.txt +0 -0
  23. {nthlayer_core-3.0.0 → nthlayer_core-3.0.2}/tests/test_api.py +0 -0
  24. {nthlayer_core-3.0.0 → nthlayer_core-3.0.2}/tests/test_api_cases.py +0 -0
  25. {nthlayer_core-3.0.0 → nthlayer_core-3.0.2}/tests/test_api_component_state.py +0 -0
  26. {nthlayer_core-3.0.0 → nthlayer_core-3.0.2}/tests/test_api_heartbeats.py +0 -0
  27. {nthlayer_core-3.0.0 → nthlayer_core-3.0.2}/tests/test_api_manifests.py +0 -0
  28. {nthlayer_core-3.0.0 → nthlayer_core-3.0.2}/tests/test_api_overrides.py +0 -0
  29. {nthlayer_core-3.0.0 → nthlayer_core-3.0.2}/tests/test_api_suppressions.py +0 -0
  30. {nthlayer_core-3.0.0 → nthlayer_core-3.0.2}/tests/test_deploying_doc_parity.py +0 -0
  31. {nthlayer_core-3.0.0 → nthlayer_core-3.0.2}/tests/test_health.py +0 -0
  32. {nthlayer_core-3.0.0 → nthlayer_core-3.0.2}/tests/test_openapi.py +0 -0
  33. {nthlayer_core-3.0.0 → nthlayer_core-3.0.2}/tests/test_retention.py +0 -0
  34. {nthlayer_core-3.0.0 → nthlayer_core-3.0.2}/tests/test_store.py +0 -0
  35. {nthlayer_core-3.0.0 → nthlayer_core-3.0.2}/tests/test_store_verdictstore.py +0 -0
  36. {nthlayer_core-3.0.0 → nthlayer_core-3.0.2}/tests/test_threshold_schema_parity.py +0 -0
@@ -1,10 +1,10 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: nthlayer-core
3
- Version: 3.0.0
3
+ Version: 3.0.2
4
4
  Summary: NthLayer core — reliability-critical verdict store, case management, and HTTP API
5
5
  Requires-Python: >=3.11
6
6
  Description-Content-Type: text/markdown
7
- Requires-Dist: nthlayer-common<6.0.0,>=5.0.0
7
+ Requires-Dist: nthlayer-common<6.0.0,>=5.3.0
8
8
  Requires-Dist: starlette>=0.40
9
9
  Requires-Dist: uvicorn>=0.30
10
10
  Requires-Dist: httpx>=0.27
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "nthlayer-core"
7
- version = "3.0.0"
7
+ version = "3.0.2"
8
8
  description = "NthLayer core — reliability-critical verdict store, case management, and HTTP API"
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.11"
@@ -20,7 +20,10 @@ dependencies = [
20
20
  # every threshold entry [opensrm-7zpz]; catalogue.manifest_to_dict
21
21
  # serialises each threshold via threshold_to_v2_entry, common's validated
22
22
  # emitter of the v2 spec.judgment_threshold entry, never a hand-copy.
23
- "nthlayer-common>=5.0.0,<6.0.0",
23
+ # WHY 5.3.0 (opensrm-pnmv): the version this repo is now built and tested
24
+ # against (rule 10: the floor is the installed sibling). Bump it on
25
+ # every nthlayer-common minor release: the floor guard fails until you do.
26
+ "nthlayer-common>=5.3.0,<6.0.0",
24
27
  "starlette>=0.40",
25
28
  "uvicorn>=0.30",
26
29
  "httpx>=0.27",
@@ -1,10 +1,10 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: nthlayer-core
3
- Version: 3.0.0
3
+ Version: 3.0.2
4
4
  Summary: NthLayer core — reliability-critical verdict store, case management, and HTTP API
5
5
  Requires-Python: >=3.11
6
6
  Description-Content-Type: text/markdown
7
- Requires-Dist: nthlayer-common<6.0.0,>=5.0.0
7
+ Requires-Dist: nthlayer-common<6.0.0,>=5.3.0
8
8
  Requires-Dist: starlette>=0.40
9
9
  Requires-Dist: uvicorn>=0.30
10
10
  Requires-Dist: httpx>=0.27
@@ -1,4 +1,4 @@
1
- nthlayer-common<6.0.0,>=5.0.0
1
+ nthlayer-common<6.0.0,>=5.3.0
2
2
  starlette>=0.40
3
3
  uvicorn>=0.30
4
4
  httpx>=0.27
@@ -261,3 +261,26 @@ def test_declared_ceiling_is_exactly_the_next_major(name):
261
261
  f"is {installed}, so the ceiling must be '<{expected}'. A wider ceiling "
262
262
  f"publishes a major nothing here has run."
263
263
  )
264
+
265
+
266
+ def test_uv_lock_records_this_projects_version():
267
+ """uv.lock's own [[package]] entry must carry pyproject's version.
268
+
269
+ release-please bumps pyproject.toml; a toml extra-files updater in
270
+ release-please-config.json bumps this entry in the same release PR. That
271
+ updater only WARNS when its jsonpath matches nothing (a renamed package, a
272
+ lock-format change), so without this test the lock would silently go stale
273
+ again and every `uv sync` after a release would dirty it [opensrm-g35i].
274
+ Release PRs run CI, so a skipped bump fails here, on the release PR.
275
+ """
276
+ root = Path(__file__).resolve().parents[1]
277
+ project = tomllib.loads((root / "pyproject.toml").read_text())["project"]
278
+ lock = tomllib.loads((root / "uv.lock").read_text())
279
+ entries = [p for p in lock.get("package", []) if p.get("name") == project["name"]]
280
+ assert len(entries) == 1, (
281
+ f"uv.lock has {len(entries)} [[package]] entries named {project['name']!r}"
282
+ )
283
+ assert entries[0].get("version") == project["version"], (
284
+ f"uv.lock records {project['name']} {entries[0].get('version')}, pyproject says "
285
+ f"{project['version']}: run `uv lock` (and check release-please-config.json extra-files)"
286
+ )
File without changes
File without changes