Skip to content

Conversation

@CarsonZuniga
Copy link

  • Adds CPython 3.14 to the test matrix and wheel build targets
  • Upgrades cibuildwheel to v3.2.1 for official 3.14.0 final support
  • Updates sdist build to use Python 3.14
  • Ensures prebuilt cp314 wheels are generated for Linux, macOS, and Windows
  • Retains Python 2.7 compatibility for legacy users

- Adds CPython 3.14 to the test matrix and wheel build targets  
- Upgrades cibuildwheel to v3.2.1 for official 3.14.0 final support  
- Updates sdist build to use Python 3.14  
- Ensures prebuilt cp314 wheels are generated for Linux, macOS, and Windows  
- Retains Python 2.7 compatibility for legacy users
@etrepum
Copy link
Member

etrepum commented Oct 17, 2025

It does look like this drops support for 3.6 and 3.7 due to cibuildwheel so the next release after this will be a minor version bump rather than a patch

- Drops manual CIBW_BUILD override since cibuildwheel 3.2.1 includes Python 3.14 by default  
- Simplifies configuration and reduces future maintenance overhead
@etrepum
Copy link
Member

etrepum commented Oct 17, 2025

It looks like there is work to do in order to upgrade simplejson to work without the GIL, so I don't think we should merge this or declare support for it until that happens. I do not personally have the need or interest to spend time on that in the near future, but happy to do the review if someone else contributes a PR.

RuntimeWarning: The global interpreter lock (GIL) has been enabled to load module 'simplejson._speedups', which has not declared that it can run safely without the GIL. To override this behavior and keep the GIL disabled (at your own risk), run with PYTHON_GIL=0 or -Xgil=0.

CarsonZuniga and others added 4 commits October 17, 2025 15:01
\n- add an is_gil_enabled helper that reports the interpreter's current GIL state\n- skip importing the C speedups when the GIL is disabled so nogil builds fall back to Python\n- declare the extension's Py_mod_gil slot so CPython knows the module requires the GIL
support free-threaded python builds
@CarsonZuniga
Copy link
Author

Addressed the feedback - updated _speedups.c for Python 3.14 and added GIL-aware import guards.
The module now skips C speedups in free-threaded builds, removing the GIL warning.
All wheel builds for 3.14 pass locally under act

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.

2 participants