Skip to content

Fix Python 3.13 dependency issues: cffi 1.17.1, pin setuptools<82#512

Open
lgelauff wants to merge 1 commit into
masterfrom
fix/setuptools-pin
Open

Fix Python 3.13 dependency issues: cffi 1.17.1, pin setuptools<82#512
lgelauff wants to merge 1 commit into
masterfrom
fix/setuptools-pin

Conversation

@lgelauff
Copy link
Copy Markdown
Collaborator

Fixes Python 3.13 compatibility issues discovered during Toolforge beta deployment of #505.

  • Bumps cffi 1.16.0 → 1.17.1: no pre-built wheel for Python 3.13 on 1.16.0, source build fails on Toolforge (missing libffi-dev headers)
  • Pins setuptools==81.0.0: setuptools 82 removed pkg_resources entirely; python-graph-core depends on it via namespace package declarations, causing ModuleNotFoundError on startup. Remove this pin once python-graph-core is replaced (tracked in Automate setuptools installation #421)

Keep as draft until #505 merges.

🤖 Generated with Claude Code

cffi==1.16.0 has no pre-built wheel for Python 3.13 and fails to
compile from source on Toolforge (missing libffi-dev headers).
Bumped to 1.17.1 which ships a Python 3.13 wheel.

setuptools 82.0.0 removed pkg_resources entirely. python-graph-core
uses pkg_resources for namespace package declarations, causing
ModuleNotFoundError on startup. Pinned to 81.0.0 until
python-graph-core is replaced (#421).

Discovered during Python 3.13 Toolforge deployment of #505.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@lgelauff
Copy link
Copy Markdown
Collaborator Author

Blocked on #505.

@lgelauff lgelauff marked this pull request as ready for review May 3, 2026 06:27
lgelauff added a commit that referenced this pull request May 4, 2026
cffi 1.16.0 ships a cp39 manylinux wheel but not a cp313 one, so pip
falls back to compiling from source on Python 3.13. The slim image has
no C toolchain. gcc and libffi-dev are the standard build requirements
for cffi. The underlying fix (cffi>=1.17.1, which has cp313 wheels) is
tracked in #512.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
lgelauff added a commit that referenced this pull request May 4, 2026
cffi 1.17.1 adds cp313 wheels, eliminating source compilation on Python
3.13 (and the need for gcc in the CI image). setuptools is pinned <82
because setuptools 82 removed pkg_resources, which python-graph-core
depends on via namespace packages. Remove once python-graph-core is
replaced (#421).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
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.

1 participant