minisky/tools/src_cpp/setup.py uses distutils.core.Extension, which was deprecated in PEP 632 (Python 3.10). Since we have to build cross-platform wheels soon anyway, we should look into either:
- use
scikit-build-core, specifically pybind11/nanobind (cmake is a headache though)
- or rewrite it in Rust altogether, and use PyO3/maturin so we can generate .pyi stubs easily. However, compatibility with numpy arrays is unknown (maybe we can borrow some ideas from @xoolive 's
thrust)
The latter approach is desired because we the current tangram frontend lacks any syntax highlighting for commands, so maybe we can create a wasm module with Rust. But whether that is really needed is still too early to tell
minisky/tools/src_cpp/setup.pyusesdistutils.core.Extension, which was deprecated in PEP 632 (Python 3.10). Since we have to build cross-platform wheels soon anyway, we should look into either:scikit-build-core, specifically pybind11/nanobind (cmake is a headache though)thrust)The latter approach is desired because we the current tangram frontend lacks any syntax highlighting for commands, so maybe we can create a wasm module with Rust. But whether that is really needed is still too early to tell