0e142f05dd
* add `c_str!` macro to create `&'static CStr` * newsfragment, just export as `pyo3::ffi::c_str` * fix doc link * fix doc * further `c_str!` based cleanups * [review]: mejrs Co-authored-by: Bruno Kolenbrander <59372212+mejrs@users.noreply.github.com> * rustfmt * build fixes * clippy * allow lint on MSRV * fix GraalPy import --------- Co-authored-by: Bruno Kolenbrander <59372212+mejrs@users.noreply.github.com> |
||
---|---|---|
.. | ||
decorator | ||
getitem | ||
maturin-starter | ||
plugin | ||
sequential | ||
setuptools-rust-starter | ||
string-sum | ||
word-count | ||
Cargo.toml | ||
README.md |
PyO3 Examples
These example crates are a collection of toy extension modules built with PyO3. They are all tested using nox
in PyO3's CI.
Below is a brief description of each of these:
Example | Description |
---|---|
decorator |
A project showcasing the example from the Emulating callable objects chapter of the guide. |
maturin-starter |
A template project which is configured to use maturin for development. |
setuptools-rust-starter |
A template project which is configured to use setuptools_rust for development. |
word-count |
A quick performance comparison between word counter implementations written in each of Rust and Python. |
plugin |
Illustrates how to use Python as a scripting language within a Rust application |
sequential |
Illustrates how to use pyo3-ffi to write subinterpreter-safe modules |
Creating new projects from these examples
To copy an example, use cargo-generate
. Follow the commands below, replacing <example>
with the example to start from:
$ cargo install cargo-generate
$ cargo generate --git https://github.com/PyO3/pyo3 examples/<example>
(cargo generate
will take a little while to clone the PyO3 repo first; be patient when waiting for the command to run.)