Skip to content

Commit 3e06bff

Browse files
committed
CI: support Python 3.14
1 parent 0f17a79 commit 3e06bff

File tree

3 files changed

+17
-11
lines changed

3 files changed

+17
-11
lines changed

.github/workflows/test.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ jobs:
3333
strategy:
3434
fail-fast: false
3535
matrix:
36-
python_minor: [ '9', '10', '11', '12', '13', '13t' ]
36+
python_minor: [ '9', '10', '11', '12', '13', '13t', '14', '14t' ]
3737
os: [ ubuntu-latest ]
3838
# Just a single ARM worker to be sure that it works
3939
include:
@@ -193,10 +193,10 @@ jobs:
193193
uses: actions/setup-python@v5
194194
with:
195195
python-version: '3.9'
196-
- name: Set up Python 3.13t
196+
- name: Set up Python 3.14t
197197
uses: actions/setup-python@v5
198198
with:
199-
python-version: '3.13t'
199+
python-version: '3.14t'
200200
- name: Get minimum supported Rust version
201201
run: echo "::set-output name=msrv::$(grep '^rust-version = ' Cargo.toml | grep -o '[0-9.]\+')"
202202
id: get_msrv

light-curve/README.md

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -57,10 +57,15 @@ We stopped publishing all PyPy wheels (https://github.com/light-curve/light-curv
5757
and the PPC64le CPython glibc wheel (https://github.com/light-curve/light-curve-python/issues/479),
5858
please feel free to open an issue if you need any of them.
5959

60-
[Free-threaded Python](https://docs.python.org/3.13/whatsnew/3.13.html#free-threaded-cpython) is supported when built from source.
61-
No pre-built distributions are provided so far, please comment on these issues if you need them: [PyPI binary wheel issue](https://github.com/light-curve/light-curve-python/issues/500), [conda-forge package issue](https://github.com/conda-forge/light-curve-python-feedstock/issues/11).
62-
Notably, for expensive features, the performance with the GIL-enabled interpreter and the `.many()` method provided by the feature extractors is on par with the free-threaded interpreter and Python threads for parallelism.
63-
However, for inexpensive feature extractors, `.many()` still significantly reduces the overhead caused by the Rust–Python interaction and shows better performance.
60+
Free-threaded
61+
Python ([experimental in Python 3.13](https://docs.python.org/3.13/whatsnew/3.13.html#free-threaded-cpython), [officially supported by Python 3.14+](https://docs.python.org/3.14/whatsnew/3.14.html#whatsnew314-pep779))
62+
is supported when built from source.
63+
No pre-built distributions are provided so far, please comment on these issues if you need
64+
them: [PyPI binary wheel issue](https://github.com/light-curve/light-curve-python/issues/500), [conda-forge package issue](https://github.com/conda-forge/light-curve-python-feedstock/issues/11).
65+
Notably, for expensive features, the performance with the GIL-enabled interpreter and the `.many()` method provided by
66+
the feature extractors is on par with the free-threaded interpreter and Python threads for parallelism.
67+
However, for inexpensive feature extractors, `.many()` still significantly reduces the overhead caused by the
68+
Rust–Python interaction and shows better performance.
6469

6570
See [bellow](#build-from-source) for the details on how to build the package from the source code.
6671

light-curve/pyproject.toml

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ classifiers = [
1616
"Programming Language :: Python :: 3.11",
1717
"Programming Language :: Python :: 3.12",
1818
"Programming Language :: Python :: 3.13",
19+
"Programming Language :: Python :: 3.14",
1920
"Programming Language :: Rust",
2021
"Topic :: Scientific/Engineering :: Astronomy",
2122
]
@@ -161,26 +162,26 @@ markers = [
161162
[tool.tox]
162163
legacy_tox_ini = """
163164
[tox]
164-
envlist = py{39,310,311,312,313,313t}-{base,test}
165+
envlist = py{39,310,311,312,313,313t,314,314t}-{base,test}
165166
isolated_build = True
166167
167-
[testenv:py{39,310,311,312,313,313t}-base]
168+
[testenv:py{39,310,311,312,313,313t,314,314t}-base]
168169
change_dir = {envtmpdir}
169170
extras =
170171
commands =
171172
python -c 'import light_curve'
172173
set_env =
173174
CARGO_TARGET_DIR = {tox_root}/target
174175
175-
[testenv:py{39,310,311,312,313}-test]
176+
[testenv:py{39,310,311,312,313,314}-test]
176177
extras = dev
177178
commands =
178179
pytest README.md tests/ light_curve/
179180
ruff check .
180181
set_env =
181182
CARGO_TARGET_DIR = {tox_root}/target
182183
183-
[testenv:py313t-test]
184+
[testenv:py{313,314}t-test]
184185
extras = dev-free-threading
185186
commands =
186187
pytest README.md tests/ light_curve/ \

0 commit comments

Comments
 (0)