diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 746d020d..cc021ac2 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -73,11 +73,11 @@ jobs: fail-fast: false matrix: os: [ubuntu-latest, windows-latest, macos-latest] - pyversion: ['3.13', '3.10'] + pyversion: ['3', '3.10'] juliaexe: ["@JuliaPkg"] include: - os: ubuntu-latest - pyversion: '3.13' + pyversion: '3' juliaexe: julia env: MANUAL_TEST_PROJECT: /tmp/juliacall-test-project diff --git a/CHANGELOG.md b/CHANGELOG.md index 9fc56d54..a5d2789a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,8 @@ # Changelog +## Unreleased +* Python 3.14+ is now supported. + ## 0.9.30 (2025-11-18) * Maximum supported Python version is now 3.13 ([see the FAQ](https://juliapy.github.io/PythonCall.jl/stable/faq/#faq-python-314) for why). diff --git a/CondaPkg.toml b/CondaPkg.toml index e5416bc9..80243bd9 100644 --- a/CondaPkg.toml +++ b/CondaPkg.toml @@ -10,10 +10,9 @@ version = "<=julia" [deps.python] build = "**cpython**" -version = ">=3.10,<3.14" +version = ">=3.10,!=3.14.0,!=3.14.1,<4" [dev.deps] matplotlib = "" numpy = "" pyside6 = "" -python = "<3.14" diff --git a/docs/src/faq.md b/docs/src/faq.md index 2247139e..a31dff7b 100644 --- a/docs/src/faq.md +++ b/docs/src/faq.md @@ -1,19 +1,5 @@ # FAQ & Troubleshooting -## [Why is Python 3.14 not supported?](@id faq-python-314) - -Python has always had a mechanism for detecting recursion errors (stack overflows). -The heuristics for this have been made stricter in Python 3.14, which means that any -system which uses a non-standard stack and calls Python from it is likely to crash. -Julia is such a system because each task has its own stack. - -There are discussions among Python developers about how to make the situation better but -for now, PythonCall is highly likely to crash when using Python 3.14, so for the time -being it is not supported. - -See the discussion and linked GitHub issue here: -https://discuss.python.org/t/python-3-14-0-is-incompatible-with-stack-switching-systems-what-do-we-do/104880. - ## [Can I use PythonCall and PyCall together?](@id faq-pycall) Yes, you can use both PyCall and PythonCall in the same Julia session. This is platform-dependent: