By the way, I just embedded on a Rust team for a month to assist with a project and I totally understand the OP’s perspective. It was quite lovely using (mostly) just Cargo for everything.
Hatch is well positioned to provide this unified experience since it is already pretty much there (and supports plugins like Cargo) except for 2 things:
- lock files: this is out of my control but I’m confident @brettcannon will save us
- distribution: I tried really, really hard to package it as a single binary with PyOxidizer and Nuitka but
virtualenv
/venv
hard requires a filesystem and PyInstaller also couldn’t. Basically, it needs to be distributed as Python but with Hatch pre-installed