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.
Files changed (70) hide show
  1. {benchmatrix-0.2.3 → benchmatrix-0.2.4}/CHANGELOG.md +4 -8
  2. {benchmatrix-0.2.3 → benchmatrix-0.2.4}/CITATION.cff +2 -2
  3. {benchmatrix-0.2.3 → benchmatrix-0.2.4}/PKG-INFO +9 -4
  4. {benchmatrix-0.2.3 → benchmatrix-0.2.4}/README.md +8 -3
  5. benchmatrix-0.2.4/RELEASING.md +28 -0
  6. {benchmatrix-0.2.3 → benchmatrix-0.2.4}/docs/runbooks/release.md +6 -9
  7. {benchmatrix-0.2.3 → benchmatrix-0.2.4}/pyproject.toml +1 -1
  8. benchmatrix-0.2.3/RELEASING.md +0 -76
  9. {benchmatrix-0.2.3 → benchmatrix-0.2.4}/.gitignore +0 -0
  10. {benchmatrix-0.2.3 → benchmatrix-0.2.4}/CODE_OF_CONDUCT.md +0 -0
  11. {benchmatrix-0.2.3 → benchmatrix-0.2.4}/CONTRIBUTING.md +0 -0
  12. {benchmatrix-0.2.3 → benchmatrix-0.2.4}/LICENSE +0 -0
  13. {benchmatrix-0.2.3 → benchmatrix-0.2.4}/SECURITY.md +0 -0
  14. {benchmatrix-0.2.3 → benchmatrix-0.2.4}/docs/_scripts/gen_api_reference.py +0 -0
  15. {benchmatrix-0.2.3 → benchmatrix-0.2.4}/docs/changelog.md +0 -0
  16. {benchmatrix-0.2.3 → benchmatrix-0.2.4}/docs/contributing.md +0 -0
  17. {benchmatrix-0.2.3 → benchmatrix-0.2.4}/docs/development.md +0 -0
  18. {benchmatrix-0.2.3 → benchmatrix-0.2.4}/docs/explanation/ai.md +0 -0
  19. {benchmatrix-0.2.3 → benchmatrix-0.2.4}/docs/explanation/architecture.md +0 -0
  20. {benchmatrix-0.2.3 → benchmatrix-0.2.4}/docs/explanation/dependency-policy.md +0 -0
  21. {benchmatrix-0.2.3 → benchmatrix-0.2.4}/docs/explanation/deployment-environments.md +0 -0
  22. {benchmatrix-0.2.3 → benchmatrix-0.2.4}/docs/explanation/deprecations.md +0 -0
  23. {benchmatrix-0.2.3 → benchmatrix-0.2.4}/docs/explanation/first-release.md +0 -0
  24. {benchmatrix-0.2.3 → benchmatrix-0.2.4}/docs/explanation/github-actions-security.md +0 -0
  25. {benchmatrix-0.2.3 → benchmatrix-0.2.4}/docs/explanation/license-policy.md +0 -0
  26. {benchmatrix-0.2.3 → benchmatrix-0.2.4}/docs/explanation/lifecycle.md +0 -0
  27. {benchmatrix-0.2.3 → benchmatrix-0.2.4}/docs/explanation/performance.md +0 -0
  28. {benchmatrix-0.2.3 → benchmatrix-0.2.4}/docs/explanation/publishing.md +0 -0
  29. {benchmatrix-0.2.3 → benchmatrix-0.2.4}/docs/explanation/repository-health.md +0 -0
  30. {benchmatrix-0.2.3 → benchmatrix-0.2.4}/docs/explanation/repository-settings.md +0 -0
  31. {benchmatrix-0.2.3 → benchmatrix-0.2.4}/docs/explanation/secrets.md +0 -0
  32. {benchmatrix-0.2.3 → benchmatrix-0.2.4}/docs/explanation/threat-model.md +0 -0
  33. {benchmatrix-0.2.3 → benchmatrix-0.2.4}/docs/how-to/create-benchmark-matrix.md +0 -0
  34. {benchmatrix-0.2.3 → benchmatrix-0.2.4}/docs/how-to/parse-results.md +0 -0
  35. {benchmatrix-0.2.3 → benchmatrix-0.2.4}/docs/how-to/run-with-docker.md +0 -0
  36. {benchmatrix-0.2.3 → benchmatrix-0.2.4}/docs/how-to/troubleshooting.md +0 -0
  37. {benchmatrix-0.2.3 → benchmatrix-0.2.4}/docs/index.md +0 -0
  38. {benchmatrix-0.2.3 → benchmatrix-0.2.4}/docs/reference/compatibility.md +0 -0
  39. {benchmatrix-0.2.3 → benchmatrix-0.2.4}/docs/reference/configuration.md +0 -0
  40. {benchmatrix-0.2.3 → benchmatrix-0.2.4}/docs/reference/index.md +0 -0
  41. {benchmatrix-0.2.3 → benchmatrix-0.2.4}/docs/runbooks/container-release.md +0 -0
  42. {benchmatrix-0.2.3 → benchmatrix-0.2.4}/docs/runbooks/dependency-update.md +0 -0
  43. {benchmatrix-0.2.3 → benchmatrix-0.2.4}/docs/runbooks/failed-ci.md +0 -0
  44. {benchmatrix-0.2.3 → benchmatrix-0.2.4}/docs/runbooks/incident-response.md +0 -0
  45. {benchmatrix-0.2.3 → benchmatrix-0.2.4}/docs/runbooks/index.md +0 -0
  46. {benchmatrix-0.2.3 → benchmatrix-0.2.4}/docs/runbooks/ownership-transfer.md +0 -0
  47. {benchmatrix-0.2.3 → benchmatrix-0.2.4}/docs/runbooks/repository-setup.md +0 -0
  48. {benchmatrix-0.2.3 → benchmatrix-0.2.4}/docs/runbooks/security-report.md +0 -0
  49. {benchmatrix-0.2.3 → benchmatrix-0.2.4}/docs/tutorials/first-benchmark.md +0 -0
  50. {benchmatrix-0.2.3 → benchmatrix-0.2.4}/examples/test_factorial_benchmarks.py +0 -0
  51. {benchmatrix-0.2.3 → benchmatrix-0.2.4}/examples/test_factorial_benchmarks_simplified.py +0 -0
  52. {benchmatrix-0.2.3 → benchmatrix-0.2.4}/mkdocs.yml +0 -0
  53. {benchmatrix-0.2.3 → benchmatrix-0.2.4}/noxfile.py +0 -0
  54. {benchmatrix-0.2.3 → benchmatrix-0.2.4}/src/benchmatrix/__init__.py +0 -0
  55. {benchmatrix-0.2.3 → benchmatrix-0.2.4}/src/benchmatrix/_schema.py +0 -0
  56. {benchmatrix-0.2.3 → benchmatrix-0.2.4}/src/benchmatrix/bench_harness.py +0 -0
  57. {benchmatrix-0.2.3 → benchmatrix-0.2.4}/src/benchmatrix/bench_results.py +0 -0
  58. {benchmatrix-0.2.3 → benchmatrix-0.2.4}/src/benchmatrix/exceptions.py +0 -0
  59. {benchmatrix-0.2.3 → benchmatrix-0.2.4}/src/benchmatrix/py.typed +0 -0
  60. {benchmatrix-0.2.3 → benchmatrix-0.2.4}/tests/fixtures/benchmark_results/invalid_tail_missing_data.json +0 -0
  61. {benchmatrix-0.2.3 → benchmatrix-0.2.4}/tests/fixtures/benchmark_results/mixed_metrics.json +0 -0
  62. {benchmatrix-0.2.3 → benchmatrix-0.2.4}/tests/test_bench_harness.py +0 -0
  63. {benchmatrix-0.2.3 → benchmatrix-0.2.4}/tests/test_bench_results.py +0 -0
  64. {benchmatrix-0.2.3 → benchmatrix-0.2.4}/tests/test_create_release_pr.py +0 -0
  65. {benchmatrix-0.2.3 → benchmatrix-0.2.4}/tests/test_create_release_tag.py +0 -0
  66. {benchmatrix-0.2.3 → benchmatrix-0.2.4}/tests/test_integration.py +0 -0
  67. {benchmatrix-0.2.3 → benchmatrix-0.2.4}/tests/test_prepare_release.py +0 -0
  68. {benchmatrix-0.2.3 → benchmatrix-0.2.4}/tests/test_properties.py +0 -0
  69. {benchmatrix-0.2.3 → benchmatrix-0.2.4}/tests/test_public_api.py +0 -0
  70. {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.3 - 2026-06-23
24
-
25
- ### Added
23
+ ## 0.2.4 - 2026-06-24
26
24
 
27
- ### Changed
25
+ ### Fixed
28
26
 
29
- ### Deprecated
27
+ * Check out repository for context of `release` workflow
30
28
 
31
- ### Removed
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.3
14
- date-released: "2026-06-23"
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
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 try the package from another project before the first PyPI release, install
123
- from GitHub:
122
+ To install the latest release from PyPI:
124
123
 
125
124
  ```bash
126
- uv add "benchmatrix @ git+https://github.com/ryancswallace/benchmatrix"
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 try the package from another project before the first PyPI release, install
92
- from GitHub:
91
+ To install the latest release from PyPI:
93
92
 
94
93
  ```bash
95
- uv add "benchmatrix @ git+https://github.com/ryancswallace/benchmatrix"
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. Wait for `.github/workflows/draft-release.yml` to create or update the draft
91
- GitHub Release for `v$BENCHMATRIX_RELEASE_VERSION`. The workflow
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
- 4. Publish the draft GitHub Release.
103
- 5. Watch `.github/workflows/release.yml` through the publish and verification
104
- jobs.
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
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "benchmatrix"
3
- version = "0.2.3"
3
+ version = "0.2.4"
4
4
  description = "A pytest-benchmark matrix, metadata, and JSON results layer."
5
5
  readme = "README.md"
6
6
  requires-python = ">=3.11,<3.15"
@@ -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