PyO3 works great. I've written an example repository for a hello world app for this if anyone's interested:
https://github.com/russnes/rust_python_package_example
The lib.rs is all of 125 SLOC (and about half of that is owing to the handling of `attribute_filter` which is pretty demanding on the glue layer: https://github.com/messense/nh3/commit/72be3e6728b7ceb9185e7...).