efe19b18ec
* Support for running maturin commands with uv
* set `PSP_UV=1` in environment
* use `uv venv` to create venv, then activate it
* `uv pip install -r **/requirements.txt` to install requirements
* Update pyo3 from 0.21 to 0.23
* this was to support use of the `pyo3-async-runtimes` crate
* Build `abi3` .so when building with `maturin develop`
* **Caveat**: after this change, old non-abi3 .so's still lingering in
the rust/perspective-python directory may be loaded preferentially
by Python when using an editable install. It is best to delete
those old .so's.
* Repurpose PyClient as AsyncClient and export bindings to Python
* Add async client pytests for both cpython and pyodide
* Uses `pytest-asyncio` plugin
* Add python and pytest vscode settings
* Supports running cpython pytest suite from vscode's Test Explorer
Signed-off-by: Tom Jakubowski <tom@prospective.dev>