22 May 2024 |
x10an14 | * Hey y'all!
I'm working on nixifying a Python application, and chose to use poetry2nix due to previous familiarity. Originally the project used hatch (not really relevant).
However, the end-result is a docker image (no surprises there). And the docker image previously produces has much smaller size than the one generated by Nix. (I'm leveraging nixpkgs 's dockerTools.buildImage on the mkPoetryApplication ).
We're talking like 125MiB vs 527MiB.
| 11:30:10 |
K900 | Probably optional dependencies somewhere | 11:30:37 |
x10an14 | Some of it might be explained by the python dependencies in the nix docker image not being compressed (as they seem to be in the original one).
But what gives? Any options? | 11:30:43 |
x10an14 | In reply to @k900:0upti.me Probably optional dependencies somewhere I made sure to specify the groups = [] list in mkPoetryApplication , so that can't be it, right? Or am I mistaken? | 11:31:10 |
K900 | Optional dependencies of dependencies | 11:31:21 |
K900 | Possibly | 11:31:23 |
K900 | But it's hard to tell | 11:31:25 |
K900 | nix-tree? | 11:31:26 |
x10an14 | Need to read up on nix tree, I thought i could just give it my results folder, but alas | 11:32:56 |
x10an14 | Download 2024-05-22T13:44:20,258284425+02:00.png | 11:45:01 |
x10an14 | According to nix-tree, I live in a world of impossibilities 🙃 | 11:45:02 |
x10an14 | Does this make any sense to you? | 11:45:10 |
K900 | You're looking at the drv file I think | 11:47:39 |
x10an14 | Hmm, okay. I guess a foray into learning nix-tree is next then, if I can afford the time. | 11:48:40 |
| NixOS Moderation Botchanged room power levels. | 15:25:57 |
| NixOS Moderation Botchanged room power levels. | 15:28:11 |
| colonelpanic changed their display name from elonsroadster to colonelpanic. | 20:10:20 |
colonelpanic | I feel like I'm probably missing something obvious, but I'm curious about what the easiest way to support a dependency that is not in nixpkgs or pypi is. Should I just use the built in nixpkgs tooling to define a nix build for that package and then add an override | 20:11:37 |
23 May 2024 |
truh | In reply to @elonsroadster:matrix.org I feel like I'm probably missing something obvious, but I'm curious about what the easiest way to support a dependency that is not in nixpkgs or pypi is. Should I just use the built in nixpkgs tooling to define a nix build for that package and then add an override I have poetry git dependencies work fine with poetry2nix in my experience. Even with private repos. | 08:20:58 |
truh | In reply to @elonsroadster:matrix.org I feel like I'm probably missing something obvious, but I'm curious about what the easiest way to support a dependency that is not in nixpkgs or pypi is. Should I just use the built in nixpkgs tooling to define a nix build for that package and then add an override * poetry git dependencies work fine with poetry2nix in my experience. Even with private repos. | 08:21:45 |
| wk changed their display name from j0xxx to wk. | 18:05:29 |
24 May 2024 |
| lambadada joined the room. | 18:52:13 |
27 May 2024 |
| mj joined the room. | 10:43:05 |
30 May 2024 |
| Matthias Q joined the room. | 12:02:31 |
Matthias Q | Redacted or Malformed Event | 12:02:43 |
Matthias Q | Hey Is it possible to have a check phase in mkPoetryApplication? I want to run unit tests there as well. | 12:03:37 |
tcelferact | Redacted or Malformed Event | 19:51:09 |
tcelferact | 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 |
TyberiusPrime (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 |
TyberiusPrime (smilodon inopinatus) | or tell me if this is the wrong way to go about the problem in the first place | 12:12:01 |