Is it worth maintaining `pyo3-testing`?

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?

2 Likes