question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Some packages are considering (or starting to) to want to compile Rust code into python packages - notably cryptography (see pyca/cryptography#5381). The plan is to do this by ~2021 using pyO3, which isn’t packaged by conda-forge yet.

However, with existing feedstocks for rust and setuptools-rust, it seems like there’s not too many pieces missing (hopefully).

CC @mingwandroid @isuruf regarding the consequences for cryptography

Issue Analytics

  • State:open
  • Created 3 years ago
  • Comments:5 (5 by maintainers)

github_iconTop GitHub Comments

1reaction
mbargullcommented, Dec 21, 2020

I’m not much of a Rustacean, so not sure how far away we are from supporting this during the build process? Can we build the rust-parts without PyO3 (seeing that the compiler already exists), or do we need to package PyO3?

The current state with Rust packages is that conda-forge doesn’t do any special-handling here, meaning you’d just have your pyo3 dep in Cargo.toml and cargo will fetch everything itself during the build. Meaning, Rust libraries like PyO3 don’t have Conda packages but can be used in the builds.

We should probably really be coordinating with the rust compiler dev branch for the nightly releases, but we just pull the nightlies we need directly from rust.

https://github.com/conda-forge/rust-feedstock/tree/dev can be updated as needed. But PyO3 >=0.11.0 works with stable Rust anyway, so unless the downstream project needs nightlies, we can use the stable releases from conda-forge::rust.

0reactions
h-vetinaricommented, Mar 9, 2021
Read more comments on GitHub >

github_iconTop Results From Across the Web

Introduction - PyO3 user guide
maturin is a tool for building and publishing Rust-based Python packages with minimal configuration. The following steps install maturin , use it to...
Read more >
pyo3.rs - Rust bindings for the Python interpreter - GitHub
maturin is a tool for building and publishing Rust-based Python packages with minimal configuration. The following steps install maturin , use it to...
Read more >
pyo3-pack - PyPI
Build and publish crates with pyo3, rust-cpython and cffi bindings as well as rust binaries as python packages. This project was meant as...
Read more >
pyo3-chrono - crates.io: Rust Package Registry
pyo3 -chrono v0.2.0. Adds PyO3 support to Chrono structs via newtypes. #datetime · #python · #pyo3 · #chrono · Readme · 7 Versions...
Read more >
pyo3 - Rust - Docs.rs
PyO3 can be used to write native Python modules or run Python code and ... The PyO3 repository's examples subdirectory contains some basic...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found