Skip to content

Python abi3#1289

Merged
johnbartholomew merged 7 commits intogoogle:masterfrom
johnbartholomew:py-abi3
Feb 26, 2026
Merged

Python abi3#1289
johnbartholomew merged 7 commits intogoogle:masterfrom
johnbartholomew:py-abi3

Conversation

@johnbartholomew
Copy link
Copy Markdown
Collaborator

@johnbartholomew johnbartholomew commented Feb 25, 2026

As suggested in #1282

Various things here:

  • PyUnicode_AsUTF8AndSize() is only available from Python 3.10. We should use it but I'm hoping to let the thing continue to build on somewhat older Python versions than that so I've added a fallback path using PyUnicode_AsUTF8String(). It's a bit of a pain.
  • Python 2 support however, is fully dropped!
  • cibuildwheel github action is updated.
  • Minimum Python version for building is now 3.8, and produces an abi3 wheel tagged cp38-abi3.
  • The MacOS build is bumped to macos-14, because GitHub no longer has a macos-13 runner available.
  • Python module tests in the normal build&check now runs on multiple versions: 3.8, 3.10, 3.14.
  • The static project metadata from setup.py has been moved to pyproject.toml. The version is still dynamic and still set in setup.py (because version is looked up from jsonnet.h)

Probably still needs a bit more testing, but at least cibuildwheel thinks it has produced a bunch of working wheel files.

@johnbartholomew johnbartholomew force-pushed the py-abi3 branch 8 times, most recently from 8b3af70 to 4bcaa59 Compare February 25, 2026 01:30
@johnbartholomew johnbartholomew marked this pull request as ready for review February 25, 2026 01:30
@johnbartholomew johnbartholomew force-pushed the py-abi3 branch 2 times, most recently from af6a26e to 5f48df6 Compare February 26, 2026 14:19
@johnbartholomew johnbartholomew merged commit 338d4ed into google:master Feb 26, 2026
16 checks passed
@johnbartholomew johnbartholomew deleted the py-abi3 branch March 1, 2026 12:13
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.

1 participant