Skip to main content

martinpdes-maintenance

Shared release preparation for the MartinPdeS scientific Python ecosystem. The distribution is martinpdes-maintenance; its command is mps-maintenance. Python 3.10 and newer are supported. The Python package lives directly in martinpdes_maintenance/, following the flat layout used by MartinPdeS-docs.

Install

From a source checkout:

python -m pip install -e ".[dev,scm]"

This repository has not yet been published on PyPI. After publication, consumers can pin a reviewed version in their release development extra. The tool is not a runtime dependency of scientific packages.

Configure a consuming project

Add explicit settings to the consumer's pyproject.toml:

[tool.mps-maintenance]
version-file = "DeepPeak/_version.py"
version-method = "setuptools-scm"
conda-recipe = "conda.recipe/meta.yaml"

Use version-method = "literal" (the default) to update a simple __version__ = version = "X.Y.Z" assignment directly. SCM mode requires this tool's scm extra and generates the file using setuptools-scm. Optional settings:

zenodo = ".zenodo.json"
citation = "CITATION.cff"

All configured files must already exist inside the repository. Unknown settings are errors. Project versions must be static in [project].version; Conda recipes must contain one literal version: field. Jinja-templated recipe versions and prerelease creation are not supported in this initial implementation. Citation updates currently change the version only, preserving existing date behavior.

Commands

Run from the consumer repository root, or supply --root /path/to/repository before the subcommand:

mps-maintenance check
mps-maintenance check --version v1.2.3
mps-maintenance next patch
mps-maintenance tag v1.2.4 --dry-run

next selects the highest stable vMAJOR.MINOR.PATCH tag available locally, including tags not reachable from HEAD. It ignores prerelease and unrelated tags; fetch tags first when remote releases may be missing. It fails if no stable tag exists.

tag requires a clean, full Git checkout and an unused stable tag. It calculates all replacements before writing, prints a diff, validates updated versions, stages the release files, commits, then creates an annotated tag. --dry-run prints the plan without writing repository files, staging, committing, or tagging. Zenodo publication dates default to the local calendar date; --date YYYY-MM-DD sets a reproducible date explicitly.

To actually create the release commit and tag, omit --dry-run. Nothing is pushed. Existing Makefile push behavior should remain in the consumer repository. A commit or tag failure leaves state for inspection: use git status and git log -1, fix the cause, and recover explicitly. A tag failure can leave a successful release commit. Do not blindly rerun or reset unrelated work.

Migration

  1. Install a reviewed tool revision in the release environment.
  2. Configure every file the old scripts check or update.
  3. Compare check, next, and dry-run output with the old scripts.
  4. Replace old script bodies with thin CLI wrappers, preserving Makefile behavior.
  5. Verify in a disposable clone before removing compatibility wrappers.

DeepPeak uses SCM generation; PyMieSim and PackLab additionally update Zenodo; BornSim uses literal generation plus Zenodo and Citation metadata. No consumer repositories are migrated automatically.

Development

python -m pytest
python -m ruff check .
python -m ruff format --check .
python -m build
python -m twine check dist/*

Tests create local temporary Git repositories and never push or publish. See CONTRIBUTING.md for release bootstrapping.

Metadata

Release files for martinpdes-maintenance 0.2.0

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.0
File Size Uploaded Provenance
martinpdes_maintenance-0.2.0.tar.gz 8.5 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for martinpdes-maintenance 0.2.0
File Interpreter ABI Platform
martinpdes_maintenance-0.2.0-py3-none-any.whl Python 3 none any Details

Total release size: 16.4 kB

Release files / martinpdes_maintenance-0.2.0.tar.gz

Download URL martinpdes_maintenance-0.2.0.tar.gz
Size 8.5 kB
Tags Source
SHA-256 checksum
How to use checksums
3b686a3f4e05c5f37683448395f63253ffc5f3b140f80c3bb9e02ad2b371f4de
BLAKE2b-256 checksum
How to use checksums
2c35056552d9584ec73bd27ed293bdf443ae4e30754c20c9435531a33bbf2181
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.0-py3-none-any.whl

Download URL martinpdes_maintenance-0.2.0-py3-none-any.whl
Size 7.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
c250c15a7663f06c0f0457d92fc65c951a57ad89368c3392533c64485f18761d
BLAKE2b-256 checksum
How to use checksums
95894e4e80237e671d319f0207811fe9e8f491d771abd596acec0c6b2e189a0f
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.0

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