pyo3/examples
David Hewitt a5a3f3f7f2
allow `#[pymodule(...)]` to accept all relevant `#[pyo3(...)]` options (#4330)
2024-07-10 22:38:38 +00:00
..
decorator remove all functionality deprecated in 0.20 (#4322) 2024-07-09 16:44:27 +00:00
getitem allow `#[pymodule(...)]` to accept all relevant `#[pyo3(...)]` options (#4330) 2024-07-10 22:38:38 +00:00
maturin-starter remove all functionality deprecated in 0.20 (#4322) 2024-07-09 16:44:27 +00:00
plugin remove all functionality deprecated in 0.20 (#4322) 2024-07-09 16:44:27 +00:00
sequential add `c_str!` macro to create `&'static CStr` (#4255) 2024-06-18 18:09:36 +00:00
setuptools-rust-starter remove all functionality deprecated in 0.20 (#4322) 2024-07-09 16:44:27 +00:00
string-sum add `c_str!` macro to create `&'static CStr` (#4255) 2024-06-18 18:09:36 +00:00
word-count remove all functionality deprecated in 0.20 (#4322) 2024-07-09 16:44:27 +00:00
Cargo.toml Remove deferred reference count increments and make the global reference pool optional (#4095) 2024-05-11 14:48:45 +00:00
README.md Create subinterpreter example 2023-11-26 09:49:56 +00:00

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.)