!rWxyQqNqMUDLECdsIf:blad.is

Poetry2nix

330 Members
https://github.com/nix-community/poetry2nix66 Servers

Load older messages


SenderMessageTime
30 May 2024
@tcelferact:matrix.orgtcelferact

Hi all,

I'm trying to build scikit-learn 1.5.0, and their changelog says they've switched to meson: https://scikit-learn.org/stable/whats_new/v1.5.html#version-1-5-0. When I add meson-python to nativeBuildInputs, metadata generation fails when running this file: https://github.com/scikit-learn/scikit-learn/blob/5491dc695dbe2c9bec3452be5f3c409706ff7ee7/sklearn/_build_utils/version.py

This seems like an opportunity to learn more about poetry2nix and submit a PR. Are there any good resources people can recommend on translating a meson build to a poetry2nix override?

Thanks!

20:18:15
7 Jun 2024
@tyberius_prime:matrix.orgTyberiusPrime (smilodon inopinatus)

I'm trying to patch the cython version used by a package:

peewee = super.peewee.overridePythonAttrs (old: let
            old_buildInputs = old.buildInputs or [];
            old_cython_filter = input: (builtins.substring 0 7 input.name) != "cython-";
          in {
            buildInputs =
              (builtins.filter old_cython_filter old_buildInputs);
              ++ [super.cython_0];
          });

But all I get is " error: value is a list while a set was expected" ...

Can anybody spot what I'm doing wrong?

12:11:44
@tyberius_prime:matrix.orgTyberiusPrime (smilodon inopinatus)or tell me if this is the wrong way to go about the problem in the first place12:12:01
@tyberius_prime:matrix.orgTyberiusPrime (smilodon inopinatus)ah, it's the input.name that's apperantly not an all entries of the list12:18:28
@tyberius_prime:matrix.orgTyberiusPrime (smilodon inopinatus)but it just ignores my filtered (native) buildInputs - I mean it filters them all right, I can trace that, but at the end cython 3.0 is back on the derivation.12:36:15
@k900:0upti.meK900It could be propagated12:37:39
@k900:0upti.meK900By something12:37:45
@tyberius_prime:matrix.orgTyberiusPrime (smilodon inopinatus)yeah by the buildSystem that's set in poetry2nix13:00:06
@tyberius_prime:matrix.orgTyberiusPrime (smilodon inopinatus)but I don't think I can override that downstream.13:00:14
@tyberius_prime:matrix.orgTyberiusPrime (smilodon inopinatus)So a fork & PR it is...13:00:23
8 Jun 2024
@else42:tchncs.deelse42 joined the room.07:51:31
@else42:tchncs.deelse42what's the standard way to ignore/skip some dependencies, that are included by default, but are not needed for productive use?07:56:27
@kritnich:kritni.ch@kritnich:kritni.ch joined the room.20:45:49
@kritnich:kritni.ch@kritnich:kritni.chHello, I'm having issues with building opencv using poetry2nix. It happens both for 4.9 and 4.10. https://dpaste.com/CWX5GZVEQ I found some issues on opencv related to this but those have been fixed in these two versions already so I'm not sure why it is happening again. The pure package in nixpkgs works fine.20:54:59
@kritnich:kritni.ch@kritnich:kritni.ch preferWheels = true fixes it for now 22:27:33
10 Jun 2024
@jameswarren-582a7124d73408ce4f35e991:gitter.imjameswarren (James Warren) joined the room.16:23:16
@jameswarren-582a7124d73408ce4f35e991:gitter.imjameswarren (James Warren)

Hello all - I have a question about editable packages. I'll try to keep it brief but can expand as needed.

We're looking into using nix and poetry to manage a python monorepo. For a client project to depend on a local utils library, we have this dependency in the utils pyproject.toml:

[tool.poetry.dependencies]
python = "^3.11"
utils = { path = "../utils/", develop = true }
16:40:21
@jameswarren-582a7124d73408ce4f35e991:gitter.imjameswarren (James Warren)

We'd also like to have utils as an editable installation in the nix development shell for client. I was able to accomplish this by redundantly stating this by using mkPoetryEditablePackage:

          devShells = {
            explicit = pkgs.mkShell {
              buildInputs = [
                (mkPoetryEditablePackage {
                  projectDir = ./.;
                  editablePackageSources = {
                    utils = ../utils;
                  };
                })
              ];
            };
          };
16:42:34
@jameswarren-582a7124d73408ce4f35e991:gitter.imjameswarren (James Warren) *

We'd also like to have utils as an editable installation in the nix development shell for client. I was able to accomplish this by redundantly stating this by using mkPoetryEditablePackage in the clients flake.nix:

          devShells = {
            explicit = pkgs.mkShell {
              buildInputs = [
                (mkPoetryEditablePackage {
                  projectDir = ./.;
                  editablePackageSources = {
                    utils = ../utils;
                  };
                })
              ];
            };
          };
16:42:58
@jameswarren-582a7124d73408ce4f35e991:gitter.imjameswarren (James Warren) However, this seems messy and error-prone to declare the same intention in multiple places. Reading the docs for mkPoetryEnv, the comment on editablePackageSources suggests that declaring develop = true in the pyproject.toml should install utils as editable, but empirically testing it does not. Am I misunderstanding how it should be used? 16:45:43
@jameswarren-582a7124d73408ce4f35e991:gitter.imjameswarren (James Warren) *

We'd also like to have utils as an editable installation in the nix development shell for client. I was able to accomplish this by redundantly stating this intention using mkPoetryEditablePackage in the clients flake.nix:

          devShells = {
            explicit = pkgs.mkShell {
              buildInputs = [
                (mkPoetryEditablePackage {
                  projectDir = ./.;
                  editablePackageSources = {
                    utils = ../utils;
                  };
                })
              ];
            };
          };
16:51:02
11 Jun 2024
@tyberius_prime:matrix.orgTyberiusPrime (smilodon inopinatus)Hey, I'm trying to specifiy a dependency via {url =...} in my pyproject.toml, but I keep getting a hash mismatched on the downloaded file. Can somebody have a look at my minimal example here: https://github.com/TyberiusPrime/poetry_url_bug_maybe and tell me what's going on?08:00:28
@tyberius_prime:matrix.orgTyberiusPrime (smilodon inopinatus)where's that specified hash even coming from...08:00:34
@tyberius_prime:matrix.orgTyberiusPrime (smilodon inopinatus)(ok, changing the hash that's in poetry.lock does change the specified hash...)08:02:57
@tyberius_prime:matrix.orgTyberiusPrime (smilodon inopinatus)seems it's the to_base32(to_sri(poetry.lock-hash that starts with sha256))08:03:26
@tyberius_prime:matrix.orgTyberiusPrime (smilodon inopinatus)it's gone away... maybe it was just a pypi fluke...08:09:05
@tyberius_prime:matrix.orgTyberiusPrime (smilodon inopinatus)or maybe not. hm.08:10:29
@tyberius_prime:matrix.orgTyberiusPrime (smilodon inopinatus)I think it's a bug. poetry2nix appears to be using the 'fetchzip' unpacked&recursive hash, while poetry specifies the hash of the tar.gz - https://github.com/nix-community/poetry2nix/issues/169508:29:33
@horigome:matrix.orgÓli joined the room.12:22:36
@horigome:matrix.orgÓli
In reply to @jameswarren-582a7124d73408ce4f35e991:gitter.im
However, this seems messy and error-prone to declare the same intention in multiple places. Reading the docs for mkPoetryEnv, the comment on editablePackageSources suggests that declaring develop = true in the pyproject.toml should install utils as editable, but empirically testing it does not. Am I misunderstanding how it should be used?
I'm having similar issues. Are you using a flake for your project?
16:30:51

Show newer messages


Back to Room ListRoom Version: 6