Skip to content

v2026.6.13 — Conda & PyPI distribution + full-channel sync

Latest

Choose a tag to compare

@tristan-salles tristan-salles released this 11 Jun 23:10
· 149 commits to master since this release

First release published to all three distribution channels from a single tag: PyPI sdist, the geodels conda channel, and the geodels/gospl-hpc Docker image. Documentation covers the new PyPI install path; the version-spelling convention has been normalised so the artefact name is identical across all channels.

ℹ️ v2026.6.12 shipped to PyPI and Docker Hub one day earlier but did not reach the geodels conda channel — conda/meta.yaml had not been bumped, so the conda-build run silently skipped the upload (anaconda upload --skip-existing matched the existing 2026-06-11 release). v2026.6.13 is the first release that exists on all three channels. PyPI users on gospl==2026.6.12 are functionally equivalent to 2026.6.13; the only diff is doc/AGENTS.md.

New distribution channel: PyPI

pip install --no-deps --no-build-isolation gospl
  • New .github/workflows/pypi-publish.yml builds the sdist on every v* tag push and publishes via Trusted Publishing (OIDC, no API tokens). workflow_dispatch triggers a TestPyPI dry-run upload.
  • Sdist-only by design (no binary wheels). goSPL links against the user's MPI / PETSc / parallel-HDF5 stack at install time; a wheel would lock those bindings to a single MPI ABI.
  • New docs/getting_started/installPip.rst covers the bring-your-own-MPI constraints, the --no-deps --no-build-isolation rationale, and the TestPyPI dry-run recipe.

Version-spelling convention

Adopted no-leading-zero spelling (2026.6.13, not 2026.06.13) so PyPI display, conda artefact filename, git tag, and gospl.__version__ are all bitwise-identical. PyPI auto-normalises per PEP 440; conda does not — writing the no-zero form throughout the project avoids the channel divergence the old spelling created.

Channel Artefact
PyPI gospl 2026.6.13
conda (geodels) gospl-2026.6.13-*.conda
Docker Hub geodels/gospl-hpc:v2026.6.13

Release-process fix (silent-no-op guard)

conda/meta.yaml:2 is now formally documented as a second source of truth that must be bumped in lockstep with meson.build:4. The previous tag (v2026.6.12) caught conda-build silently no-op'ing the upload because the two had drifted. AGENTS.md > __version__ records the rationale; commit-checklist item 11 enforces the two-file bump for future releases.

Documentation

  • New docs/getting_started/installPip.rst — PyPI sdist install path, bring-your-own-MPI constraints, editable-dev section, TestPyPI dry-run.
  • Updated install pages (installHPC, installConda, installDocker) reference v2026.6.13.
  • AGENTS.md — Released-packages table extended, Milestones table records both v2026.6.12 (PyPI+Docker only) and v2026.6.13 (full sync), version-source claim corrected, "Last reviewed" bumped.

Install

# Conda (recommended for fresh installs — pulls every dep including MPI/PETSc)
mamba install -c geodels -c conda-forge gospl

# PyPI (requires an existing MPI / PETSc / parallel-HDF5 stack)
pip install --no-deps --no-build-isolation gospl

# Docker / Singularity HPC container (NCI Gadi, Pawsey Setonix)
docker pull geodels/gospl-hpc:v2026.6.13
singularity pull docker://geodels/gospl-hpc:v2026.6.13

Full changelog: v2026.06.11...v2026.6.13

Form options to set:

  • Target: v2026.6.13 (auto-populated from the URL)
  • Previous tag: v2026.06.11 (so the auto-generated changelog button works if you want to add it — but the manual notes above already cover it).
  • Set as the latest release ✓ (check this box)
  • Create a discussion for this release — your call; usually nice for major releases, optional.
  • Leave "Set as a pre-release" unchecked.