Found in https://github.com/developmentseed/obstore/issues/240 and with a small repro [here](https://github.com/developmentseed/obstore/pull/248) ```rs #[pyfunction] pub(crate) fn return_none_async(py: Python) -> PyResult<Bound<PyAny>> { pyo3_async_runtimes::tokio::future_into_py(py, async move { Ok(()) }) } ``` <img width="370" alt="Image" src="https://github.com/user-attachments/assets/eb763fc6-162b-4c3d-9b2a-5b3913e3b301" /> This is in contrast to normal `pyo3` where returning `()` from Rust creates a Python `None`. Using pyo3 0.23 and pyo3-async-runtimes 0.23.