Skip to content

Commit 9405837

Browse files
committed
Drop Python 3.9 support, update to Python 3.10-3.13
- Update pyproject.toml requires-python to >=3.10 - Remove Python 3.9 classifier, add Python 3.13 classifier - Update wheel building to use Python 3.10-3.13 - Update GitHub Actions tests to use Python 3.10 and 3.13 - Update CircleCI to use Python 3.10 - Update docker shared.env to include cp313 and exclude cp39
1 parent 945574e commit 9405837

File tree

6 files changed

+19
-14
lines changed

6 files changed

+19
-14
lines changed

.circleci/config.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ orbs:
66
jobs:
77
build:
88
docker:
9-
- image: cimg/python:3.9
9+
- image: cimg/python:3.10
1010
steps:
1111
- checkout
1212

@@ -25,7 +25,7 @@ jobs:
2525
- run:
2626
name: Install test dependencies
2727
command: |
28-
pyenv global 3.9
28+
pyenv global 3.10
2929
pip install uv
3030
uv pip install --system -r pyproject.toml --extra test
3131
pyenv rehash

.github/workflows/docker/shared.env

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
PYTHON_VERSIONS=(
2+
cp313-cp313
23
cp312-cp312
34
cp311-cp311
45
cp310-cp310
5-
cp39-cp39
66
)

.github/workflows/tests.yml

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ jobs:
1717
strategy:
1818
fail-fast: false
1919
matrix:
20-
python: [ 3.9, "3.12" ]
20+
python: [ "3.10", 3.13 ]
2121
os: [ macos-latest, ubuntu-24.04, windows-latest ]
2222
defaults:
2323
run:
@@ -46,7 +46,6 @@ jobs:
4646
- name: Install cyvcf2 #Fails if done via conda due to no windows support.
4747
if: matrix.os != 'windows-latest'
4848
run: |
49-
#Install these by pip so we don't pull in cbgen with conda as it isn't available on 3.12
5049
uv pip install sgkit==0.9.0 cyvcf2==0.31.1 yarl==1.9.4 aiohttp==3.9.5 requests==2.32.3
5150
5251
- name: Install sgkit only on windows

.github/workflows/wheels.yml

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ jobs:
1515
runs-on: macos-latest
1616
strategy:
1717
matrix:
18-
python: [3.9, "3.10", 3.11, 3.12]
18+
python: ["3.10", 3.11, 3.12, 3.13]
1919
steps:
2020
- name: Checkout
2121
uses: actions/[email protected]
@@ -44,7 +44,7 @@ jobs:
4444
runs-on: windows-latest
4545
strategy:
4646
matrix:
47-
python: [3.9, "3.10", 3.11, 3.12]
47+
python: ["3.10", 3.11, 3.12, 3.13]
4848
wordsize: [64]
4949
steps:
5050
- name: Checkout
@@ -79,10 +79,10 @@ jobs:
7979
with:
8080
submodules: true
8181

82-
- name: Set up Python 3.9
82+
- name: Set up Python 3.10
8383
uses: actions/[email protected]
8484
with:
85-
python-version: 3.9
85+
python-version: "3.10"
8686

8787
- name: Build sdist
8888
shell: bash
@@ -112,7 +112,7 @@ jobs:
112112
runs-on: macos-latest
113113
strategy:
114114
matrix:
115-
python: [3.9, "3.10", 3.11, 3.12]
115+
python: ["3.10", 3.11, 3.12, 3.13]
116116
steps:
117117
- name: Download wheels
118118
uses: actions/[email protected]
@@ -135,7 +135,7 @@ jobs:
135135
runs-on: windows-latest
136136
strategy:
137137
matrix:
138-
python: [3.9, "3.10", 3.11, 3.12]
138+
python: ["3.10", 3.11, 3.12, 3.13]
139139
wordsize: [64]
140140
steps:
141141
- name: Download wheels
@@ -161,7 +161,7 @@ jobs:
161161
needs: ['manylinux']
162162
strategy:
163163
matrix:
164-
python: [3.9, "3.10", 3.11, 3.12]
164+
python: ["3.10", 3.11, 3.12, 3.13]
165165
steps:
166166
- name: Download wheels
167167
uses: actions/[email protected]

CHANGELOG.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,11 @@
11
# Changelog
22

3+
## [0.4.2] - 2025-XX-XX
4+
5+
** Changes **
6+
7+
- Drop Python 3.9 support, require Python >= 3.10 ({pr}`1044`, {user}`benjeffery`)
8+
39
## [0.4.1] - 2024-04-19
410

511
** Changes **

pyproject.toml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,16 +18,16 @@ authors = [
1818
]
1919
description = "Infer tree sequences from genetic variation data."
2020
readme = "README.md"
21-
requires-python = ">=3.9"
21+
requires-python = ">=3.10"
2222
license = {text = "GNU GPLv3+"}
2323
classifiers = [
2424
"Programming Language :: C",
2525
"Programming Language :: Python",
2626
"Programming Language :: Python :: 3",
27-
"Programming Language :: Python :: 3.9",
2827
"Programming Language :: Python :: 3.10",
2928
"Programming Language :: Python :: 3.11",
3029
"Programming Language :: Python :: 3.12",
30+
"Programming Language :: Python :: 3.13",
3131
"Programming Language :: Python :: 3 :: Only",
3232
"License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)",
3333
"Development Status :: 3 - Alpha",

0 commit comments

Comments
 (0)