6 May 2024 |
nim65s | I mean, packages from PyPI can have additionnal non-PyPI dependecies and/or additionnal PyPI dependecies not declared (especially build systems) | 13:02:59 |
| Charles changed their display name from Charles ⚡️ to Charles. | 17:01:08 |
nazarewk | any idea if it would be possible to install Ansible without the whole default galaxy collections set? | 17:57:37 |
7 May 2024 |
gaivs | When I set editablePackageSources.myapp = ./src , this should work right? So that when I edit ./src/myapp/test.py , I thought I should be able to see that change when I run python -m myapp.test , but the same code is executed for me.
| 07:35:02 |
| Andrea Mangrella joined the room. | 19:18:03 |
8 May 2024 |
l0b0 |
pyproj/_datadir.pyx:148:33: Cannot assign type 'void (void *, int, const char ) except * nogil' to 'PJ_LOG_FUNCTION' (alias of 'void ()(void *, int, const char *) noexcept nogil'). Exception values are incompatible. Suggest adding 'noexcept' to the type of 'pyproj_log_function'. https://github.com/nix-community/poetry2nix/issues/1645
| 02:01:21 |
l0b0 | *
pyproj/_datadir.pyx:148:33: Cannot assign type 'void (void *, int, const char ) except * nogil' to 'PJ_LOG_FUNCTION' (alias of 'void ()(void *, int, const char *) noexcept nogil'). Exception values are incompatible. Suggest adding 'noexcept' to the type of 'pyproj_log_function'.
https://github.com/nix-community/poetry2nix/issues/1645
| 02:01:25 |
l0b0 | *
pyproj/_datadir.pyx:148:33: Cannot assign type 'void (void *, int, const char ) except * nogil' to 'PJ_LOG_FUNCTION' (alias of 'void ()(void *, int, const char *) noexcept nogil'). Exception values are incompatible. Suggest adding 'noexcept' to the type of 'pyproj_log_function'.
https://github.com/nix-community/poetry2nix/issues/1645
Any ideas?
| 02:01:37 |
l0b0 | *
pyproj/_datadir.pyx:148:33: Cannot assign type 'void (void *, int, const char ) except * nogil' to 'PJ_LOG_FUNCTION' (alias of 'void ()(void *, int, const char *) noexcept nogil'). Exception values are incompatible. Suggest adding 'noexcept' to the type of 'pyproj_log_function'.
https://github.com/nix-community/poetry2nix/issues/1645
Any ideas?
Update: I've created a PR with the relevant failing test.
| 02:13:15 |
| checooh joined the room. | 11:55:19 |
x10an14 | Anyone experienced "missing attribute" error recently? Wrt. `inputs.flake-utils.lib.eachDefaultSystem`. Once I made it follow my existing `flake-utils` input I get nix complaining about line 82 in poetry2nix's `flake.nix` on current `master` (`5a62572`). | 12:27:23 |
x10an14 | In reply to @x10an14:matrix.org Anyone experienced "missing attribute" error recently? Wrt. `inputs.flake-utils.lib.eachDefaultSystem`. Once I made it follow my existing `flake-utils` input I get nix complaining about line 82 in poetry2nix's `flake.nix` on current `master` (`5a62572`). Here's my flake.nix , stripped of non-Nix/poetry2nix related sturr: {
description = "A Nix-flake for poetry based python development ";
inputs = {
flake-utils.url = "github:numtide/flake-utils";
nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable";
poetry2nix = {
url = "github:nix-community/poetry2nix";
inputs.nixpkgs.follows = "nixpkgs";
inputs.flake-utils.follows = "nixpkgs";
};
};
outputs = {
self,
...
} @ inputs:
inputs.flake-utils.lib.eachDefaultSystem (system: let
pkgs = import inputs.nixpkgs {localSystem = {inherit system;};};
inherit (inputs.poetry2nix.lib.mkPoetry2Nix { inherit pkgs; }) mkPoetryApplication;
myapp = mkPoetryApplication {projectDir = self;};
in {
devShells.default = pkgs.mkShell {
inputsFrom = [myapp];
packages = with pkgs; [
poetry
(
python3.withPackages (
exts: [
exts.ipython
]
)
)
];
shellHook = ''
${pkgs.python3}/bin/python3 --version
${pkgs.poetry}/bin/poetry --version
'';
};
packages = {
inherit myapp;
};
packages.default = myapp;
});
}
| 12:32:31 |
x10an14 |  Download Screenshot from 2024-05-08 14-33-56.png | 12:35:13 |
truh | In reply to @x10an14:matrix.org
Here's my flake.nix , stripped of non-Nix/poetry2nix related sturr: {
description = "A Nix-flake for poetry based python development ";
inputs = {
flake-utils.url = "github:numtide/flake-utils";
nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable";
poetry2nix = {
url = "github:nix-community/poetry2nix";
inputs.nixpkgs.follows = "nixpkgs";
inputs.flake-utils.follows = "nixpkgs";
};
};
outputs = {
self,
...
} @ inputs:
inputs.flake-utils.lib.eachDefaultSystem (system: let
pkgs = import inputs.nixpkgs {localSystem = {inherit system;};};
inherit (inputs.poetry2nix.lib.mkPoetry2Nix { inherit pkgs; }) mkPoetryApplication;
myapp = mkPoetryApplication {projectDir = self;};
in {
devShells.default = pkgs.mkShell {
inputsFrom = [myapp];
packages = with pkgs; [
poetry
(
python3.withPackages (
exts: [
exts.ipython
]
)
)
];
shellHook = ''
${pkgs.python3}/bin/python3 --version
${pkgs.poetry}/bin/poetry --version
'';
};
packages = {
inherit myapp;
};
packages.default = myapp;
});
}
You could try nixpkgs.follows = "poetry2nix/nixpkgs"; rather than the other way around. | 12:42:20 |
x10an14 | In reply to @truh:matrix.org You could try nixpkgs.follows = "poetry2nix/nixpkgs"; rather than the other way around. Thanks for taking a look @truh! Huhm... I agree that there's a channel mismatch between the two... But how do you figure it's related to the error message? I don't see anywhere there might be a reference to a flake-utils version missing https://github.com/numtide/flake-utils?tab=readme-ov-file#eachdefaultsystem--system---attrs. | 12:48:23 |
truh | `inputs.flake-utils.follows = "nixpkgs";` this shouldn't follow nixpkgs
| 12:51:03 |
x10an14 | In reply to @truh:matrix.org You could try nixpkgs.follows = "poetry2nix/nixpkgs"; rather than the other way around. Deleting inputs.poetry2nix.inputs.nixpkgs.follows = "nixpkgs"; had indeed zero effect. | 12:51:05 |
truh | * `inputs.flake-utils.follows = "nixpkgs";`
this shouldn't follow nixpkgs
| 12:51:25 |
truh | * inputs.flake-utils.follows = "nixpkgs";
this shouldn't follow nixpkgs
| 12:52:08 |
x10an14 | In reply to @truh:matrix.org
`inputs.flake-utils.follows = "nixpkgs";` this shouldn't follow nixpkgs
Derp, I've become blind to my own code... Thanks! | 12:53:25 |
truh | My previous suggestion is indeed unrelated to the problem, just my usual debug procedure. | 12:54:11 |
x10an14 | Thanks for saving me from this instance of "code blindness"! =) | 12:57:45 |
| Rok Roškar changed their display name from rrrrrok to Rok Roškar. | 16:38:40 |
9 May 2024 |
| dagenix joined the room. | 04:34:29 |
wk | is it possible to use overrideAttrs inject additional python packages into a package defined with mkPoetryApplication? | 04:38:05 |
dagenix | I'm trying to build an older version of poetry, specifically version 1.4.2. I have this derivation:
{ fetchFromGitHub, poetry2nix }:
poetry2nix.mkPoetryApplication {
projectDir = fetchFromGitHub {
owner = "python-poetry";
repo = "poetry";
rev = "1.4.2";
hash = "sha256-AiRQFZA5+M1niTzj1RO2lx0QFOMmSzpQo1gzauyTblg=";
};
}
The derivation builds fine. However, the resulting package depends on the build module version 1.0.3. This is a problem, since the poetry.lock from that version of poetry requires build version 0.10. As a result, the poetry package doesn't work since that version of poetry breaks with that version of the build package.
I have attempted to override the build package version:
{ fetchFromGitHub, poetry2nix }:
poetry2nix.mkPoetryApplication {
projectDir = fetchFromGitHub {
owner = "python-poetry";
repo = "poetry";
rev = "1.4.2";
hash = "sha256-AiRQFZA5+M1niTzj1RO2lx0QFOMmSzpQo1gzauyTblg=";
};
overrides = poetry2nix.defaultPoetryOverrides.extend (final: prev: {
build = prev.build.overridePythonAttrs (old: {
version = "0.10.0";
src = fetchFromGitHub {
owner = "pypa";
repo = "build";
rev = "0.10.0";
hash = "sha256-kXFrfTb7+68EV+gSENL81IFSR+ue7Fl6R2gsuFFBJhI=";
};
});
});
}
But, when I do that, I get a build error:
> patching script interpreter paths in /nix/store/i2mwa5yrz6lgllq3rvqim6ldwgj2bcfv-python3.11-zipp-3.14.0
> stripping (with command strip and flags -S) in /nix/store/i2mwa5yrz6lgllq3rvqim6ldwgj2bcfv-python3.11-zipp-3.14.0/lib
> Executing pythonRemoveTestsDir
> Finished executing pythonRemoveTestsDir
> Running phase: pythonCatchConflictsPhase
> Found duplicated packages in closure for dependency 'wheel':
> wheel 0.41.1 (/nix/store/k0hkn48yfv05f6a1nf4qfri3ajilxgzb-python3.11-wheel-0.41.1/lib/python3.11/site-packages/wheel-0.41.1.dist-info)
> wheel 0.41.1 (/nix/store/lq0ayfkzrgp69r5g7ia7ln597qa5dv18-python3.11-wheel-0.41.1/lib/python3.11/site-packages/wheel-0.41.1.dist-info)
>
> Package duplicates found in closure, see above. Usually this happens if two packages depend on different version of the same dependency.
I've tried searching the edgecases documentation but didn't find anything that seems to explain what I should do in this case.
Anyway, I was about to open an issue, but saw that it asked that I first post problems to the Matrix chat and I was wondering if anyone had any idea what I was doing wrong or if I should open up an issue.
Thanks in advance!
| 04:39:35 |
| @morgrimm:matrix.org changed their display name from morgrimm to remi-gelinas. | 13:21:58 |
| @morgrimm:matrix.org left the room. | 13:22:52 |
10 May 2024 |
| grw00 joined the room. | 07:16:01 |
11 May 2024 |
Andrea Mangrella | hello, I'm having problems to make some packages build with poetry2nix, by reading various sources online I've found out about overrides and how to add default packages to the build environment of mkPoetry application. I just started using nix 2 weeks ago and I don;t understand what I'm doing wrong with this flake setup, can someone help me out ? | 14:52:03 |