poetry2nix
mach-nix
Our great sponsors
poetry2nix | mach-nix | |
---|---|---|
21 | 23 | |
726 | 829 | |
6.6% | - | |
9.7 | 5.7 | |
5 days ago | about 2 months ago | |
Nix | Python | |
MIT License | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
poetry2nix
-
Things I've learned about building CLI tools in Python
How about converting it to Nix derivation?
https://github.com/nix-community/poetry2nix
-
Poetry2nix: mismatch cryptography sha256 but unable to modify
This looks really strange because I do not know how to solve it and also because it looks like the sha256 that I am setting is not the one that Nix will match. I read also https://github.com/nix-community/poetry2nix/issues/413 but I was not able to solve the problem.
-
As if there weren't enough packaging tools already: mitsuhiko/rye: an experimental alternative to poetry/pip/pipenv/venv/virtualenv/pdm/hatch/…
There's a project that does this with using Nix: https://github.com/takeda/nix-cde (this is a wrapper around https://github.com/nix-community/poetry2nix)
-
Issue building pycairo in python flake
{ description = "Application packaged using poetry2nix"; inputs.flake-utils.url = "github:numtide/flake-utils"; inputs.nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; inputs.poetry2nix = { url = "github:nix-community/poetry2nix"; inputs.nixpkgs.follows = "nixpkgs"; }; outputs = { self, nixpkgs, flake-utils, poetry2nix }: flake-utils.lib.eachDefaultSystem (system: let # see https://github.com/nix-community/poetry2nix/tree/master#api for more functions and examples. inherit (poetry2nix.legacyPackages.${system}) mkPoetryEnv; pkgs = import nixpkgs {inherit system;}; python = pkgs.python310; pythonEnv = mkPoetryEnv { inherit python; projectDir = ./.; preferWheels = true; }; in { #packages.default = mkPoetryEnv { # projectDir = ./.; # python = pkgs.python310; #}; devShells.default = pkgs.mkShell { buildInputs = [pythonEnv]; packages = [ poetry2nix.packages.${system}.poetry pkgs.cairo pkgs.pkg-config pkgs.gobject-introspection pkgs.tk ]; }; }); }
-
Setting up Stabe Diffusion on NixOS
A cleaner way might be to use https://github.com/nix-community/poetry2nix which can load poetry.lock inside Nix. I still need to try it for torch, but it does seem like a clean way to use it.
- Ask HN: Is anyone successfully self-hosting Firefox Sync?
-
How do I install dependencies for a python application
The README for poetry2nix (https://github.com/nix-community/poetry2nix) seems to indicate that all extras should be enabled by default.
-
how to install Python packages not yet in the Nix repo?
if it's for a project you're working on, i'd recommend just using poetry2nix
- What is the point of containers in prod if one can use Nix everywhere?
-
Issue when installing python packages
poetry2nix is another popular option.
mach-nix
-
Installing chatgpt-wrapper
Another way if the above doesn't work is to use mach-nix:https://github.com/DavHau/mach-nix
-
How to install pip3
For python, I can highly recommend mach-nix. Makes it really easy to also keep a requirements.txt to stay compatible with non-nix-users.
-
Updated ESP-IDF and MicroPython expressions
The ESP32 toolchain is quite cumbersome to install - even under NixOS. The wiki tells you to create a shell.nix that creates a python virtual env at the first execution. I used DavHau's mach-nix to create esp-idf.nix and subsequently micropython-esp32.nix.
-
Share your Data Science stack in Nixpkgs
mach-nix and friends are pretty good, but I've found that the expectations of all the commonly-used data science stuff is pretty antithetical to the Nix Way. I'm not sure if it's still the case, but last I tried, Hydra wasn't building CUDA (since it's non-free), so I had to compile that and e.g. TensorFlow and PyTorch. Very painful, even on a beefy system.
- how to install Python packages not yet in the Nix repo?
-
Help with installing python packages.
I don't do much Python, but usually everything works just fine with mach-nix. I would try something like this: ``` { pkgs ? import (fetchTarball "https://github.com/nixos/nixpkgs/archive/nixpkgs-unstable.tar.gz") { } }:
-
Nix: Taming Unix with Functional Programming
There are some sifferent/new tools for adding your own Python packages these days. It's still not truly solved, but one of these new package generation tools might serve your better:
poetry2nix: https://github.com/nix-community/poetry2nix
dream2nix: https://nix-community.github.io/dream2nix/guides/getting-sta...
mach-nix: https://github.com/DavHau/mach-nix
pip2nix: https://github.com/nix-community/pip2nix
pynixify: https://github.com/cript0nauta/pynixify
The tools available to you at the time (pypi2nix and maybe python2nix, if it was a long time ago) have been abandoned in favor of the newer tools, I think chiefly poetry2nix but I'm not sure.
There's still the Nixpkgs buildPythonPackage stuff, I think, if your goal is to upstream a lib into Nixpkgs. But if you just want to build your own Python applications and vendorize the deps (e.g., for work), you might try one of the tools above, which weren't available 3+ years ago. Maybe Nixy Python users and developers can reply with some of their experiences using those tools :)
- what's the best way to transform nixos into "normal distro"
-
How shall I install a Python library/module?
Have a look at mach-nix which is a small utility library for nix to build Python packages declaratively.
-
Critique my first overlay (xonsh 0.12.4)
final: prev: { xonsh = prev.xonsh.overrideAttrs (old: rec { version = "0.12.4"; src = final.fetchFromGitHub { owner = "xonsh"; repo = "xonsh"; rev = version; sha256 = "0kdps0gf0767zy0fs6qn39rv4z3x7ck0qz1pzx6962593171yk8b"; }; propagatedBuildInputs = prev.xonsh.propagatedBuildInputs ++ [final.python3Packages.virtualenv]; }); python39 = prev.python39.override { self = prev.python39; packageOverrides = python_final: python_prev: { prompt-toolkit = python_prev.prompt-toolkit.overrideAttrs (old: rec { version = "3.0.29"; src = final.python3Packages.fetchPypi { pname = "prompt_toolkit"; inherit version; sha256 = "sha256-vWQPYOjOzXTw3CSXE9QzrOLdxitl7gf5bTWOCxUrbqc="; }; }); }; }; # Using mach-nix to fetch unpackaged xontrib plugins # adapted from https://github.com/NixOS/nixpkgs/issues/75786#issuecomment-873654103 mach-nix = import (builtins.fetchGit { url = "https://github.com/DavHau/mach-nix/"; ref = "refs/tags/3.4.0"; }) { pkgs = final; }; xonsh_pyenv = final.mach-nix.mkPython { requirements = '' xontrib-fzf-widgets xonsh-direnv ''; }; xonsh_with_plugins = final.xonsh.overrideAttrs (old: { propagatedBuildInputs = old.propagatedBuildInputs ++ final.xonsh_pyenv.python.pkgs.selectPkgs final.xonsh_pyenv.python.pkgs; }); }
What are some alternatives?
flake-utils-plus - Use Nix flakes without any fluff.
discord-overlay - [DEPRECATED] A Nixpkgs overlay providing the latest version(s) of the Discord desktop app, automatically updated every 30 minutes
nixos-generators - Collection of image builders [maintainer=@Lassulus]
spotify-dl - Downloads songs from your Spotify Playlist
age - A simple, modern and secure encryption tool (and Go library) with small explicit keys, no config options, and UNIX-style composability.
nix-alien - Run unpatched binaries on Nix/NixOS
spack - A flexible package manager that supports multiple versions, configurations, platforms, and compilers.
lm-evaluation-harness - A framework for few-shot evaluation of language models.
nix - Nix, the purely functional package manager
nix-prefetch-github - Prefetch sources from github for nix build tool
matrix.to - A simple stateless privacy-protecting URL redirecting service for Matrix
dm-haiku - JAX-based neural network library