!rWxyQqNqMUDLECdsIf:blad.is

Poetry2nix

306 Members
https://github.com/nix-community/poetry2nix56 Servers

Load older messages


SenderMessageTime
12 Jan 2022
@averagechris:matrix.orgaveragechrisso maybe I'm just slow enough so that it reevaluates everything00:44:47
@adis:blad.isadisbladisLorri doesn't have flakes support afaik?00:45:39
@averagechris:matrix.orgaveragechrisyou have to make a compatible shell.nix00:46:03
@adis:blad.isadisbladisRight, then the evaluation model is different00:46:14
@adis:blad.isadisbladisFlakes enforces hermetic evaluation by copying everything to the store00:46:35
@adis:blad.isadisbladisWhich changes the semantics of paths00:46:49
@averagechris:matrix.orgaveragechrisah right and so when lorri invokes the shell.nix those semantics are not in place00:47:23
@averagechris:matrix.orgaveragechris zrsk: that's important context ^ 00:47:33
@adis:blad.isadisbladisExactamundo00:47:34
@averagechris:matrix.orgaveragechrisTotally makes sense I didn't even think about that.00:47:54
@averagechris:matrix.orgaveragechris set a profile picture.03:00:47
@jairo:recallstack.icuJairo Llopis joined the room.11:53:46
@jairo:recallstack.icuJairo Llopis

hello folks, I'm trying to use poetry2nix (total noob in nix, sorry) with a new project I'm developing.

it's weird that I can run this without problems:

> nix develop -c python -c 'import plumbum; print(plumbum.__file__)'
warning: Git tree '/var/home/yajo/prodevel/automirror' is dirty
/nix/store/5vnfif1w37raxbaxqn5qvpc9caqdgrkf-python3-3.9.6-env/lib/python3.9/site-packages/plumbum/__init__.py

however, when I attempt to build it, it fails:

> nix build
warning: Git tree '/var/home/yajo/prodevel/automirror' is dirty
error: --- Error -------------------------------------------------------------------------------------------------------------------------------------------------------------- nix
builder for '/nix/store/6s1kmxzh0nm65hj0zb18f1hs913szy0q-python3.9-automirror-0.0.0.drv' failed with exit code 1; last 10 log lines:
  Removed build tracker: '/build/pip-req-tracker-3skg7iy7'
  Finished creating a wheel...
  Finished executing pipBuildPhase
  installing
  Executing pipInstallPhase
  /build/source/dist /build/source
  Processing ./automirror-0.0.0-py3-none-any.whl
  Requirement already satisfied: git-aggregator<3.0.0,>=2.1.0 in /nix/store/nv8c0dhjcqxdrr08wgp25al6qfiqs5kk-python3.9-git-aggregator-2.1.0/lib/python3.9/site-packages (from automirror==0.0.0) (2.1.0)
  ERROR: Could not find a version that satisfies the requirement plumbum<2.0.0,>=1.7.2 (from automirror) (from versions: none)
  ERROR: No matching distribution found for plumbum<2.0.0,>=1.7.2

of course, plumbum is in my dependencies, added with poetry add plumbum just like normal; actually there's another dependency and that one gives no problems

11:57:58
@jairo:recallstack.icuJairo Llopis nix shell and nix run fail with the same error as nix build; of course I can just use nix develop for everything, but it doesn't seem extremely nice to me when not actually developing 12:00:18
@jairo:recallstack.icuJairo Llopisany idea on how to fix it?12:02:29
@jairo:recallstack.icuJairo Llopisdid I give enough information?13:20:53
15 Jan 2022
@liff:matrix.orgollijh joined the room.09:34:30
16 Jan 2022
@mou_bugtracker:matrix.orgmou joined the room.15:01:46
17 Jan 2022
@mou_bugtracker:matrix.orgmou

Hi everyone. Thanks to all who contributed into such great tool. It works like a charm. But i encountered issue that's is quite common, according to search. Issue i encountered is related to coverage python package. Including just this package cause infinite recursion. Searching and reading bring me to workaround, by explicitly specifying setuptools-scm dependency in my poetry config.

But i would like to know is it the only way to avoid infinite recursion or there are another more elegant without polluting dependencies? Also i would like to understand what goes under the hood to produce such error, is there any explanation documented?

08:36:36
@mou_bugtracker:matrix.orgmou *

Hi everyone. Thanks to all who contributed into such great tool. It works like a charm. But i encountered issue that's is quite common, according to search. Issue i encountered is related to coverage python package. Including just this package cause infinite recursion. Searching and reading bring me to workaround, by explicitly specifying setuptools-scm dependency in my poetry config.

But i would like to know is it the only way to avoid infinite recursion or there are another more elegant ways without polluting dependencies? Also i would like to understand what goes under the hood to produce such error, is there any explanation documented?

08:40:01
@mou_bugtracker:matrix.orgmou changed their display name from mou_bugtracker to mou.08:40:42
@adis:blad.isadisbladis
In reply to @jairo:recallstack.icu

hello folks, I'm trying to use poetry2nix (total noob in nix, sorry) with a new project I'm developing.

it's weird that I can run this without problems:

> nix develop -c python -c 'import plumbum; print(plumbum.__file__)'
warning: Git tree '/var/home/yajo/prodevel/automirror' is dirty
/nix/store/5vnfif1w37raxbaxqn5qvpc9caqdgrkf-python3-3.9.6-env/lib/python3.9/site-packages/plumbum/__init__.py

however, when I attempt to build it, it fails:

> nix build
warning: Git tree '/var/home/yajo/prodevel/automirror' is dirty
error: --- Error -------------------------------------------------------------------------------------------------------------------------------------------------------------- nix
builder for '/nix/store/6s1kmxzh0nm65hj0zb18f1hs913szy0q-python3.9-automirror-0.0.0.drv' failed with exit code 1; last 10 log lines:
  Removed build tracker: '/build/pip-req-tracker-3skg7iy7'
  Finished creating a wheel...
  Finished executing pipBuildPhase
  installing
  Executing pipInstallPhase
  /build/source/dist /build/source
  Processing ./automirror-0.0.0-py3-none-any.whl
  Requirement already satisfied: git-aggregator<3.0.0,>=2.1.0 in /nix/store/nv8c0dhjcqxdrr08wgp25al6qfiqs5kk-python3.9-git-aggregator-2.1.0/lib/python3.9/site-packages (from automirror==0.0.0) (2.1.0)
  ERROR: Could not find a version that satisfies the requirement plumbum<2.0.0,>=1.7.2 (from automirror) (from versions: none)
  ERROR: No matching distribution found for plumbum<2.0.0,>=1.7.2

of course, plumbum is in my dependencies, added with poetry add plumbum just like normal; actually there's another dependency and that one gives no problems

I guess it's the same setuptools-scm problems that keeps haunting us..
You could try an override similar to https://github.com/nix-community/poetry2nix/blob/master/overrides.nix#L53-L57
09:28:32
@adis:blad.isadisbladis
In reply to @mou_bugtracker:matrix.org

Hi everyone. Thanks to all who contributed into such great tool. It works like a charm. But i encountered issue that's is quite common, according to search. Issue i encountered is related to coverage python package. Including just this package cause infinite recursion. Searching and reading bring me to workaround, by explicitly specifying setuptools-scm dependency in my poetry config.

But i would like to know is it the only way to avoid infinite recursion or there are another more elegant ways without polluting dependencies? Also i would like to understand what goes under the hood to produce such error, is there any explanation documented?

Could you give me a complete reproduction case? I could try to figure out what's going on.
09:30:37
@mou_bugtracker:matrix.orgmou
In reply to @adis:blad.is
Could you give me a complete reproduction case? I could try to figure out what's going on.
Sure, just give me a minute
09:31:07
@mou_bugtracker:matrix.orgmou

pyproject.toml

name = "minimal-recursion"
version = "0.1.0"
description = ""
authors = ["Andrey Larionov <anlarionov@gmail.com>"]

[tool.poetry.dependencies]
python = "^3.10"

[tool.poetry.dev-dependencies]
coverage = "^6.2"

[build-system]
requires = ["poetry-core>=1.0.0"]
build-backend = "poetry.core.masonry.api"

flake.nix

  description = "minimal-recursion";

  inputs.flake-utils.url = "github:numtide/flake-utils";
  inputs.nixpkgs.url = "github:NixOS/nixpkgs";
  inputs.poetry2nix.url = "github:nix-community/poetry2nix";

  outputs = { self, nixpkgs, flake-utils, poetry2nix }:
    {
      # Nixpkgs overlay providing the application
      overlay = nixpkgs.lib.composeManyExtensions [
        poetry2nix.overlay
        (final: prev: {
          # The application
          minRec = prev.poetry2nix.mkPoetryApplication {
            projectDir = ./.;
          };
        })
      ];
    } // (flake-utils.lib.eachDefaultSystem (system:
      let
        pkgs = import nixpkgs {
          inherit system;
          overlays = [ self.overlay ];
        };
      in
      rec {
        apps = {
          exyaru = pkgs.minRec;
        };

        defaultApp = pkgs.minRec;

        packages = {
          exyaru = pkgs.minRec;
        };

        defaultPackage = pkgs.minRec;
      }));
}
09:32:57
@mou_bugtracker:matrix.orgmouSame goes for other interpreter version09:33:23
@adis:blad.isadisbladis
In reply to @mou_bugtracker:matrix.org

pyproject.toml

name = "minimal-recursion"
version = "0.1.0"
description = ""
authors = ["Andrey Larionov <anlarionov@gmail.com>"]

[tool.poetry.dependencies]
python = "^3.10"

[tool.poetry.dev-dependencies]
coverage = "^6.2"

[build-system]
requires = ["poetry-core>=1.0.0"]
build-backend = "poetry.core.masonry.api"

flake.nix

  description = "minimal-recursion";

  inputs.flake-utils.url = "github:numtide/flake-utils";
  inputs.nixpkgs.url = "github:NixOS/nixpkgs";
  inputs.poetry2nix.url = "github:nix-community/poetry2nix";

  outputs = { self, nixpkgs, flake-utils, poetry2nix }:
    {
      # Nixpkgs overlay providing the application
      overlay = nixpkgs.lib.composeManyExtensions [
        poetry2nix.overlay
        (final: prev: {
          # The application
          minRec = prev.poetry2nix.mkPoetryApplication {
            projectDir = ./.;
          };
        })
      ];
    } // (flake-utils.lib.eachDefaultSystem (system:
      let
        pkgs = import nixpkgs {
          inherit system;
          overlays = [ self.overlay ];
        };
      in
      rec {
        apps = {
          exyaru = pkgs.minRec;
        };

        defaultApp = pkgs.minRec;

        packages = {
          exyaru = pkgs.minRec;
        };

        defaultPackage = pkgs.minRec;
      }));
}
https://github.com/nix-community/poetry2nix/pull/510
09:46:01
@mou_bugtracker:matrix.orgmou
In reply to @adis:blad.is
https://github.com/nix-community/poetry2nix/pull/510
Wow. That was quick. Thank you so much.
09:48:36
@adis:blad.isadisbladis
In reply to @mou_bugtracker:matrix.org
Wow. That was quick. Thank you so much.
You caught me at a good time :)
09:49:21
@mou_bugtracker:matrix.orgmouThanks also for comment. Now i understand where from recursion come from.09:52:59

Show newer messages


Back to Room ListRoom Version: 6