evalsuite-python 0.4.0__tar.gz → 0.4.1__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.
- {evalsuite_python-0.4.0 → evalsuite_python-0.4.1}/CHANGELOG.md +18 -0
- {evalsuite_python-0.4.0 → evalsuite_python-0.4.1}/PKG-INFO +8 -2
- {evalsuite_python-0.4.0 → evalsuite_python-0.4.1}/README.md +7 -1
- evalsuite_python-0.4.1/src/evalsuite/_bench_metrics.py +1391 -0
- {evalsuite_python-0.4.0 → evalsuite_python-0.4.1}/src/evalsuite/benchmarks.py +17 -7
- {evalsuite_python-0.4.0 → evalsuite_python-0.4.1}/src/evalsuite/cli/main.py +3 -2
- {evalsuite_python-0.4.0 → evalsuite_python-0.4.1}/src/evalsuite/clinical/metrics.py +7 -4
- {evalsuite_python-0.4.0 → evalsuite_python-0.4.1}/src/evalsuite/text/generation.py +9 -8
- {evalsuite_python-0.4.0 → evalsuite_python-0.4.1}/src/evalsuite/version.py +1 -1
- {evalsuite_python-0.4.0 → evalsuite_python-0.4.1}/tests/output/test_benchmarks.py +34 -0
- {evalsuite_python-0.4.0 → evalsuite_python-0.4.1}/.gitignore +0 -0
- {evalsuite_python-0.4.0 → evalsuite_python-0.4.1}/CONTRIBUTING.md +0 -0
- {evalsuite_python-0.4.0 → evalsuite_python-0.4.1}/LICENSE +0 -0
- {evalsuite_python-0.4.0 → evalsuite_python-0.4.1}/pyproject.toml +0 -0
- {evalsuite_python-0.4.0 → evalsuite_python-0.4.1}/src/evalsuite/__init__.py +0 -0
- {evalsuite_python-0.4.0 → evalsuite_python-0.4.1}/src/evalsuite/__main__.py +0 -0
- {evalsuite_python-0.4.0 → evalsuite_python-0.4.1}/src/evalsuite/api.py +0 -0
- {evalsuite_python-0.4.0 → evalsuite_python-0.4.1}/src/evalsuite/calibration.py +0 -0
- {evalsuite_python-0.4.0 → evalsuite_python-0.4.1}/src/evalsuite/classification/__init__.py +0 -0
- {evalsuite_python-0.4.0 → evalsuite_python-0.4.1}/src/evalsuite/classification/_common.py +0 -0
- {evalsuite_python-0.4.0 → evalsuite_python-0.4.1}/src/evalsuite/classification/metrics.py +0 -0
- {evalsuite_python-0.4.0 → evalsuite_python-0.4.1}/src/evalsuite/cli/__init__.py +0 -0
- {evalsuite_python-0.4.0 → evalsuite_python-0.4.1}/src/evalsuite/clinical/__init__.py +0 -0
- {evalsuite_python-0.4.0 → evalsuite_python-0.4.1}/src/evalsuite/clinical/report.py +0 -0
- {evalsuite_python-0.4.0 → evalsuite_python-0.4.1}/src/evalsuite/core/__init__.py +0 -0
- {evalsuite_python-0.4.0 → evalsuite_python-0.4.1}/src/evalsuite/core/context.py +0 -0
- {evalsuite_python-0.4.0 → evalsuite_python-0.4.1}/src/evalsuite/core/exceptions.py +0 -0
- {evalsuite_python-0.4.0 → evalsuite_python-0.4.1}/src/evalsuite/core/export.py +0 -0
- {evalsuite_python-0.4.0 → evalsuite_python-0.4.1}/src/evalsuite/core/registry.py +0 -0
- {evalsuite_python-0.4.0 → evalsuite_python-0.4.1}/src/evalsuite/core/result.py +0 -0
- {evalsuite_python-0.4.0 → evalsuite_python-0.4.1}/src/evalsuite/core/types.py +0 -0
- {evalsuite_python-0.4.0 → evalsuite_python-0.4.1}/src/evalsuite/core/validation.py +0 -0
- {evalsuite_python-0.4.0 → evalsuite_python-0.4.1}/src/evalsuite/plot.py +0 -0
- {evalsuite_python-0.4.0 → evalsuite_python-0.4.1}/src/evalsuite/py.typed +0 -0
- {evalsuite_python-0.4.0 → evalsuite_python-0.4.1}/src/evalsuite/regression/__init__.py +0 -0
- {evalsuite_python-0.4.0 → evalsuite_python-0.4.1}/src/evalsuite/regression/metrics.py +0 -0
- {evalsuite_python-0.4.0 → evalsuite_python-0.4.1}/src/evalsuite/reporting.py +0 -0
- {evalsuite_python-0.4.0 → evalsuite_python-0.4.1}/src/evalsuite/stats/__init__.py +0 -0
- {evalsuite_python-0.4.0 → evalsuite_python-0.4.1}/src/evalsuite/stats/_resolve.py +0 -0
- {evalsuite_python-0.4.0 → evalsuite_python-0.4.1}/src/evalsuite/stats/compare.py +0 -0
- {evalsuite_python-0.4.0 → evalsuite_python-0.4.1}/src/evalsuite/stats/effect.py +0 -0
- {evalsuite_python-0.4.0 → evalsuite_python-0.4.1}/src/evalsuite/stats/hypothesis.py +0 -0
- {evalsuite_python-0.4.0 → evalsuite_python-0.4.1}/src/evalsuite/stats/intervals.py +0 -0
- {evalsuite_python-0.4.0 → evalsuite_python-0.4.1}/src/evalsuite/stats/paired.py +0 -0
- {evalsuite_python-0.4.0 → evalsuite_python-0.4.1}/src/evalsuite/stats/results.py +0 -0
- {evalsuite_python-0.4.0 → evalsuite_python-0.4.1}/src/evalsuite/text/__init__.py +0 -0
- {evalsuite_python-0.4.0 → evalsuite_python-0.4.1}/src/evalsuite/text/_common.py +0 -0
- {evalsuite_python-0.4.0 → evalsuite_python-0.4.1}/src/evalsuite/text/factuality.py +0 -0
- {evalsuite_python-0.4.0 → evalsuite_python-0.4.1}/src/evalsuite/text/judge.py +0 -0
- {evalsuite_python-0.4.0 → evalsuite_python-0.4.1}/src/evalsuite/text/qa.py +0 -0
- {evalsuite_python-0.4.0 → evalsuite_python-0.4.1}/src/evalsuite/text/rag.py +0 -0
- {evalsuite_python-0.4.0 → evalsuite_python-0.4.1}/src/evalsuite/text/reasoning.py +0 -0
- {evalsuite_python-0.4.0 → evalsuite_python-0.4.1}/src/evalsuite/text/report.py +0 -0
- {evalsuite_python-0.4.0 → evalsuite_python-0.4.1}/src/evalsuite/text/retrieval.py +0 -0
- {evalsuite_python-0.4.0 → evalsuite_python-0.4.1}/src/evalsuite/text/semantic.py +0 -0
- {evalsuite_python-0.4.0 → evalsuite_python-0.4.1}/src/evalsuite/text/structured.py +0 -0
- {evalsuite_python-0.4.0 → evalsuite_python-0.4.1}/src/evalsuite/vision/__init__.py +0 -0
- {evalsuite_python-0.4.0 → evalsuite_python-0.4.1}/src/evalsuite/vision/detection.py +0 -0
- {evalsuite_python-0.4.0 → evalsuite_python-0.4.1}/src/evalsuite/vision/segmentation.py +0 -0
- {evalsuite_python-0.4.0 → evalsuite_python-0.4.1}/tests/__init__.py +0 -0
- {evalsuite_python-0.4.0 → evalsuite_python-0.4.1}/tests/classification/__init__.py +0 -0
- {evalsuite_python-0.4.0 → evalsuite_python-0.4.1}/tests/classification/test_against_sklearn.py +0 -0
- {evalsuite_python-0.4.0 → evalsuite_python-0.4.1}/tests/clinical/__init__.py +0 -0
- {evalsuite_python-0.4.0 → evalsuite_python-0.4.1}/tests/clinical/test_outputs.py +0 -0
- {evalsuite_python-0.4.0 → evalsuite_python-0.4.1}/tests/clinical/test_v020.py +0 -0
- {evalsuite_python-0.4.0 → evalsuite_python-0.4.1}/tests/conftest.py +0 -0
- {evalsuite_python-0.4.0 → evalsuite_python-0.4.1}/tests/integration/__init__.py +0 -0
- {evalsuite_python-0.4.0 → evalsuite_python-0.4.1}/tests/integration/test_qa.py +0 -0
- {evalsuite_python-0.4.0 → evalsuite_python-0.4.1}/tests/integration/test_readme_examples.py +0 -0
- {evalsuite_python-0.4.0 → evalsuite_python-0.4.1}/tests/integration/test_repo_hygiene.py +0 -0
- {evalsuite_python-0.4.0 → evalsuite_python-0.4.1}/tests/output/__init__.py +0 -0
- {evalsuite_python-0.4.0 → evalsuite_python-0.4.1}/tests/output/test_cli.py +0 -0
- {evalsuite_python-0.4.0 → evalsuite_python-0.4.1}/tests/output/test_plot.py +0 -0
- {evalsuite_python-0.4.0 → evalsuite_python-0.4.1}/tests/output/test_reporting.py +0 -0
- {evalsuite_python-0.4.0 → evalsuite_python-0.4.1}/tests/regression/__init__.py +0 -0
- {evalsuite_python-0.4.0 → evalsuite_python-0.4.1}/tests/regression/test_against_sklearn.py +0 -0
- {evalsuite_python-0.4.0 → evalsuite_python-0.4.1}/tests/stats/__init__.py +0 -0
- {evalsuite_python-0.4.0 → evalsuite_python-0.4.1}/tests/stats/test_branches.py +0 -0
- {evalsuite_python-0.4.0 → evalsuite_python-0.4.1}/tests/stats/test_compare.py +0 -0
- {evalsuite_python-0.4.0 → evalsuite_python-0.4.1}/tests/stats/test_reference.py +0 -0
- {evalsuite_python-0.4.0 → evalsuite_python-0.4.1}/tests/text/__init__.py +0 -0
- {evalsuite_python-0.4.0 → evalsuite_python-0.4.1}/tests/text/test_against_references.py +0 -0
- {evalsuite_python-0.4.0 → evalsuite_python-0.4.1}/tests/text/test_text_edges.py +0 -0
- {evalsuite_python-0.4.0 → evalsuite_python-0.4.1}/tests/text/test_v040.py +0 -0
- {evalsuite_python-0.4.0 → evalsuite_python-0.4.1}/tests/unit/__init__.py +0 -0
- {evalsuite_python-0.4.0 → evalsuite_python-0.4.1}/tests/unit/test_core.py +0 -0
- {evalsuite_python-0.4.0 → evalsuite_python-0.4.1}/tests/unit/test_edges.py +0 -0
- {evalsuite_python-0.4.0 → evalsuite_python-0.4.1}/tests/vision/__init__.py +0 -0
- {evalsuite_python-0.4.0 → evalsuite_python-0.4.1}/tests/vision/test_detection.py +0 -0
- {evalsuite_python-0.4.0 → evalsuite_python-0.4.1}/tests/vision/test_edges.py +0 -0
- {evalsuite_python-0.4.0 → evalsuite_python-0.4.1}/tests/vision/test_outputs.py +0 -0
- {evalsuite_python-0.4.0 → evalsuite_python-0.4.1}/tests/vision/test_segmentation.py +0 -0
|
@@ -6,6 +6,24 @@ All notable changes to this project are documented here. The format follows
|
|
|
6
6
|
|
|
7
7
|
## [Unreleased]
|
|
8
8
|
|
|
9
|
+
## [0.4.1] - 2026-10-09
|
|
10
|
+
|
|
11
|
+
Benchmarks for every metric. No API changed.
|
|
12
|
+
|
|
13
|
+
### Added
|
|
14
|
+
- `run_benchmarks(suite="metrics")` and `evalsuite benchmark --suite metrics`: one row for each of the 147
|
|
15
|
+
registered metrics and statistics functions, compared with a reference library (scikit-learn, SciPy,
|
|
16
|
+
statsmodels, pycocotools, sacreBLEU, rouge-score, NLTK, pycocoevalcap, ranx, krippendorff, choix, POT,
|
|
17
|
+
jsonschema) where one exists, otherwise with an independent NumPy / standard-library implementation of
|
|
18
|
+
the textbook formula; learned, judge-dependent and randomised procedures are timed alone. All 128
|
|
19
|
+
comparisons agree to 1e-9. A test keeps the suite in step with the registry.
|
|
20
|
+
- `scripts/bench_metrics_report.py` renders the per-metric table for BENCHMARKS.md and the website.
|
|
21
|
+
|
|
22
|
+
### Changed
|
|
23
|
+
- `net_benefit` at a single threshold computes in one pass instead of sorting (about 3× faster).
|
|
24
|
+
- `perplexity` and `cross_entropy` validate the pooled tokens once instead of each sequence separately
|
|
25
|
+
(5–9× faster for many short sequences); errors still name the offending sequence.
|
|
26
|
+
|
|
9
27
|
## [0.4.0] - 2026-10-09
|
|
10
28
|
|
|
11
29
|
LLM evaluation (the v0.4.0 roadmap). No existing API changed.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.5
|
|
2
2
|
Name: evalsuite-python
|
|
3
|
-
Version: 0.4.
|
|
3
|
+
Version: 0.4.1
|
|
4
4
|
Summary: A unified Python framework for machine-learning, clinical, statistical, segmentation, object-detection, uncertainty, and model evaluation.
|
|
5
5
|
Project-URL: Homepage, https://evalsuite-nine.vercel.app
|
|
6
6
|
Project-URL: Documentation, https://evalsuite-nine.vercel.app/docs
|
|
@@ -82,7 +82,7 @@ Description-Content-Type: text/markdown
|
|
|
82
82
|
EvalSuite brings classification, regression, clinical, statistical, segmentation and object-detection
|
|
83
83
|
evaluation into one consistent, validated, documented framework.
|
|
84
84
|
|
|
85
|
-
> **Status: stable (0.4.
|
|
85
|
+
> **Status: stable (0.4.1).** Every item on the 0.1.0, 0.2.0, 0.3.0 and 0.4.0 roadmaps is implemented and verified
|
|
86
86
|
> (except SPICE, which needs a Java scene-graph parser).
|
|
87
87
|
> **LLM evaluation is available from 0.4.0**; LLM systems, safety and operations are planned for 0.5.0.
|
|
88
88
|
|
|
@@ -343,6 +343,12 @@ alphabetical order:
|
|
|
343
343
|
| text: METEOR, exact and stem matches (10000 sentences) | NLTK | 488.1 | 626.7 | **1.3×** |
|
|
344
344
|
| text: ROUGE-1, ROUGE-2, ROUGE-L (10000 sentences) | rouge-score | 1290.1 | 1095.6 | 0.85× |
|
|
345
345
|
|
|
346
|
+
**Every metric is benchmarked too** (`evalsuite benchmark --suite metrics`): all 147 registered metrics and
|
|
347
|
+
statistics functions at 10,000 and 100,000 samples. 79 are compared with a reference library, 49 with an
|
|
348
|
+
independent textbook formula and 19 (learned, judge-dependent or randomised) are timed alone; **all 128
|
|
349
|
+
comparisons agree**, and against the libraries the geometric-mean speed-up is **2.76×** (123 of 158
|
|
350
|
+
measurements faster). Per-metric table in BENCHMARKS.md.
|
|
351
|
+
|
|
346
352
|
`evaluate()` validates inputs once and builds the confusion matrix once for all metrics, which is where most
|
|
347
353
|
of the speed-up comes from. Hypothesis tests use SciPy underneath, so they match its speed at best; rows
|
|
348
354
|
below 1× pay for input validation and the extra intervals and effect sizes EvalSuite reports. Reproduce on
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
EvalSuite brings classification, regression, clinical, statistical, segmentation and object-detection
|
|
11
11
|
evaluation into one consistent, validated, documented framework.
|
|
12
12
|
|
|
13
|
-
> **Status: stable (0.4.
|
|
13
|
+
> **Status: stable (0.4.1).** Every item on the 0.1.0, 0.2.0, 0.3.0 and 0.4.0 roadmaps is implemented and verified
|
|
14
14
|
> (except SPICE, which needs a Java scene-graph parser).
|
|
15
15
|
> **LLM evaluation is available from 0.4.0**; LLM systems, safety and operations are planned for 0.5.0.
|
|
16
16
|
|
|
@@ -271,6 +271,12 @@ alphabetical order:
|
|
|
271
271
|
| text: METEOR, exact and stem matches (10000 sentences) | NLTK | 488.1 | 626.7 | **1.3×** |
|
|
272
272
|
| text: ROUGE-1, ROUGE-2, ROUGE-L (10000 sentences) | rouge-score | 1290.1 | 1095.6 | 0.85× |
|
|
273
273
|
|
|
274
|
+
**Every metric is benchmarked too** (`evalsuite benchmark --suite metrics`): all 147 registered metrics and
|
|
275
|
+
statistics functions at 10,000 and 100,000 samples. 79 are compared with a reference library, 49 with an
|
|
276
|
+
independent textbook formula and 19 (learned, judge-dependent or randomised) are timed alone; **all 128
|
|
277
|
+
comparisons agree**, and against the libraries the geometric-mean speed-up is **2.76×** (123 of 158
|
|
278
|
+
measurements faster). Per-metric table in BENCHMARKS.md.
|
|
279
|
+
|
|
274
280
|
`evaluate()` validates inputs once and builds the confusion matrix once for all metrics, which is where most
|
|
275
281
|
of the speed-up comes from. Hypothesis tests use SciPy underneath, so they match its speed at best; rows
|
|
276
282
|
below 1× pay for input validation and the extra intervals and effect sizes EvalSuite reports. Reproduce on
|