Skip to main content

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)

Source distribution for martinpdes-maintenance 0.2.2
File Size Uploaded Provenance
martinpdes_maintenance-0.2.2.tar.gz 8.7 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for martinpdes-maintenance 0.2.2
File Interpreter ABI Platform
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.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page