I created pyo3-testing a couple of years ago when first learning rust because I needed it.
At the time I was creating a toy project providing rust bindings to python (just as a learning experience) and expected to be creating additional python libraries in rust. I ended up never actually creating any of the libraries I was initially considering, so don't have anything that uses pyo3-testing myself except for that first toy project.
Now I'm wondering whether it is worth continuing to maintain, crates.io reports 0 dependents and every time pyo3 releases a new version I need to spend 15 minutes releasing a matching version myself...
At the same time, I'm slightly unhappy about the idea of abandoning my first published crate.
For those wondering what it does: it allows you to run python tests as rust unit tests against your published ffi interface rather than needing to have a full workflow which builds the library and then tests from python for the "basics". More on my thinking in the write-up on my toy project.
From the docs:
Simplifies testing of
#[pyo3function]s by enabling tests to be condensed to:use pyo3_testing::pyo3test; #[pyo3test] #[pyo3import(py_adders: from adders import addone)] fn test_pyo3test_simple_case() { let result: isize = addone!(1); assert_eq!(result, 2); }and for checking that the correct type of python Exception is raised:
use pyo3_testing::{pyo3test, with_py_raises}; #[pyo3test] #[allow(unused_macros)] #[pyo3import(py_adders: from adders import addone)] fn test_raises() { with_py_raises!(PyTypeError, { addone.call1(("4",)) }); }
What do you all think? Is this ever going to be valuable for someone or is it just burning CPU cycles for each version update?