martinpdes-maintenance
One release method for the MartinPdeS Python ecosystem: explicit project versions, updated by a shared command. Python 3.10+; flat package layout.
Install
python -m pip install "martinpdes-maintenance==0.2.2"
# Development checkout:
python -m pip install -e ".[dev,testing]"
This is a release-development dependency, never a consumer runtime dependency.
Configuration
Declare a static [project].version and add a configuration table:
[tool.mps-maintenance]
version-file = "DeepPeak/_version.py"
version-method = "literal"
conda-recipe = "conda.recipe/meta.yaml"
version-file updates a __version__ = version = "X.Y.Z" assignment. Optional
zenodo = ".zenodo.json" updates version and publication date;
citation = "CITATION.cff" updates its existing version field, preserving dates.
All configured files must exist inside the repository. Unknown keys are errors.
Conda recipe versions must be literal. Dynamic project versions are unsupported.
A project with only distribution metadata can use an empty [tool.mps-maintenance].
For Keep a Changelog release preparation, configure:
changelog = "CHANGELOG.md"
repository = "MartinPdeS/PyFiberModes"
The changelog must have one ## [Unreleased] heading and one [Unreleased]:
comparison link. Releasing moves its entries under a dated version heading and
updates the comparison and release links. Checks require a section for the
current project version.
Commands
Run at the repository root, or put --root /path/to/repository before the command:
mps-maintenance check
mps-maintenance check --version v1.2.3
mps-maintenance next patch
mps-maintenance tag v1.2.4 --dry-run
next increments the highest stable semantic tag, including unreachable tags.
If there are no stable tags, it increments the explicit project version. Fetch
remote tags first; unrelated and prerelease tags are ignored. This selects a
release number; build versions always come from explicit project metadata.
tag requires a clean, full checkout and an unused vMAJOR.MINOR.PATCH tag.
It plans all replacements before writing, prints a diff, validates updated
metadata, stages only configured files, commits, and creates an annotated tag.
--dry-run changes no repository files, commits, index entries, or tags.
--date YYYY-MM-DD controls Zenodo and changelog dates; the default is the local
calendar date. Prerelease creation is unsupported. Nothing is pushed.
On write/validation failure original files are restored. A commit or tag failure
leaves recoverable state: inspect git status and git log -1 before retrying.
A failed tag operation can leave a successful release commit. Never blindly reset
unrelated work.
Development
python -m pytest
python -m ruff check martinpdes_maintenance tests
python -m ruff format --check martinpdes_maintenance tests
python -m build
python -m twine check dist/*
Tests use temporary local Git repositories and never publish. Source release wrappers and Makefile shortcuts in consumers delegate to this tool. Native build, scientific test, and registry publishing logic remains outside it.
Metadata
Release files for martinpdes-maintenance 0.2.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| martinpdes_maintenance-0.2.2.tar.gz | 8.7 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| martinpdes_maintenance-0.2.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 16.5 kB
Release files / martinpdes_maintenance-0.2.2.tar.gz
| Download URL | martinpdes_maintenance-0.2.2.tar.gz |
|---|---|
| Size | 8.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
94d8fc38a8de716b5df93505fbb15c04c69c7b0ab92c17ac404772525e576f75
|
|
BLAKE2b-256 checksum How to use checksums |
cf4468f9dc82a50e67873ebec13e028f80bd248759f70e9814a328847f2945c5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.11.17
|
Release files / martinpdes_maintenance-0.2.2-py3-none-any.whl
| Download URL | martinpdes_maintenance-0.2.2-py3-none-any.whl |
|---|---|
| Size | 7.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
62d6bee671bfca6ade961a0018967fc4adfa2cc2b32a37c8db5b0c549f5b48b7
|
|
BLAKE2b-256 checksum How to use checksums |
e5eb893641787c87c283157a8e84ec6804dadfd06162983d84971bd18c073a81
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.11.17
|
Security for martinpdes-maintenance 0.2.2
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.