21 Aug 2024 |
adisbladis | You might argue that this belongs in mkOverlay , but the overlay generated is for any interpreter | 04:42:19 |
adisbladis | Maybe this is an internal overlay attribute? | 04:42:39 |
adisbladis | But that's also a bit funky | 04:42:45 |
adisbladis | Ideas welcome | 04:42:47 |
adisbladis | * You might argue that PEP-508 markers belongs in mkOverlay , but the overlay generated is for any interpreter | 04:47:44 |
adisbladis | I think wheel preference or not is so central to the user experience that it should probably be an mkOverlay thing | 04:48:08 |
adisbladis | But marker customisation feels wrong there | 04:48:20 |
adisbladis | * This is quite a radical change I'm considering for poetry2nix v2:
The API comes down to one central function mkOverlay :
let
python = pkgs.python3.override {
self = python;
packageOverrides =
lib.composeExtensions
(poetry2nix.mkOverlay {
projectRoot = ./.;
})
poetry2nix.overrides
};
in
...
In this brave new world I'm having two considerations I'm not sure about:
- Where does
preferWheel (s) belong? Is this actually the correct mechanism for sdist/wheel preference order?
- Where does PEP-508 marker customisation belong?
This is not currently something you can do with poetry2nix, but it's something I'm adding.
| 05:21:46 |
adisbladis | Internals are coming along https://adisbladis.github.io/poetry2nix-v2/lib/metadata2.html | 09:07:30 |
truh | So I would then use python.pkgs.<my-project-name> instead of the output of mkPoetryApplication? | 09:39:45 |
adisbladis | In reply to @truh:matrix.org So I would then use python.pkgs.<my-project-name> instead of the output of mkPoetryApplication? That's the idea | 09:44:46 |
truh | Sounds good, maybe a bit more difficult to get the hang of for people who aren't familiar nixpkgs. | 10:03:03 |
truh | Would this create ovrrides for all depedencies in the poetry.lock? What do you think about a way to tell poetry2nix to not create overrides for particular packages, when I know python3Packages.particular-package would work for my project, requires less build time on my end, and is well maintained. Or does that lead problems | 10:07:53 |
adisbladis | In reply to @truh:matrix.org Sounds good, maybe a bit more difficult to get the hang of for people who aren't familiar nixpkgs. For sure it's a little bit more friction, OTOH this API gives you a gradual learning path. Another agenda with keeping it as simple as possible is for future compat with https://github.com/NixOS/nixpkgs/issues/272178 | 10:21:50 |
adisbladis | In reply to @truh:matrix.org Would this create ovrrides for all depedencies in the poetry.lock? What do you think about a way to tell poetry2nix to not create overrides for particular packages, when I know python3Packages.particular-package would work for my project, requires less build time on my end, and is well maintained. Or does that lead problems I've been toying with ideas like that for a while :) | 10:21:57 |
adisbladis | Excerpt:
# Create a Python overlay from pdm.lock filtered by what already exists in nixpkgs.
# This means that our overlay strictly extending nixpkgs for maximal binary cache hits.
let
inherit (lib) flip elem attrNames filterAttrs;
project = pyproject-nix.lib.project.loadPDMPyproject {
projectRoot = ./.;
};
overlay' =
lib.composeManyExtensions [
(pdm2nix.lib.lock.mkOverlay {
inherit project;
preferWheels = true;
})
];
in pyfinal: pyprev: let
attrExists = flip elem (attrNames pyprev);
applied = overlay' pyfinal pyprev;
in
filterAttrs (n: _: ! attrExists n) applied // {
# Nixpkgs has an ancient & broken version
inherit (applied) ezdxf;
}
| 10:25:15 |
22 Aug 2024 |
| Artur Manuel joined the room. | 12:58:51 |
| Artur Manuel changed their profile picture. | 14:53:11 |
23 Aug 2024 |
TyberiusPrime (smilodon inopinatus) | My 7000+ override PR finally passes the CI... | 13:41:02 |
27 Aug 2024 |
Artur Manuel | hey there! i am trying to work on a flake template repository for whenever i need to setup a project but something i have been stuck on is trying to get past an assertionerror that happens only in the installPhase | 05:54:38 |
Artur Manuel | Something i noted is that it works completely fine in base poetry and that this is probably an issue in how I declared the package. | 05:55:30 |
Artur Manuel | All relevant files will be shared in a few hours or so, I am not on my PC right now. | 05:56:05 |
Artur Manuel | * Hey there! I am trying to work on a flake template repository for whenever I need to setup a project but something I have been stuck on is trying to get past an assertionerror that happens only in the installPhase. | 05:59:24 |
Artur Manuel | * Something I noted is that it works completely fine in base poetry and that this is probably an issue in how I declared the package. | 05:59:44 |
28 Aug 2024 |
Artur Manuel | Download pyproject.toml | 15:58:56 |
Artur Manuel | Download package.nix | 15:58:56 |
Artur Manuel | Download flake.nix | 15:58:57 |
Artur Manuel | https://pb.atl.tools/?aeff4a0ddca6e459#3sMAitzNr9ssws16XRKDsmBzRhnDo6fConJrXUbx8EAH | 17:07:14 |
Artur Manuel | complete error log | 17:07:18 |
29 Aug 2024 |
| moved to @amadaluzia:tchncs.de joined the room. | 05:44:39 |