Automatically convert Poetry Python projects into Nix derivations by parsing pyproject.toml and poetry.lock files.
poetry2nix is a tool that automatically converts Python projects using Poetry into Nix derivations. It solves the problem of manually writing Nix expressions for Python dependencies by parsing Poetry's `pyproject.toml` and `poetry.lock` files to generate Nix packages on the fly.
Python developers using Poetry for dependency management who want to integrate their projects with the Nix ecosystem for reproducible builds and deployments.
Developers choose poetry2nix because it eliminates the manual effort of writing Nix expressions for Python packages while maintaining compatibility with Poetry's workflow. It provides a bridge between Poetry's dependency resolution and Nix's reproducibility guarantees.
Convert poetry projects to nix automagically [maintainer=]
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Parses pyproject.toml and poetry.lock to create Nix derivations on the fly, eliminating the need for manual Nix expression writing.
Allows installing packages in editable mode within nix-shell, enabling fast development cycles without restarting the shell.
Supports Poetry 1.2.0+ dependency groups for main, dev, and custom groups, providing flexibility in environment setup.
Includes defaultPoetryOverrides and utilities like withDefaults to fix problematic Python packages, as detailed in the overrides directory.
The project is officially unmaintained and looking for maintainers, with no support for upcoming Poetry changes like PEP-621 and Poetry 2.0, making it future-incompatible.
Private repository support requires intricate NETRC file configuration, Nix sandbox mounting, and environment variable passing, which is error-prone and poorly documented.
Tightly coupled with Poetry; does not support other package managers, and requires overrides for many packages, increasing maintenance burden.