Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

For Python, specifically? As in, pyproject.toml-compatible tooling, with virtual environments and the like? I've see Nix being used for compiled languages, and maybe I'm missing something, but I haven't really seen it used to manage real-world projects. How do I manage a modern Python project with nix? How do I publish once to PyPI?


Agree. Don't think gp has any idea what they're saying. Using nix to install python dependencies is a disaster, it's only good for the python versions themselves.


Works extremely well. Just don't expect to do version soup of random versions of everything. nixpkgs provides one of each that are chosen and known to work together.


> it's only good for the python versions themselves

Versioning Python isn't hard. pyenv, asdf, mise, now uv... I honestly don't see what Nix brings to the Python ecosystem. I can see using it to version Python if you already use it, but that's it.


What Nix can bring to the Python ecosystem is the ability to actually manage all of the non-Python dependencies that drive most useful Python code, and to install them in a portable way.

On my team we use Nix for actually distributing our Python programs, both directly onto machines for local development, and to build containers for deployment in the cloud. We use Poetry for development and generate the Nix package from our pyproject.toml.

Actually plugging Python into a general-purpose package manager for native dependencies is admittedly a pretty clunky experience today because Python packages lack sufficient metadata and packaging formats within the ecosystem are so fragmented. But with a sane implementation of something like PEP-725, that could actually make that pretty smooth, including for system package managers other than Nix if that's not your cup of tea.

https://peps.python.org/pep-0725/




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: