indygreg / indygreg/PyOxidizer

PyO3 support

Open
#324 18 comments 0 reactions 0 assignees View on GitHub
Dominant language
Rust
Stars
6.2k
Forks
256
PR merge metrics
No merged PRs in 30d

Description

A PyO3 maintainer here unfamiliar with PyOxidizer, just discovered it this afternoon. 👋

Looks like a really cool project! We reasonably often have pain with users who want to embed Python in Rust programs; there's all kinds of subtleties around static linking etc. So it'd be great to understand a little bit about what would be necessary for PyOxidizer to work with PyO3 projects (if it doesn't already).

I'd be very happy to help out with any implementation work needed and also add some notes to the [PyO3 guide](https://pyo3.rs) / add an example in the PyO3 repo.

Also, while reading your docs I noticed this section: https://pyoxidizer.readthedocs.io/en/stable/status.html?highlight=pyo3#pyo3

> PyO3
>
> PyO3 are alternate Rust bindings to Python from rust-cpython, which is what pyembed currently uses.
>
> The PyO3 bindings seem to be ergonomically better than rust-cpython. PyOxidizer may switch to PyO3 someday.

I'd be very happy to answer any questions you have about using PyO3 in `pyembed` & help with the implementation if you're interested in switching. IMO helping with downstream usage from time to time gives me ideas how to improve the ergonomics in PyO3!

Contributor guide

No contributing guide indexed for this repository

Research direction

Start with the PyO3 section of the status documentation and the pyembed component referenced there. Compare the existing rust-cpython usage with what PyO3 projects require, using the PyO3 guide and proposed example as context. Done means a documented compatibility assessment or a clearly scoped implementation plan, with the relevant guidance updated.

Written by the indexing model from the issue text.

Assessment

Tech stack
python, rust
Domain
tooling
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.