Skip to content

Support Python 3.14#1108

Draft
EwoutH wants to merge 4 commits into
widgetti:masterfrom
EwoutH:py314
Draft

Support Python 3.14#1108
EwoutH wants to merge 4 commits into
widgetti:masterfrom
EwoutH:py314

Conversation

@EwoutH

@EwoutH EwoutH commented Oct 8, 2025

Copy link
Copy Markdown
Contributor

Support Python 3.14.

Work in progress

Closes #1107.

@EwoutH

EwoutH commented Oct 8, 2025

Copy link
Copy Markdown
Contributor Author

@maartenbreddels I don't have time to debug this further. #1107 is fixed, but #1109 isn't yet. Feel free to work further on this PR branch, or merge it.

I would highly recommend prioritizing this, since Python 3.14 stable is already released.

For next year, I recommend using the release candidate period to find such bugs in new Python versions. For Python 3.15, this period starts July 28th, 2026.

@EwoutH

EwoutH commented Oct 31, 2025

Copy link
Copy Markdown
Contributor Author

@maartenbreddels any chance you or someone from your team can work on Python 3.14 support?

@maartenbreddels

Copy link
Copy Markdown
Contributor

Integration tests are failing locally with:

>   class StepKwds(TypedDict, closed=True, total=False):  # type: ignore[call-arg]
E   TypeError: _TypedDictMeta.__new__() got an unexpected keyword argument 'closed'

../../../miniconda3/envs/dev314/lib/python3.14/site-packages/altair/vegalite/v5/schema/_config.py:6491: TypeError

This is an indication that we are a bit early with 3.14 support.

Unittests are passing locally.

@maartenbreddels

Copy link
Copy Markdown
Contributor

We'll have to wait for a 3.14 release from altair I think vega/altair#3895

@maartenbreddels

Copy link
Copy Markdown
Contributor

windows failure on 3.14:

<frozen importlib._bootstrap>:491: Warning: Numpy built with MINGW-W64 on Windows 64 bits is experimental, and only available for 
testing. You are advised not to use it for production. 

CRASHES ARE TO BE EXPECTED - PLEASE REPORT THEM TO NUMPY DEVELOPERS
C:\hostedtoolcache\windows\Python\3.14.0\x64\Lib\site-packages\numpy\core\getlimits.py:225: RuntimeWarning: invalid value encountered in exp2
  epsneg_f128 = exp2(ld(-113))
C:\hostedtoolcache\windows\Python\3.14.0\x64\Lib\site-packages\numpy\core\getlimits.py:226: RuntimeWarning: invalid value encountered in exp2
  tiny_f128 = exp2(ld(-16382))
C:\hostedtoolcache\windows\Python\3.14.0\x64\Lib\site-packages\numpy\core\getlimits.py:240: RuntimeWarning: invalid value encountered in exp2
  eps=exp2(ld(-112)),
C:\hostedtoolcache\windows\Python\3.14.0\x64\Lib\site-packages\numpy\core\getlimits.py:41: RuntimeWarning: invalid value encountered in nextafter
  self._smallest_subnormal = nextafter(
C:\hostedtoolcache\windows\Python\3.14.0\x64\Lib\site-packages\numpy\core\getlimits.py:52: RuntimeWarning: invalid value encountered in log10
  self.precision = int(-log10(self.eps))
D:\a\_temp\a6fa2721-240a-4f4b-81aa-2c7688a394ba.sh: line 3:   211 Segmentation fault      pytest tests/unit --doctest-modules --timeout=60

Not sure why this is experimental

@EwoutH

EwoutH commented Nov 6, 2025

Copy link
Copy Markdown
Contributor Author

Thanks for looking into this, appreciated!

Maybe we can merge the fixes we already have in place (such at 103fe3f for #1107)?

@maartenbreddels

Copy link
Copy Markdown
Contributor

Ah yes, i'm all for integrating the fixes, before officially "supporting 3.14".
Do you want to cherry-pick that fix into a new branch, so we can continue in this branch to get everything working?

@EwoutH

EwoutH commented Nov 7, 2025

Copy link
Copy Markdown
Contributor Author

Done, see #1123.

@EwoutH

EwoutH commented Nov 12, 2025

Copy link
Copy Markdown
Contributor Author

altair 6.0.0 Is now released with Python 3.14 support.

Chaoses-Ib added a commit to Chaoses-Ib/ComfyScript that referenced this pull request Nov 18, 2025
@EwoutH

EwoutH commented Nov 26, 2025

Copy link
Copy Markdown
Contributor Author

Any update on Python 3.14 support?

@EwoutH

EwoutH commented Nov 29, 2025

Copy link
Copy Markdown
Contributor Author

Since this PR is not moving forward, shall I close it?

@maartenbreddels

Copy link
Copy Markdown
Contributor

No, why close it?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

RuntimeError: dictionary changed size during iteration in minisettings.py on Python 3.14

2 participants