benchmatrix 0.2.3__tar.gz → 0.2.4__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.
- {benchmatrix-0.2.3 → benchmatrix-0.2.4}/CHANGELOG.md +4 -8
- {benchmatrix-0.2.3 → benchmatrix-0.2.4}/CITATION.cff +2 -2
- {benchmatrix-0.2.3 → benchmatrix-0.2.4}/PKG-INFO +9 -4
- {benchmatrix-0.2.3 → benchmatrix-0.2.4}/README.md +8 -3
- benchmatrix-0.2.4/RELEASING.md +28 -0
- {benchmatrix-0.2.3 → benchmatrix-0.2.4}/docs/runbooks/release.md +6 -9
- {benchmatrix-0.2.3 → benchmatrix-0.2.4}/pyproject.toml +1 -1
- benchmatrix-0.2.3/RELEASING.md +0 -76
- {benchmatrix-0.2.3 → benchmatrix-0.2.4}/.gitignore +0 -0
- {benchmatrix-0.2.3 → benchmatrix-0.2.4}/CODE_OF_CONDUCT.md +0 -0
- {benchmatrix-0.2.3 → benchmatrix-0.2.4}/CONTRIBUTING.md +0 -0
- {benchmatrix-0.2.3 → benchmatrix-0.2.4}/LICENSE +0 -0
- {benchmatrix-0.2.3 → benchmatrix-0.2.4}/SECURITY.md +0 -0
- {benchmatrix-0.2.3 → benchmatrix-0.2.4}/docs/_scripts/gen_api_reference.py +0 -0
- {benchmatrix-0.2.3 → benchmatrix-0.2.4}/docs/changelog.md +0 -0
- {benchmatrix-0.2.3 → benchmatrix-0.2.4}/docs/contributing.md +0 -0
- {benchmatrix-0.2.3 → benchmatrix-0.2.4}/docs/development.md +0 -0
- {benchmatrix-0.2.3 → benchmatrix-0.2.4}/docs/explanation/ai.md +0 -0
- {benchmatrix-0.2.3 → benchmatrix-0.2.4}/docs/explanation/architecture.md +0 -0
- {benchmatrix-0.2.3 → benchmatrix-0.2.4}/docs/explanation/dependency-policy.md +0 -0
- {benchmatrix-0.2.3 → benchmatrix-0.2.4}/docs/explanation/deployment-environments.md +0 -0
- {benchmatrix-0.2.3 → benchmatrix-0.2.4}/docs/explanation/deprecations.md +0 -0
- {benchmatrix-0.2.3 → benchmatrix-0.2.4}/docs/explanation/first-release.md +0 -0
- {benchmatrix-0.2.3 → benchmatrix-0.2.4}/docs/explanation/github-actions-security.md +0 -0
- {benchmatrix-0.2.3 → benchmatrix-0.2.4}/docs/explanation/license-policy.md +0 -0
- {benchmatrix-0.2.3 → benchmatrix-0.2.4}/docs/explanation/lifecycle.md +0 -0
- {benchmatrix-0.2.3 → benchmatrix-0.2.4}/docs/explanation/performance.md +0 -0
- {benchmatrix-0.2.3 → benchmatrix-0.2.4}/docs/explanation/publishing.md +0 -0
- {benchmatrix-0.2.3 → benchmatrix-0.2.4}/docs/explanation/repository-health.md +0 -0
- {benchmatrix-0.2.3 → benchmatrix-0.2.4}/docs/explanation/repository-settings.md +0 -0
- {benchmatrix-0.2.3 → benchmatrix-0.2.4}/docs/explanation/secrets.md +0 -0
- {benchmatrix-0.2.3 → benchmatrix-0.2.4}/docs/explanation/threat-model.md +0 -0
- {benchmatrix-0.2.3 → benchmatrix-0.2.4}/docs/how-to/create-benchmark-matrix.md +0 -0
- {benchmatrix-0.2.3 → benchmatrix-0.2.4}/docs/how-to/parse-results.md +0 -0
- {benchmatrix-0.2.3 → benchmatrix-0.2.4}/docs/how-to/run-with-docker.md +0 -0
- {benchmatrix-0.2.3 → benchmatrix-0.2.4}/docs/how-to/troubleshooting.md +0 -0
- {benchmatrix-0.2.3 → benchmatrix-0.2.4}/docs/index.md +0 -0
- {benchmatrix-0.2.3 → benchmatrix-0.2.4}/docs/reference/compatibility.md +0 -0
- {benchmatrix-0.2.3 → benchmatrix-0.2.4}/docs/reference/configuration.md +0 -0
- {benchmatrix-0.2.3 → benchmatrix-0.2.4}/docs/reference/index.md +0 -0
- {benchmatrix-0.2.3 → benchmatrix-0.2.4}/docs/runbooks/container-release.md +0 -0
- {benchmatrix-0.2.3 → benchmatrix-0.2.4}/docs/runbooks/dependency-update.md +0 -0
- {benchmatrix-0.2.3 → benchmatrix-0.2.4}/docs/runbooks/failed-ci.md +0 -0
- {benchmatrix-0.2.3 → benchmatrix-0.2.4}/docs/runbooks/incident-response.md +0 -0
- {benchmatrix-0.2.3 → benchmatrix-0.2.4}/docs/runbooks/index.md +0 -0
- {benchmatrix-0.2.3 → benchmatrix-0.2.4}/docs/runbooks/ownership-transfer.md +0 -0
- {benchmatrix-0.2.3 → benchmatrix-0.2.4}/docs/runbooks/repository-setup.md +0 -0
- {benchmatrix-0.2.3 → benchmatrix-0.2.4}/docs/runbooks/security-report.md +0 -0
- {benchmatrix-0.2.3 → benchmatrix-0.2.4}/docs/tutorials/first-benchmark.md +0 -0
- {benchmatrix-0.2.3 → benchmatrix-0.2.4}/examples/test_factorial_benchmarks.py +0 -0
- {benchmatrix-0.2.3 → benchmatrix-0.2.4}/examples/test_factorial_benchmarks_simplified.py +0 -0
- {benchmatrix-0.2.3 → benchmatrix-0.2.4}/mkdocs.yml +0 -0
- {benchmatrix-0.2.3 → benchmatrix-0.2.4}/noxfile.py +0 -0
- {benchmatrix-0.2.3 → benchmatrix-0.2.4}/src/benchmatrix/__init__.py +0 -0
- {benchmatrix-0.2.3 → benchmatrix-0.2.4}/src/benchmatrix/_schema.py +0 -0
- {benchmatrix-0.2.3 → benchmatrix-0.2.4}/src/benchmatrix/bench_harness.py +0 -0
- {benchmatrix-0.2.3 → benchmatrix-0.2.4}/src/benchmatrix/bench_results.py +0 -0
- {benchmatrix-0.2.3 → benchmatrix-0.2.4}/src/benchmatrix/exceptions.py +0 -0
- {benchmatrix-0.2.3 → benchmatrix-0.2.4}/src/benchmatrix/py.typed +0 -0
- {benchmatrix-0.2.3 → benchmatrix-0.2.4}/tests/fixtures/benchmark_results/invalid_tail_missing_data.json +0 -0
- {benchmatrix-0.2.3 → benchmatrix-0.2.4}/tests/fixtures/benchmark_results/mixed_metrics.json +0 -0
- {benchmatrix-0.2.3 → benchmatrix-0.2.4}/tests/test_bench_harness.py +0 -0
- {benchmatrix-0.2.3 → benchmatrix-0.2.4}/tests/test_bench_results.py +0 -0
- {benchmatrix-0.2.3 → benchmatrix-0.2.4}/tests/test_create_release_pr.py +0 -0
- {benchmatrix-0.2.3 → benchmatrix-0.2.4}/tests/test_create_release_tag.py +0 -0
- {benchmatrix-0.2.3 → benchmatrix-0.2.4}/tests/test_integration.py +0 -0
- {benchmatrix-0.2.3 → benchmatrix-0.2.4}/tests/test_prepare_release.py +0 -0
- {benchmatrix-0.2.3 → benchmatrix-0.2.4}/tests/test_properties.py +0 -0
- {benchmatrix-0.2.3 → benchmatrix-0.2.4}/tests/test_public_api.py +0 -0
- {benchmatrix-0.2.3 → benchmatrix-0.2.4}/tests/test_release_preflight.py +0 -0
|
@@ -20,22 +20,18 @@ additional pre-1.0 compatibility expectations described in
|
|
|
20
20
|
|
|
21
21
|
### Security
|
|
22
22
|
|
|
23
|
-
## 0.2.
|
|
24
|
-
|
|
25
|
-
### Added
|
|
23
|
+
## 0.2.4 - 2026-06-24
|
|
26
24
|
|
|
27
|
-
###
|
|
25
|
+
### Fixed
|
|
28
26
|
|
|
29
|
-
|
|
27
|
+
* Check out repository for context of `release` workflow
|
|
30
28
|
|
|
31
|
-
|
|
29
|
+
## 0.2.3 - 2026-06-23
|
|
32
30
|
|
|
33
31
|
### Fixed
|
|
34
32
|
|
|
35
33
|
* Ensure all assets uploaded to draft GitHub release
|
|
36
34
|
|
|
37
|
-
### Security
|
|
38
|
-
|
|
39
35
|
## 0.2.2 - 2026-06-23
|
|
40
36
|
|
|
41
37
|
### Changed
|
|
@@ -10,8 +10,8 @@ authors:
|
|
|
10
10
|
given-names: "Ryan"
|
|
11
11
|
email: "ryancswallace@gmail.com"
|
|
12
12
|
alias: "ryancswallace"
|
|
13
|
-
version: 0.2.
|
|
14
|
-
date-released: "2026-06-
|
|
13
|
+
version: 0.2.4
|
|
14
|
+
date-released: "2026-06-24"
|
|
15
15
|
license: MIT
|
|
16
16
|
repository-code: "https://github.com/ryancswallace/benchmatrix"
|
|
17
17
|
url: "https://github.com/ryancswallace/benchmatrix"
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: benchmatrix
|
|
3
|
-
Version: 0.2.
|
|
3
|
+
Version: 0.2.4
|
|
4
4
|
Summary: A pytest-benchmark matrix, metadata, and JSON results layer.
|
|
5
5
|
Project-URL: Homepage, https://github.com/ryancswallace/benchmatrix
|
|
6
6
|
Project-URL: Changelog, https://github.com/ryancswallace/benchmatrix/blob/main/CHANGELOG.md
|
|
@@ -119,11 +119,16 @@ For local development from this repository:
|
|
|
119
119
|
make ready
|
|
120
120
|
```
|
|
121
121
|
|
|
122
|
-
To
|
|
123
|
-
from GitHub:
|
|
122
|
+
To install the latest release from PyPI:
|
|
124
123
|
|
|
125
124
|
```bash
|
|
126
|
-
uv add
|
|
125
|
+
uv add benchmatrix
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
or
|
|
129
|
+
|
|
130
|
+
```bash
|
|
131
|
+
pip install benchmatrix
|
|
127
132
|
```
|
|
128
133
|
|
|
129
134
|
## Documentation
|
|
@@ -88,11 +88,16 @@ For local development from this repository:
|
|
|
88
88
|
make ready
|
|
89
89
|
```
|
|
90
90
|
|
|
91
|
-
To
|
|
92
|
-
from GitHub:
|
|
91
|
+
To install the latest release from PyPI:
|
|
93
92
|
|
|
94
93
|
```bash
|
|
95
|
-
uv add
|
|
94
|
+
uv add benchmatrix
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
or
|
|
98
|
+
|
|
99
|
+
```bash
|
|
100
|
+
pip install benchmatrix
|
|
96
101
|
```
|
|
97
102
|
|
|
98
103
|
## Documentation
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
# Release policy
|
|
2
|
+
|
|
3
|
+
benchmatrix uses [Semantic Versioning](https://semver.org/).
|
|
4
|
+
|
|
5
|
+
## Compatibility
|
|
6
|
+
|
|
7
|
+
While the project is pre-1.0:
|
|
8
|
+
|
|
9
|
+
* patch releases contain compatible fixes and documentation improvements;
|
|
10
|
+
* minor releases may introduce breaking API changes;
|
|
11
|
+
* breaking changes should be called out clearly in the changelog.
|
|
12
|
+
|
|
13
|
+
Starting with 1.0, incompatible public API changes require a major release.
|
|
14
|
+
The supported public API is the set of names exported from
|
|
15
|
+
`benchmatrix.__init__`. Private modules and names beginning with an underscore
|
|
16
|
+
are not covered by the compatibility guarantee.
|
|
17
|
+
|
|
18
|
+
Python version support may change in a minor release before 1.0 and in a major
|
|
19
|
+
release after 1.0. Dropping a Python version will be documented in advance when
|
|
20
|
+
practical.
|
|
21
|
+
|
|
22
|
+
Release branches are not maintained as standing support branches. The active
|
|
23
|
+
support branch is `main`; temporary release or security branches may be used for
|
|
24
|
+
coordination and retired after release.
|
|
25
|
+
|
|
26
|
+
## Release process
|
|
27
|
+
|
|
28
|
+
See the detailed operational checklist in `docs/runbooks/release.md`.
|
|
@@ -87,21 +87,18 @@ especially the `pypi` environment and PyPI Trusted Publishing checklist.
|
|
|
87
87
|
or remote tag, creates `v$BENCHMATRIX_RELEASE_VERSION`, and pushes it to
|
|
88
88
|
`origin`.
|
|
89
89
|
|
|
90
|
-
2.
|
|
91
|
-
|
|
92
|
-
validates that the tag version, package metadata, citation metadata, and
|
|
93
|
-
changelog section agree, builds the source distribution, wheel, and SBOM,
|
|
94
|
-
attaches those files to the draft release, and verifies the uploaded assets.
|
|
95
|
-
3. Open the draft GitHub Release. Confirm the tag, title, notes, source
|
|
90
|
+
2. Open the draft GitHub Release created by
|
|
91
|
+
`.github/workflows/draft-release.yml`. Confirm the tag, title, notes, source
|
|
96
92
|
distribution, wheel, and SBOM are correct. GitHub also shows its automatic
|
|
97
93
|
source code archives on the release page.
|
|
98
94
|
|
|
99
95
|
If the draft workflow fails before assets are attached, rerun the
|
|
100
96
|
`Draft release` workflow manually with the same `vX.Y.Z` tag after fixing
|
|
101
97
|
the failure.
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
98
|
+
|
|
99
|
+
3. Publish the draft GitHub Release.
|
|
100
|
+
4. Watch `.github/workflows/release.yml` through the publish and verification
|
|
101
|
+
jobs. Review and approve the `pypi` environment release if required.
|
|
105
102
|
|
|
106
103
|
The draft-release workflow intentionally stops at a draft with reviewable
|
|
107
104
|
package assets attached. The workflow uses `GITHUB_TOKEN`, and GitHub
|
benchmatrix-0.2.3/RELEASING.md
DELETED
|
@@ -1,76 +0,0 @@
|
|
|
1
|
-
# Release policy
|
|
2
|
-
|
|
3
|
-
benchmatrix uses [Semantic Versioning](https://semver.org/).
|
|
4
|
-
|
|
5
|
-
## Compatibility
|
|
6
|
-
|
|
7
|
-
While the project is pre-1.0:
|
|
8
|
-
|
|
9
|
-
* patch releases contain compatible fixes and documentation improvements;
|
|
10
|
-
* minor releases may introduce breaking API changes;
|
|
11
|
-
* breaking changes should be called out clearly in the changelog.
|
|
12
|
-
|
|
13
|
-
Starting with 1.0, incompatible public API changes require a major release.
|
|
14
|
-
The supported public API is the set of names exported from
|
|
15
|
-
`benchmatrix.__init__`. Private modules and names beginning with an underscore
|
|
16
|
-
are not covered by the compatibility guarantee.
|
|
17
|
-
|
|
18
|
-
Python version support may change in a minor release before 1.0 and in a major
|
|
19
|
-
release after 1.0. Dropping a Python version will be documented in advance when
|
|
20
|
-
practical.
|
|
21
|
-
|
|
22
|
-
Release branches are not maintained as standing support branches. The active
|
|
23
|
-
support branch is `main`; temporary release or security branches may be used for
|
|
24
|
-
coordination and retired after release.
|
|
25
|
-
|
|
26
|
-
## Release process
|
|
27
|
-
|
|
28
|
-
Releases are prepared in a normal pull request, drafted automatically when a
|
|
29
|
-
`vX.Y.Z` tag is pushed, and published by the GitHub Actions release workflow
|
|
30
|
-
after the draft GitHub Release is reviewed and published.
|
|
31
|
-
|
|
32
|
-
1. Choose the next version from the changelog and compatibility policy.
|
|
33
|
-
2. Export the release version without a leading `v`:
|
|
34
|
-
|
|
35
|
-
```bash
|
|
36
|
-
export BENCHMATRIX_RELEASE_VERSION=X.Y.Z
|
|
37
|
-
```
|
|
38
|
-
|
|
39
|
-
3. Update the `CHANGELOG.md` entries under `## Unreleased`.
|
|
40
|
-
4. Prepare the release metadata, validate locally, commit the release files,
|
|
41
|
-
push the release branch, and open or reuse the standardized pull request:
|
|
42
|
-
|
|
43
|
-
```bash
|
|
44
|
-
make release-pr-ready
|
|
45
|
-
```
|
|
46
|
-
|
|
47
|
-
Add `RELEASE_DATE=YYYY-MM-DD` when the release date should be explicit. The
|
|
48
|
-
target runs `make release-preflight`, `make prepare-release`, `make check`,
|
|
49
|
-
and `make release-pr`. The preparation step updates `pyproject.toml`,
|
|
50
|
-
`CITATION.cff`, and `CHANGELOG.md`, updates `date-released`, creates the
|
|
51
|
-
dated changelog section, and runs `uv lock`. The pull request step creates
|
|
52
|
-
`release/v$BENCHMATRIX_RELEASE_VERSION`, commits the release metadata files,
|
|
53
|
-
pushes the branch, and opens or reuses the GitHub pull request.
|
|
54
|
-
|
|
55
|
-
5. Merge the release pull request after required checks pass.
|
|
56
|
-
6. Create and push the annotated release tag from the merged default branch:
|
|
57
|
-
|
|
58
|
-
```bash
|
|
59
|
-
make release-tag
|
|
60
|
-
```
|
|
61
|
-
|
|
62
|
-
This switches to `main`, pulls `origin/main` with `--ff-only`, validates the
|
|
63
|
-
release metadata, refuses existing tags, and pushes
|
|
64
|
-
`v$BENCHMATRIX_RELEASE_VERSION`.
|
|
65
|
-
|
|
66
|
-
7. Review the draft GitHub Release created by `.github/workflows/draft-release.yml`,
|
|
67
|
-
including the attached source distribution, wheel, and SBOM assets.
|
|
68
|
-
8. Publish the GitHub Release. Publishing the release triggers
|
|
69
|
-
`.github/workflows/release.yml`, which rebuilds artifacts, attaches them to
|
|
70
|
-
the GitHub Release, attests them, and publishes to PyPI through Trusted
|
|
71
|
-
Publishing.
|
|
72
|
-
9. Verify the package from PyPI in a clean environment.
|
|
73
|
-
10. If any post-release fix is needed, prepare a new patch release. Do not
|
|
74
|
-
replace files for an already-published PyPI version.
|
|
75
|
-
|
|
76
|
-
The detailed operational checklist lives in `docs/runbooks/release.md`.
|
|
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
|