!rWxyQqNqMUDLECdsIf:blad.is

Poetry2nix

319 Members
https://github.com/nix-community/poetry2nix62 Servers

You have reached the beginning of time (for this room).


SenderMessageTime
13 Jun 2024
@ixxie:matrix.orgixxiethanks anyway12:24:45
@tyberius_prime:matrix.orgTyberiusPrime (smilodon inopinatus)no worries12:26:41
15 Jun 2024
@roastedcheesee:matrix.org@roastedcheesee:matrix.org joined the room.17:32:41
@roastedcheesee:matrix.org@roastedcheesee:matrix.org

hey, how can I override the generated inputs in mkPoetryApplication? I know I can override the dependencies but I can't manage to add inputs to the package itself

      mkPoetryApplication {
        projectDir = src;
        patches = [ ./salmon.patch ];
        overrides = defaultPoetryOverrides.extend (self: super: {
          bencoder-pyx = super.bencoder-pyx.overridePythonAttrs (old: {
            buildInputs = (old.buildInputs or []) ++ [ super.setuptools super.cython ];
          });
          pyimgurapi = super.pyimgurapi.overridePythonAttrs (old: {
            buildInputs = (old.buildInputs or []) ++ [ super.poetry ];
          });
          heybrochecklog = super.heybrochecklog.overridePythonAttrs (old: {
            patches = (old.patches or []) ++ [ ./salmon.patch ]; # ffs
            buildInputs = (old.buildInputs or []) ++ [ super.setuptools super.poetry ];
          });
          dottorrent = super.dottorrent.overridePythonAttrs (old: {
            buildInputs = (old.buildInputs or []) ++ [ super.setuptools ];
          });
          bs4 = super.bs4.overridePythonAttrs (old: {
            buildInputs = (old.buildInputs or []) ++ [ super.setuptools ];
          });
          pyimgur = super.pyimgur.overridePythonAttrs (old: {
            buildInputs = (old.buildInputs or []) ++ [ super.setuptools ];
          });
        });
      };

this is what I have so far, I tried overriding it together with the other dependencies but it had no effect

17:36:02
18 Jun 2024
@yusu:matrix.orgJosefine changed their display name from Jonas Katzke to Josefine.07:32:34
20 Jun 2024
@tyberius_prime:matrix.orgTyberiusPrime (smilodon inopinatus)Poetry2nix is IDF, right? how do I get a dependency on that IDF? I'm trying a wild thing, where I teach poetry mercurial by prefetching the mercurial repo (&rev) into the nix store, and rewriting the lock files a bit, but I can only build it in impure mode since even if I stick the fetchhg into the build inputs of the python package, that's not there when poetry2nix does it's thing (and why would it...)09:10:10
@tyberius_prime:matrix.orgTyberiusPrime (smilodon inopinatus)hah, all I need to do is overwrite src!09:51:06
@tyberius_prime:matrix.orgTyberiusPrime (smilodon inopinatus)of course09:51:09
@eightysteele:matrix.orgAaron Steele joined the room.16:39:05
@elonsroadster:matrix.orgcolonelpanicDoes anyone have any what is going on with libcst? seems like its not extracting a tar archive that it should be: error: opening file '/nix/store/201zc10pdd4ls1gmpsmbl710lm0q6ai7-libcst-1.1.0.tar.gz/native/Cargo.lock': Not a directory17:00:51
@eightysteele:matrix.orgAaron Steele

potentially silly question: how to get keyrings-google-artifactregistry-auth working in mkPoetryEnv? i include it as a buildInput and it works in the shellHook, but when i add a private source in tool.poetry.source' and try nix-shell`, i get these errors:

building '/nix/store/had00ag5f29zdjwlv5hmmc596cl60sjv-genjax-0.4.0-py3-none-any.whl.drv'...
Reading index https://us-west1-python.pkg.dev/probcomp-caliban/probcomp/simple/genjax/
Traceback (most recent call last):
  File "/nix/store/0rzh74dywg10ggl3ds6khsdpc84nbp96-fetch-from-legacy.py", line 82, in <module>
    response = urllib.request.urlopen(req, context=context)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/nix/store/7hnr99nxrd2aw6lghybqdmkckq60j6l9-python3-3.11.9/lib/python3.11/urllib/request.py", line 216, in urlopen
    return opener.open(url, data, timeout)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/nix/store/7hnr99nxrd2aw6lghybqdmkckq60j6l9-python3-3.11.9/lib/python3.11/urllib/request.py", line 525, in open
    response = meth(req, response)
               ^^^^^^^^^^^^^^^^^^^
  File "/nix/store/7hnr99nxrd2aw6lghybqdmkckq60j6l9-python3-3.11.9/lib/python3.11/urllib/request.py", line 634, in http_response
    response = self.parent.error(
               ^^^^^^^^^^^^^^^^^^
  File "/nix/store/7hnr99nxrd2aw6lghybqdmkckq60j6l9-python3-3.11.9/lib/python3.11/urllib/request.py", line 563, in error
    return self._call_chain(*args)
           ^^^^^^^^^^^^^^^^^^^^^^^
  File "/nix/store/7hnr99nxrd2aw6lghybqdmkckq60j6l9-python3-3.11.9/lib/python3.11/urllib/request.py", line 496, in _call_chain
    result = func(*args)
             ^^^^^^^^^^^
  File "/nix/store/7hnr99nxrd2aw6lghybqdmkckq60j6l9-python3-3.11.9/lib/python3.11/urllib/request.py", line 643, in http_error_default
    raise HTTPError(req.full_url, code, msg, hdrs, fp)
urllib.error.HTTPError: HTTP Error 401: Unauthorized
17:12:06
@eightysteele:matrix.orgAaron Steele *

potentially silly question: how to get keyrings-google-artifactregistry-auth working in mkPoetryEnv? i include it as a buildInput and it works in the shellHook, but when i add a private source in tool.poetry.source and try nix-shell, i get these errors:

building '/nix/store/had00ag5f29zdjwlv5hmmc596cl60sjv-genjax-0.4.0-py3-none-any.whl.drv'...
Reading index https://us-west1-python.pkg.dev/probcomp-caliban/probcomp/simple/genjax/
Traceback (most recent call last):
  File "/nix/store/0rzh74dywg10ggl3ds6khsdpc84nbp96-fetch-from-legacy.py", line 82, in <module>
    response = urllib.request.urlopen(req, context=context)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/nix/store/7hnr99nxrd2aw6lghybqdmkckq60j6l9-python3-3.11.9/lib/python3.11/urllib/request.py", line 216, in urlopen
    return opener.open(url, data, timeout)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/nix/store/7hnr99nxrd2aw6lghybqdmkckq60j6l9-python3-3.11.9/lib/python3.11/urllib/request.py", line 525, in open
    response = meth(req, response)
               ^^^^^^^^^^^^^^^^^^^
  File "/nix/store/7hnr99nxrd2aw6lghybqdmkckq60j6l9-python3-3.11.9/lib/python3.11/urllib/request.py", line 634, in http_response
    response = self.parent.error(
               ^^^^^^^^^^^^^^^^^^
  File "/nix/store/7hnr99nxrd2aw6lghybqdmkckq60j6l9-python3-3.11.9/lib/python3.11/urllib/request.py", line 563, in error
    return self._call_chain(*args)
           ^^^^^^^^^^^^^^^^^^^^^^^
  File "/nix/store/7hnr99nxrd2aw6lghybqdmkckq60j6l9-python3-3.11.9/lib/python3.11/urllib/request.py", line 496, in _call_chain
    result = func(*args)
             ^^^^^^^^^^^
  File "/nix/store/7hnr99nxrd2aw6lghybqdmkckq60j6l9-python3-3.11.9/lib/python3.11/urllib/request.py", line 643, in http_error_default
    raise HTTPError(req.full_url, code, msg, hdrs, fp)
urllib.error.HTTPError: HTTP Error 401: Unauthorized
17:12:27
@eightysteele:matrix.orgAaron Steelethere was a related issue here, although it's not clear how to use the workaround: https://github.com/nix-community/poetry2nix/issues/672#issuecomment-174410995317:13:32
@eightysteele:matrix.orgAaron Steele(thanks for any guidance!!)17:13:46
@eightysteele:matrix.orgAaron Steele

here's my default.nix

{ pkgs ? import <nixpkgs> { } }:
let
  poetry2nix = pkgs.callPackage (builtins.fetchTarball
    "https://github.com/nix-community/poetry2nix/archive/master.tar.gz") { };
  python312 = pkgs.python312;
  keyrings = pkgs.python312Packages.keyrings-google-artifactregistry-auth;
  gexEnv = poetry2nix.mkPoetryEnv {
    projectDir = ./.;
    editablePackageSources = { gex = ./gex; };
    python = python312;
    pyproject = ./pyproject.toml;
    poetrylock = ./poetry.lock;
    preferWheels = true;
  };
in pkgs.mkShell {
  buildInputs = [ gexEnv pkgs.google-cloud-sdk keyrings ];
  shellHook = ''
    # keyrings are available here and I'm authenticated in google cloud
  '';
}
17:16:02
21 Jun 2024
@tyberius_prime:matrix.orgTyberiusPrime (smilodon inopinatus)
In reply to @elonsroadster:matrix.org
Does anyone have any what is going on with libcst?

seems like its not extracting a tar archive that it should be:

error: opening file '/nix/store/201zc10pdd4ls1gmpsmbl710lm0q6ai7-libcst-1.1.0.tar.gz/native/Cargo.lock': Not a directory

that looks like the override is broken. I encountered something similar recently trying to wrap polaris.

But the nixpkgs libcst module - at least in master - uses fetchFromGitHub, so it really shouldn't have a tarball. And I don't see an override in poetry2nix Hm.

06:12:24
@tyberius_prime:matrix.orgTyberiusPrime (smilodon inopinatus)does poetry2nix at all try to detect the build system? or is it all manual overrides?06:12:38
@elonsroadster:matrix.orgcolonelpanicI think it might be the cargo tarball?06:24:00
@janik0:matrix.org@janik0:matrix.org left the room.09:14:53
@tyberius_prime:matrix.orgTyberiusPrime (smilodon inopinatus)I think it's the source tarball, where it's trying to get the Cargo.lock from?12:33:56
@tyberius_prime:matrix.orgTyberiusPrime (smilodon inopinatus)you got a minimal reproducing example?12:37:03
@linus:schreibt.jetzt@linus:schreibt.jetzt left the room.14:03:29
25 Jun 2024
@julius:mtx.liftm.deˈt͡sɛːzaɐ̯ How much of a sin is overrides = defaultPoetryOverrides.extend (_: _: pkgs.python311Packages);? 01:50:45
@tyberius_prime:matrix.orgTyberiusPrime (smilodon inopinatus)
In reply to @julius:mtx.liftm.de
How much of a sin is overrides = defaultPoetryOverrides.extend (_: _: pkgs.python311Packages);?
that sounds like a good way to get 'weird' problems ;).
13:12:19
@tyberius_prime:matrix.orgTyberiusPrime (smilodon inopinatus)no later then when your pyproject.toml says 3.12 and you forgot to adjust this ^^13:12:38
26 Jun 2024
@elonsroadster:matrix.orgcolonelpanic

I'm getting

➜ LD_LIBRARY_PATH='' nix build '.?submodules=1#railbird-api' --dry-run --impure --show-trace
warning: Git tree '/home/imalison/Projects/railbird' is dirty
trace: warning: pythonForBuild (from python*) has been renamed to pythonOnBuildForHost
trace: warning: pythonForBuild (from python*) has been renamed to pythonOnBuildForHost
trace: warning: pythonForBuild (from python*) has been renamed to pythonOnBuildForHost
evaluating derivation 'git+file:///home/imalison/Projects/railbird#railbird-api'error: stack overflow (possible infinite recursion)

after updating the nixpkgs and poetry2nix versions in my flake.

sort of at a loss as to how to try to even ascertain which package is causing this because why depends and dry run are failing with the same issue.

the only thing I can think of is to start putting traces in the poetry2nix code itself. Does anyone have any idea how I can debug this?

00:00:10
28 Jun 2024
@howird:matrix.orgHoward Nguyen-Huu joined the room.02:44:28
30 Jun 2024
@elonsroadster:matrix.orgcolonelpanicturns out that my nixpkgs was too out of date for the newer poetry2nix that I was using04:22:56
1 Jul 2024
@olaf_freund:matrix.orgOlaf Krasicki Freund joined the room.21:57:20
4 Jul 2024
@adis:blad.isadisbladis
In reply to @tyberius_prime:matrix.org
adisbladis: Hi, are you still working on poetry2nix?

For various reasons I haven't worked on anything Nix related for a bit.

The reasons are many-fold:

  • Personal (I don't want to get into details here, not relevant to the overall community regardless)

  • I don't exactly enjoy the maintenance aspect
    Overrides et al was something I always saw as a stop gap, but now takes up the brunt of maintenance time. This is not what I enjoy working on.

  • Ongoing political conflicts in Nix
    I have extremely low patience for social BS at the best of times, this is too much to handle.

I have some pretty large changes that I want to do to how Nixpkgs deals with Python in general that would break things drastically for some people. Dealing with any sort of social fallout in this climate is something I see as untenable.

  • I barely even use Python myself any more

  • Companies make money off poetry2nix, I make none
    This reality makes me question how much unpaid time I should put into the project.

00:14:25

Show newer messages


Back to Room ListRoom Version: 6