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
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions