Skip to content

Update Python versions#524

Draft
victorlin wants to merge 3 commits intomasterfrom
victorlin/update-python-versions
Draft

Update Python versions#524
victorlin wants to merge 3 commits intomasterfrom
victorlin/update-python-versions

Conversation

@victorlin
Copy link
Copy Markdown
Member

Description of proposed changes

Drop support for end of life Python versions 3.8 and 3.9; add explicit support for 3.14.

I'll try to break the first commit into multiple to follow the pattern in #325.

Related issue(s)

Checklist

  • Revert 8987cfd
  • Checks pass
  • Update changelog

@victorlin victorlin self-assigned this Apr 29, 2026
!=7.30.2 was effectively pinning to 7.x
Comment thread .github/workflows/ci.yaml
Comment on lines 323 to +325
- uses: ./src/.github/actions/setup-integration-tests
with:
python-version: '3.9'
python-version: '3.10'
Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

test-standalone is failing with ModuleNotFoundError: No module named 'importlib_resources' after changing setup-integration-tests to use Python 3.10. I expected the module to be available from Augur's bioconda recipe, but it is indeed not listed as a dependency:

$ micromamba repoquery depends augur=33.1.0 -c conda-forge -c bioconda --json \
  | jq -r '.result.pkgs[] | select(.name == "augur") | .depends[]'
pyyaml
mafft
iqtree
fasttree
seqkit
raxml
vcftools
python >=3.10
packaging >=19.2
cvxopt >=1.1.9,<2
scipy >=1.0.0,<2
biopython >=1.80,<2
pyfastx >=1.0.0,<3
treetime >=0.11.2,<0.12
bcbio-gff >=0.7.1,<0.8
networkx >=2.5,<4
python-calamine >=0.2.0
sqlite >=3.39,<4
jsonschema >=4.18.0,<5
xopen >=2.0.0,<3
pandas >=1.4.0,<3
referencing >=0.29.1,<1
isodate >=0.6.0,<0.8
numpy >=1.0.0,<3

This is because the augur package is noarch and does not respect selectors such as [py<311]. From conda-forge docs on noarch:

The noarch: python directive, in the build section, makes pure-Python packages that only need to be built once.
In order to qualify as a noarch python package, all of the following criteria must be fulfilled:

  • No python version specific requirements

It had previously worked with <3.10 because importlib-resources was pulled in by another dependency.

I'll make a PR to fix this in the bioconda recipe.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Python 3.8 deprecation warning from cryptography

1 participant