You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
pyo3 = { version = "0.27.2", features = ["abi3-py310"] }
However, I have not met Step 3, "Ensure that the .whl is correctly marked as abi3". As I'm using maturin I'm assuming it would handle when it detects the feature. The step refers to setting --py-limited-api=cp3x but for setuptools. Is there something here I need to specify for maturin, beyond the abi3-py310 feature in Cargo.toml?
In the tutorial output, maturin shows:
Found pyo3 bindings with abi3 support for Python ≥ 3.8 ... Built wheel for abi3 Python ≥ 3.8 to .../target/wheels/guessing_game-0.1.0-cp37-abi3-macosx_10_7_x86_64.whl
I've only ever seen:
Found CPython 3.12 at .../.venv/bin/python ... Built wheel to .../target/wheels/gage_cli-0.2.1.dev4-cp312-cp312-...whl
I'm seeing the same behavior on both Linux and macOS.
This is for a binary crate in Rust that calls Python::initialize().
UPDATE: I see I misread the docs. The steps above refer to extension modules. As I'm building a bin (Rust program that uses Python) these don't seem to apply in my case. I would still think it possible to create an abi3 wheel but maturin seems to not apply this config for bin bindings.
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
I've enabled the
abi3feature forpyo3per Bindings doc and pyo3's Building and distribution.Cargo dependency config:
However, I have not met Step 3, "Ensure that the .whl is correctly marked as abi3". As I'm using maturin I'm assuming it would handle when it detects the feature. The step refers to setting
--py-limited-api=cp3xbut for setuptools. Is there something here I need to specify for maturin, beyond theabi3-py310feature inCargo.toml?In the tutorial output, maturin shows:
I've only ever seen:
I'm seeing the same behavior on both Linux and macOS.
This is for a binary crate in Rust that calls
Python::initialize().UPDATE: I see I misread the docs. The steps above refer to extension modules. As I'm building a bin (Rust program that uses Python) these don't seem to apply in my case. I would still think it possible to create an abi3 wheel but maturin seems to not apply this config for bin bindings.
Beta Was this translation helpful? Give feedback.
All reactions