Skip to content

Support Python 3.12-3.14 in Conda builds - #70

Merged
harryswift01 merged 1 commit into
mainfrom
69-general-support-multiple-python-versions
Sep 29, 2026
Merged

harryswift01 merged 1 commit into
mainfrom
69-general-support-multiple-python-versions

Conversation

@harryswift01

Copy link
Copy Markdown
Member

Summary

This PR makes the Conda package actually installable across all supported Python versions (3.12, 3.13, 3.14), previously the recipe only ever built and published a single Python 3.14 variant regardless of what meta.yaml claimed to support.

Changes

Declare the Python build matrix in the Conda recipe:

  • Added conda-recipe/conda_build_config.yaml declaring python: ["3.12", "3.13", "3.14"], the standard conda-forge/bioconda way of expressing a multi-version build matrix
  • Changed meta.yaml's host/test sections to a bare, unconstrained python so conda-build's variant system actually substitutes the target version, an explicit range there (the previous python >=3.12) silently blocks this substitution
  • Aligned run: python >=3.12,<3.15 with pyproject.toml's requires-python

Publish all Python/platform combinations on release:

  • Simplified release.yaml's conda job back to an os-only matrix, since a single conda build now produces all three Python variants per platform automatically
  • Updated the build/upload steps to handle multiple package outputs per job instead of assuming one

Simplify weekly regression testing to match:

  • Dropped the now-redundant python-version matrix from weekly-regression.yaml, each OS job now builds and tests all three variants in one run
  • Bumped timeout-minutes from 30 to 90 to account for the extra build/test work per job

Fix stale documentation:

  • Updated installation.rst/development.rst from "Python 3.12 or later" to "Python 3.12, 3.13, or 3.14" to match the actual supported range

Impact

  • Releases now publish 9 packages (3 platforms × 3 Python versions) instead of 3, fixing installs for anyone not on Python 3.14
  • Verified end-to-end with real local builds (not just rendering): all three Python variants build and pass all 18 regression tests, both via conda_build_config.yaml's default matrix and via explicit --python overrides
  • No behavioural change to SIST itself, this is entirely packaging/CI

@harryswift01 harryswift01 self-assigned this Sep 29, 2026
@harryswift01 harryswift01 added bug Something isn't working enhancement New feature or request labels Sep 29, 2026
@harryswift01 harryswift01 linked an issue Sep 29, 2026 that may be closed by this pull request

@jimboid jimboid left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixes a major annoyance with code not installing on different versions of python despite them bring listed in meta.yaml/pyptoject.toml in the conda release chain. Happy to merge, you will want to release at some point to reflect the change.

@harryswift01
harryswift01 merged commit 0097ed7 into main Sep 29, 2026
15 of 16 checks passed
@harryswift01
harryswift01 deleted the 69-general-support-multiple-python-versions branch September 29, 2026 10:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[General]: Support Multiple Python Versions in Conda Package

2 participants