Skip to content

Fix issues with Python 3.14 and add ARM wheel builds#83

Merged
mattkjames7 merged 55 commits intomasterfrom
python-3.14-and-arm
Feb 17, 2026
Merged

Fix issues with Python 3.14 and add ARM wheel builds#83
mattkjames7 merged 55 commits intomasterfrom
python-3.14-and-arm

Conversation

@mattkjames7
Copy link
Contributor

@mattkjames7 mattkjames7 commented Feb 15, 2026

  • Added Python 3.14 binary.
  • Added ARM binaries for Linux.
  • Fixed segmentation fault when handling datetimes in Python 3.14.
  • Modified tests to handle new behaviour of sys.getrefcount() in Python 3.14.
  • Moved Linux builds into manylinux container based on libc version 2.34 to allow binaries to run on a wider range of Linux distros.
  • Simplified Linux build and test by:
    • building and testing all supported Python versions in the same job,
    • testing using the latest Memgraph Docker image,
    • removing the source distribution job (this now happens by default with the python -m build command).
  • Added scripts to simplify building binaries on Linux manually.
  • Build custom OpenSSL and zlib static binaries to link to the pymgclient binary in line with the versions used by Memgraph. NOTE: the manylinux container is based on AlmaLinux, which does not provide static libs; the dynamic library for OpenSSL is much more recent than what most other current distros use (3.5.1), so linking to that would mean that it would only work on hosts with the same version or newer.
  • Added pyproject.toml (closes Add pyproject.toml #52)

@mattkjames7 mattkjames7 linked an issue Feb 15, 2026 that may be closed by this pull request
@mattkjames7 mattkjames7 marked this pull request as ready for review February 17, 2026 00:19
Copy link

@antejavor antejavor left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Contributor

@colinbarry colinbarry left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

All looks good, just have a question about why we need the isinstance stuff for Python 3.14.

Otherwise, I'm happy to approve.

Copy link
Contributor

@colinbarry colinbarry left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Approved

@mattkjames7 mattkjames7 merged commit 2ca0412 into master Feb 17, 2026
25 checks passed
@mattkjames7 mattkjames7 deleted the python-3.14-and-arm branch February 17, 2026 11:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add support for Python 3.14 Build arm64 binary for Linux Add pyproject.toml

3 participants