If I understand this correctly, poetry2nix creates nix expressions from the poetry.lock file. Since this fails for some packages, overrides are used to patch these python packages.
However, there seems to be only one override for each python package. How does poetry2nix support multiple version of the same python package which each might need a different override?
That’s what I feared. Then, the poetry2nix approach is damned to fail, as the user has to manually specify the overrides depending on the package version in poetry.lock.
What if I have two poetry projects, one with dependency foo=1.0.0 and the other with foo=2.0.0 in the poetry.lock. How it the correct override selected?
So I have to specify the override as in my comment:
That’s what I feared. Then, the poetry2nix approach is damned to fail, as the user has to manually specify the overrides depending on the package version in poetry.lock.
For foo in version 1.0.0 I have to tell to use override A and for foo in version 2.0.0 I have to tell to use override B.
Assume I use numpy, scipy, matplotlib, … in different versions in different projects. Each one of these need different overrides for different version.
Why do they need overrides? And if you use different versions of them in different projects, what do you care? As long as you do not have a project that uses all those projects, all of these describe its own environment, so there is no problem.
This one is especially hard and is not representative actually. I should have chosen another example (there are some discussions with upstream to solve it)!