assay-engine 0.5.0.dev2__tar.gz → 0.5.0.dev3__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 (29) hide show
  1. {assay_engine-0.5.0.dev2 → assay_engine-0.5.0.dev3}/PKG-INFO +8 -7
  2. {assay_engine-0.5.0.dev2 → assay_engine-0.5.0.dev3}/README.md +7 -6
  3. {assay_engine-0.5.0.dev2 → assay_engine-0.5.0.dev3}/pyproject.toml +7 -5
  4. {assay_engine-0.5.0.dev2 → assay_engine-0.5.0.dev3}/src/assay/_version.py +1 -1
  5. {assay_engine-0.5.0.dev2 → assay_engine-0.5.0.dev3}/LICENSE +0 -0
  6. {assay_engine-0.5.0.dev2 → assay_engine-0.5.0.dev3}/src/assay/__init__.py +0 -0
  7. {assay_engine-0.5.0.dev2 → assay_engine-0.5.0.dev3}/src/assay/_cli_app.py +0 -0
  8. {assay_engine-0.5.0.dev2 → assay_engine-0.5.0.dev3}/src/assay/_cli_io.py +0 -0
  9. {assay_engine-0.5.0.dev2 → assay_engine-0.5.0.dev3}/src/assay/_json.py +0 -0
  10. {assay_engine-0.5.0.dev2 → assay_engine-0.5.0.dev3}/src/assay/_optional.py +0 -0
  11. {assay_engine-0.5.0.dev2 → assay_engine-0.5.0.dev3}/src/assay/additive.py +0 -0
  12. {assay_engine-0.5.0.dev2 → assay_engine-0.5.0.dev3}/src/assay/agreement.py +0 -0
  13. {assay_engine-0.5.0.dev2 → assay_engine-0.5.0.dev3}/src/assay/calibration.py +0 -0
  14. {assay_engine-0.5.0.dev2 → assay_engine-0.5.0.dev3}/src/assay/cli.py +0 -0
  15. {assay_engine-0.5.0.dev2 → assay_engine-0.5.0.dev3}/src/assay/compose.py +0 -0
  16. {assay_engine-0.5.0.dev2 → assay_engine-0.5.0.dev3}/src/assay/composite.py +0 -0
  17. {assay_engine-0.5.0.dev2 → assay_engine-0.5.0.dev3}/src/assay/contracts.py +0 -0
  18. {assay_engine-0.5.0.dev2 → assay_engine-0.5.0.dev3}/src/assay/errors.py +0 -0
  19. {assay_engine-0.5.0.dev2 → assay_engine-0.5.0.dev3}/src/assay/limits.py +0 -0
  20. {assay_engine-0.5.0.dev2 → assay_engine-0.5.0.dev3}/src/assay/measurement.py +0 -0
  21. {assay_engine-0.5.0.dev2 → assay_engine-0.5.0.dev3}/src/assay/metrics.py +0 -0
  22. {assay_engine-0.5.0.dev2 → assay_engine-0.5.0.dev3}/src/assay/minimum.py +0 -0
  23. {assay_engine-0.5.0.dev2 → assay_engine-0.5.0.dev3}/src/assay/models.py +0 -0
  24. {assay_engine-0.5.0.dev2 → assay_engine-0.5.0.dev3}/src/assay/normalize.py +0 -0
  25. {assay_engine-0.5.0.dev2 → assay_engine-0.5.0.dev3}/src/assay/py.typed +0 -0
  26. {assay_engine-0.5.0.dev2 → assay_engine-0.5.0.dev3}/src/assay/ranking.py +0 -0
  27. {assay_engine-0.5.0.dev2 → assay_engine-0.5.0.dev3}/src/assay/settings.py +0 -0
  28. {assay_engine-0.5.0.dev2 → assay_engine-0.5.0.dev3}/src/assay/uncertainty.py +0 -0
  29. {assay_engine-0.5.0.dev2 → assay_engine-0.5.0.dev3}/src/assay/weighted_mean.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: assay-engine
3
- Version: 0.5.0.dev2
3
+ Version: 0.5.0.dev3
4
4
  Summary: Explainable composition of measurements recorded on heterogeneous scales.
5
5
  Project-URL: Homepage, https://github.com/hseshadr/assay
6
6
  Project-URL: Repository, https://github.com/hseshadr/assay
@@ -36,12 +36,13 @@ score and the arithmetic behind every row.
36
36
 
37
37
  ## Installation status
38
38
 
39
- > **Status:** `assay-engine` 0.5.0.dev2 and `@edgeproc/assay` 0.5.0-dev.2 are local split candidates. Neither package is published.
39
+ > **Status:** `assay-engine` 0.5.0.dev3 and `@edgeproc/assay` 0.5.0-dev.3 are the authorized prerelease pair. Check both registries before installing.
40
40
 
41
- The future authorized registry commands are `pip install assay-engine` and
42
- `npm install @edgeproc/assay`. They are shown for identity only; do not run them until
43
- a release is explicitly authorized. The runnable candidate path builds from this
44
- checkout.
41
+ The base registry commands are `pip install assay-engine` and
42
+ `npm install @edgeproc/assay`. For this prerelease, pin them as
43
+ `pip install assay-engine==0.5.0.dev3` and `npm install @edgeproc/assay@0.5.0-dev.3`,
44
+ and use them only after both exact versions appear in their registries. The checkout
45
+ path below remains runnable before, during, and after publication.
45
46
 
46
47
  ## Run the Northstar example
47
48
 
@@ -224,7 +225,7 @@ print(result.score, result.selected_component_id)
224
225
  ```
225
226
 
226
227
  The command line accepts typed JSON for `assay compose`, `assay measure`, and
227
- `assay explain`. Build and installation commands for the unpublished checkout are in
228
+ `assay explain`. Build and installation commands for the source checkout are in
228
229
  the [quickstart](https://github.com/hseshadr/assay/blob/main/QUICKSTART.md).
229
230
 
230
231
  ## Optional calculators
@@ -8,12 +8,13 @@ score and the arithmetic behind every row.
8
8
 
9
9
  ## Installation status
10
10
 
11
- > **Status:** `assay-engine` 0.5.0.dev2 and `@edgeproc/assay` 0.5.0-dev.2 are local split candidates. Neither package is published.
11
+ > **Status:** `assay-engine` 0.5.0.dev3 and `@edgeproc/assay` 0.5.0-dev.3 are the authorized prerelease pair. Check both registries before installing.
12
12
 
13
- The future authorized registry commands are `pip install assay-engine` and
14
- `npm install @edgeproc/assay`. They are shown for identity only; do not run them until
15
- a release is explicitly authorized. The runnable candidate path builds from this
16
- checkout.
13
+ The base registry commands are `pip install assay-engine` and
14
+ `npm install @edgeproc/assay`. For this prerelease, pin them as
15
+ `pip install assay-engine==0.5.0.dev3` and `npm install @edgeproc/assay@0.5.0-dev.3`,
16
+ and use them only after both exact versions appear in their registries. The checkout
17
+ path below remains runnable before, during, and after publication.
17
18
 
18
19
  ## Run the Northstar example
19
20
 
@@ -196,7 +197,7 @@ print(result.score, result.selected_component_id)
196
197
  ```
197
198
 
198
199
  The command line accepts typed JSON for `assay compose`, `assay measure`, and
199
- `assay explain`. Build and installation commands for the unpublished checkout are in
200
+ `assay explain`. Build and installation commands for the source checkout are in
200
201
  the [quickstart](https://github.com/hseshadr/assay/blob/main/QUICKSTART.md).
201
202
 
202
203
  ## Optional calculators
@@ -40,6 +40,7 @@ cli = [
40
40
 
41
41
  [dependency-groups]
42
42
  dev = [
43
+ "dagger-io==0.21.8",
43
44
  "hatchling==1.27.0",
44
45
  "pytest>=9.1.1",
45
46
  "pytest-cov>=6.0",
@@ -92,6 +93,7 @@ ignore = ["S101", "PLR0913"]
92
93
  "tests/test_cli_privacy.py" = ["S603", "S607"]
93
94
  "tests/test_measurement.py" = ["S603", "S607"]
94
95
  "tests/test_release_contract.py" = ["S603", "S607"]
96
+ "tests/test_dagger_contract.py" = ["S603"]
95
97
  "tests/test_workflow_contract.py" = ["S603", "S607"]
96
98
  # Domain errors use semantic names such as InvalidRankingRequest. They are the stable,
97
99
  # coded interface consumed across Assay's calculators, CLI, and tests.
@@ -150,10 +152,10 @@ fail_under = 90.0
150
152
  [tool.poe.tasks]
151
153
  # scripts/ is held to the same bar as src/ and tests/: the mutation harness is the thing
152
154
  # that proves the guards can fail, so it is not exempt from the gate that guards them.
153
- lint = "ruff check src/ tests/ scripts/ benchmarks/"
154
- fmt-check = "ruff format --check src/ tests/ scripts/ benchmarks/"
155
- fmt = "ruff format src/ tests/ scripts/ benchmarks/"
156
- complexity = "xenon --max-absolute A --max-modules A --max-average A src/assay scripts benchmarks"
155
+ lint = "ruff check .dagger/src src/ tests/ scripts/ benchmarks/"
156
+ fmt-check = "ruff format --check .dagger/src src/ tests/ scripts/ benchmarks/"
157
+ fmt = "ruff format .dagger/src src/ tests/ scripts/ benchmarks/"
158
+ complexity = "xenon --max-absolute A --max-modules A --max-average A .dagger/src src/assay scripts benchmarks"
157
159
  test = "pytest --cov=assay --cov-branch --cov-report=term-missing --cov-fail-under=90"
158
160
  gate = ["lint", "fmt-check", "typecheck", "complexity", "test"]
159
161
 
@@ -170,4 +172,4 @@ artifacts = "bash scripts/build_release_artifacts.sh dist/release"
170
172
  release-candidate = "bash scripts/verify_release_candidate.sh"
171
173
 
172
174
  [tool.poe.tasks.typecheck]
173
- cmd = "mypy --strict src/assay scripts benchmarks"
175
+ cmd = "mypy --strict .dagger/src src/assay scripts benchmarks"
@@ -2,4 +2,4 @@
2
2
 
3
3
  from __future__ import annotations
4
4
 
5
- __version__ = "0.5.0.dev2"
5
+ __version__ = "0.5.0.dev3"