Skip to content

fix(embedded): enable abi3-py311 for cross-version wheel compatibility#66

Merged
polaz merged 1 commit intomainfrom
fix/#65-abi3-py311
May 3, 2026
Merged

fix(embedded): enable abi3-py311 for cross-version wheel compatibility#66
polaz merged 1 commit intomainfrom
fix/#65-abi3-py311

Conversation

@polaz
Copy link
Copy Markdown
Member

@polaz polaz commented May 3, 2026

Summary

  • coordinode-embedded was publishing only cp311 wheels for Linux (CI runner has Python 3.11)
  • Google Colab runs Python 3.12 — pip cannot find a compatible wheel → installation fails
  • Fix: add abi3-py311 feature to pyo3, producing a single cp311-abi3 wheel per platform
  • The cp311-abi3 wheel is compatible with Python 3.11, 3.12, 3.13, 3.14+ automatically

Change

One line in coordinode-embedded/Cargo.toml:

pyo3 = { version = "0.23", features = ["extension-module", "abi3-py311"] }

maturin detects abi3-py311 and sets the wheel tag accordingly. No CI matrix changes needed.

Verified locally

📦 Built wheel for abi3 Python ≥ 3.11 to coordinode_embedded-0.1.0-cp311-abi3-macosx_11_0_arm64.whl

Installed successfully on Python 3.12 (uv run python = 3.12.11).

Closes #65

pyo3 previously used per-interpreter ABI, producing cp311-only wheels on
Linux (CI runner has Python 3.11). Colab runs Python 3.12 which cannot
install cp311 wheels, causing pip install to fail.

Adding abi3-py311 feature instructs maturin to build a single cp311-abi3
wheel per platform, compatible with Python 3.11, 3.12, 3.13, 3.14+.
No CI matrix changes needed — maturin detects abi3 from Cargo.toml.

Closes #65
@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented May 3, 2026

Caution

Review failed

Pull request was closed or merged during review

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro

Run ID: 51602888-5452-4ab9-8764-9f5b7ea41b28

📥 Commits

Reviewing files that changed from the base of the PR and between 834edfd and 52b6599.

⛔ Files ignored due to path filters (1)
  • uv.lock is excluded by !**/*.lock
📒 Files selected for processing (1)
  • coordinode-embedded/Cargo.toml

📝 Walkthrough

Summary by CodeRabbit

Release Notes

  • Chores
    • Updated Python compatibility configuration to enhance support for Python 3.11 environments.

Walkthrough

The PR enables the abi3-py311 feature flag for the pyo3 dependency in coordinode-embedded/Cargo.toml. This configures the build system to produce stable ABI-compatible wheels that work across Python 3.11 and later versions, addressing installation failures on Python 3.12+ environments like Google Colab.

Changes

pyo3 ABI3 Configuration

Layer / File(s) Summary
Dependency Configuration
coordinode-embedded/Cargo.toml
pyo3 features updated from ["extension-module"] to ["extension-module", "abi3-py311"] to enable stable ABI for Python 3.11+ compatibility.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~2 minutes

Possibly related PRs

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly and concisely describes the main change: enabling abi3-py311 feature for cross-version wheel compatibility.
Description check ✅ Passed The description is directly related to the changeset, explaining the problem, the fix, and providing verification details.
Linked Issues check ✅ Passed The pull request implements the required solution from issue #65 by adding the abi3-py311 feature to pyo3, meeting the core coding requirement.
Out of Scope Changes check ✅ Passed All changes are directly scoped to the requirement: only the pyo3 dependency features in Cargo.toml were modified.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch fix/#65-abi3-py311

Review rate limit: 3/5 reviews remaining, refill in 12 minutes and 42 seconds.

Comment @coderabbitai help to get the list of available commands and usage tips.

@sonarqubecloud
Copy link
Copy Markdown

sonarqubecloud Bot commented May 3, 2026

@polaz polaz merged commit ef89b4b into main May 3, 2026
7 of 8 checks passed
@polaz polaz deleted the fix/#65-abi3-py311 branch May 3, 2026 15:58
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.

fix(embedded): build abi3 wheel for Python 3.11+ compatibility

1 participant