Skip to content

Add Python 3.13 support and bump CANA to v1.0.1#56

Merged
xuan-w merged 3 commits intomasterfrom
fix/python-3.13-support
Feb 25, 2026
Merged

Add Python 3.13 support and bump CANA to v1.0.1#56
xuan-w merged 3 commits intomasterfrom
fix/python-3.13-support

Conversation

@xuan-w
Copy link
Contributor

@xuan-w xuan-w commented Feb 25, 2026

Summary

  • Bump schematodes from 1.0.0 to 1.0.1 in requirements.txt (adds Python 3.13 support via PyO3 0.22)
  • Regenerate C extension files (cutils.c, cboolean_canalization.c) with Cython 3 for Python 3.13 compatibility
  • Bump CANA version to 1.0.1
  • Add Python 3.13 to CI test matrix
  • Update CI actions (checkout v4, setup-python v5)

Fixes #52

Test plan

  • All 58 tests pass on Python 3.13 locally
  • All 58 tests pass on Python 3.12 locally
  • CI passes on all 4 Python versions (3.10, 3.11, 3.12, 3.13)

🤖 Generated with Claude Code

xuan-w and others added 3 commits February 24, 2026 18:58
- Bump schematodes from 1.0.0 to 1.0.1 (adds Python 3.13 support
  via PyO3 0.22)
- Add Python 3.13 to CI test matrix
- Update CI actions (checkout v4, setup-python v5)

Fixes #52

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
The pre-compiled C files were generated by an older Cython that uses
Python C API functions changed in 3.13:
- _PyLong_AsByteArray signature changed (5 -> 6 args)
- _PyGen_SetStopIterationValue removed

Regenerated with Cython 3.2.4 to fix compilation on Python 3.13.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
The exact-pinned requirements.txt has old versions (e.g. pandas 2.2.2)
that don't have Python 3.13 wheels. Instead, let `pip install .`
resolve compatible versions via setup.py's install_requires which
uses >= constraints.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@xuan-w xuan-w merged commit a4d6696 into master Feb 25, 2026
4 checks passed
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.

Build fails on Python 3.13: subprocess-exited-with-error when building wheel

1 participant