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
Problem
coordinode-embeddedis published only withcp311wheels for Linux. Google Colab runs Python 3.12, so pip cannot find a compatible wheel and installation fails.Root Cause
pyo3incoordinode-embedded/Cargo.tomluses the default per-interpreter ABI. maturin builds one wheel per Python interpreter found on the runner. CI uses Python 3.11 for Linux builds → onlycp311wheels.Solution
Enable abi3 stable ABI via
abi3-py311feature flag on pyo3. maturin detects this automatically and builds a singlecp311-abi3wheel per platform that works on Python 3.11, 3.12, 3.13, 3.14+.One-line change:
coordinode-embedded/Cargo.tomlAcceptance Criteria
cp311-abi3wheel on PyPI for Linux x86_64, Linux aarch64, macOS arm64, macOS x86_64, Windows x86_64pip install coordinode-embeddedsucceeds on Colab (Python 3.12)