Skip to content

Commit 50ccbdd

Browse files
Add support for Python 3.14
Closes #3377
1 parent 7413cb5 commit 50ccbdd

4 files changed

Lines changed: 19 additions & 12 deletions

File tree

.github/workflows/tests.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ jobs:
2727
strategy:
2828
fail-fast: false
2929
matrix:
30-
python: [ "3.10", 3.13 ]
30+
python: [ "3.10", 3.14 ]
3131
os: [ macos-latest, ubuntu-24.04, windows-latest ]
3232
defaults:
3333
run:

.github/workflows/wheels.yml

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ jobs:
2020
strategy:
2121
fail-fast: false
2222
matrix:
23-
python: ["3.10", 3.11, 3.12, 3.13]
23+
python: ["3.10", 3.11, 3.12, 3.13, 3.14]
2424
steps:
2525
- name: Checkout
2626
uses: actions/checkout@v6.0.2
@@ -51,7 +51,7 @@ jobs:
5151
strategy:
5252
fail-fast: false
5353
matrix:
54-
python: ["3.10", 3.11, 3.12, 3.13]
54+
python: ["3.10", 3.11, 3.12, 3.13, 3.14]
5555
wordsize: [64]
5656
steps:
5757
- name: Checkout
@@ -125,7 +125,7 @@ jobs:
125125
strategy:
126126
fail-fast: false
127127
matrix:
128-
python: ["3.10", 3.11, 3.12, 3.13]
128+
python: ["3.10", 3.11, 3.12, 3.13, 3.14]
129129
runner: [macos-15, macos-15-intel]
130130
include:
131131
- runner: macos-15
@@ -163,7 +163,7 @@ jobs:
163163
strategy:
164164
fail-fast: false
165165
matrix:
166-
python: ["3.10", 3.11, 3.12, 3.13]
166+
python: ["3.10", 3.11, 3.12, 3.13, 3.14]
167167
wordsize: [64]
168168
steps:
169169
- name: Download wheels
@@ -188,7 +188,7 @@ jobs:
188188
strategy:
189189
fail-fast: false
190190
matrix:
191-
python: ["3.10", 3.11, 3.12, 3.13]
191+
python: ["3.10", 3.11, 3.12, 3.13, 3.14]
192192
include:
193193
- python: "3.10"
194194
wheel: cp310
@@ -198,6 +198,8 @@ jobs:
198198
wheel: cp312
199199
- python: 3.13
200200
wheel: cp313
201+
- python: 3.14
202+
wheel: cp314
201203
steps:
202204
- name: Download wheels
203205
uses: actions/download-artifact@v7.0.0

python/CHANGELOG.rst

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,10 @@
88
ID is e.g. a population name, rather than silently returning no samples.
99
(:user:`hyanwong`, :pr:`3344`)
1010

11+
**Maintenance**
12+
13+
- Add support for Python 3.14
14+
1115
--------------------
1216
[1.0.0] - 2025-11-27
1317
--------------------
@@ -22,7 +26,7 @@
2226
- ``TreeSequence.tables`` now returns a zero-copy immutable view of the tables.
2327
To get a mutable copy, use ``TreeSequence.dump_tables()``.
2428
(:user:`benjeffery`, :pr:`3288`, :issue:`760`)
25-
29+
2630
- For a tree sequence to be valid, the mutation parents in the table collection
2731
must be correct and consistent with the topology of the tree at each mutation site.
2832
``TableCollection.tree_sequence()`` will raise a ``_tskit.LibraryError`` if this
@@ -146,7 +150,7 @@
146150
(:user:`hyanwong`, :pr:`3165`, :issue:`3164`)
147151

148152
- Add ``TreeSequence.map_to_vcf_model`` method to return a mapping of
149-
the tree sequence to the VCF model.
153+
the tree sequence to the VCF model.
150154
(:user:`benjeffery`, :pr:`3163`)
151155

152156
- Use a thin space as the thousands separator in HTML output,
@@ -157,14 +161,14 @@
157161

158162
- Correct assertion message when tables are compared with metadata ignored.
159163
(:user:`benjeffery`, :pr:`3162`, :issue:`3161`)
160-
161-
**Breaking changes**
164+
165+
**Breaking changes**
162166

163167
- ``TreeSequence.write_vcf`` now filters non-sample nodes from individuals
164168
by default, instead of raising an error. These nodes can be included using the
165-
new ``include_non_sample_nodes`` argument.
169+
new ``include_non_sample_nodes`` argument.
166170
By default individual names (sample IDs) in VCF output are now of the form
167-
``tsk_{individual.id}`` Previously these were always
171+
``tsk_{individual.id}`` Previously these were always
168172
``"tsk_{j}" for j in range(num_individuals)``. This may break some downstream
169173
code if individuals are specified. To fix, manually specify ``individual_names``
170174
to the required pattern.

python/pyproject.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ classifiers = [
1919
"Programming Language :: Python :: 3.11",
2020
"Programming Language :: Python :: 3.12",
2121
"Programming Language :: Python :: 3.13",
22+
"Programming Language :: Python :: 3.14",
2223
"Programming Language :: Python :: 3 :: Only",
2324
"Development Status :: 5 - Production/Stable",
2425
"Environment :: Other Environment",

0 commit comments

Comments
 (0)