Skip to content

Commit 78e2f7c

Browse files
authored
support python 3.14 (#733)
Co-authored-by: Christopher Doris <github.com/cjdoris>
1 parent 90f81a3 commit 78e2f7c

File tree

4 files changed

+6
-18
lines changed

4 files changed

+6
-18
lines changed

.github/workflows/tests.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -73,11 +73,11 @@ jobs:
7373
fail-fast: false
7474
matrix:
7575
os: [ubuntu-latest, windows-latest, macos-latest]
76-
pyversion: ['3.13', '3.10']
76+
pyversion: ['3', '3.10']
7777
juliaexe: ["@JuliaPkg"]
7878
include:
7979
- os: ubuntu-latest
80-
pyversion: '3.13'
80+
pyversion: '3'
8181
juliaexe: julia
8282
env:
8383
MANUAL_TEST_PROJECT: /tmp/juliacall-test-project

CHANGELOG.md

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

3+
## Unreleased
4+
* Python 3.14+ is now supported.
5+
36
## 0.9.30 (2025-11-18)
47
* Maximum supported Python version is now 3.13 ([see the FAQ](https://juliapy.github.io/PythonCall.jl/stable/faq/#faq-python-314) for why).
58

CondaPkg.toml

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,10 +10,9 @@ version = "<=julia"
1010

1111
[deps.python]
1212
build = "**cpython**"
13-
version = ">=3.10,<3.14"
13+
version = ">=3.10,!=3.14.0,!=3.14.1,<4"
1414

1515
[dev.deps]
1616
matplotlib = ""
1717
numpy = ""
1818
pyside6 = ""
19-
python = "<3.14"

docs/src/faq.md

Lines changed: 0 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,5 @@
11
# FAQ & Troubleshooting
22

3-
## [Why is Python 3.14 not supported?](@id faq-python-314)
4-
5-
Python has always had a mechanism for detecting recursion errors (stack overflows).
6-
The heuristics for this have been made stricter in Python 3.14, which means that any
7-
system which uses a non-standard stack and calls Python from it is likely to crash.
8-
Julia is such a system because each task has its own stack.
9-
10-
There are discussions among Python developers about how to make the situation better but
11-
for now, PythonCall is highly likely to crash when using Python 3.14, so for the time
12-
being it is not supported.
13-
14-
See the discussion and linked GitHub issue here:
15-
https://discuss.python.org/t/python-3-14-0-is-incompatible-with-stack-switching-systems-what-do-we-do/104880.
16-
173
## [Can I use PythonCall and PyCall together?](@id faq-pycall)
184

195
Yes, you can use both PyCall and PythonCall in the same Julia session. This is platform-dependent:

0 commit comments

Comments
 (0)