Skip to content

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

@polaz

Description

@polaz

Problem

coordinode-embedded is published only with cp311 wheels for Linux. Google Colab runs Python 3.12, so pip cannot find a compatible wheel and installation fails.

CalledProcessError: Command 'pip install coordinode-embedded' returned non-zero exit status 1

Root Cause

pyo3 in coordinode-embedded/Cargo.toml uses the default per-interpreter ABI. maturin builds one wheel per Python interpreter found on the runner. CI uses Python 3.11 for Linux builds → only cp311 wheels.

Solution

Enable abi3 stable ABI via abi3-py311 feature flag on pyo3. maturin detects this automatically and builds a single cp311-abi3 wheel per platform that works on Python 3.11, 3.12, 3.13, 3.14+.

One-line change: coordinode-embedded/Cargo.toml

Acceptance Criteria

  • cp311-abi3 wheel on PyPI for Linux x86_64, Linux aarch64, macOS arm64, macOS x86_64, Windows x86_64
  • pip install coordinode-embedded succeeds on Colab (Python 3.12)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions