Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Maintenance: Looking for maintainers #1865

Open
adisbladis opened this issue Nov 7, 2024 · 5 comments
Open

Maintenance: Looking for maintainers #1865

adisbladis opened this issue Nov 7, 2024 · 5 comments

Comments

@adisbladis
Copy link
Member

adisbladis commented Nov 7, 2024

I'm no longer using Poetry or Poetry2nix, and want to step down from poetry2nix maintenance.

Poetry has a number of upcoming large changes, which poetry2nix is unlikely to gain support for:

There are a number of poetry2nix specific challenges long-term:

  • Dependency solving isn't very good
    I started working on that in https://github.com/adisbladis/poetry2nix-v2, but with uv gaining a lock file I don't see the point any more.

  • Nixpkgs Python builders aren't good
    They should be replaced by https://pyproject-nix.github.io/pyproject.nix/build.html.

  • The whole API is misdesigned
    mkPoetry* shouldn't exist. A python2nix tool should generate an overlay to use with environment composition primitives.
    See uv2nix for prior art.
    Having a default choice between sdist or wheel was a mistake. Users should be responsible for making this choice themselves as it shapes your entire user experience.

  • Overrides
    This is my biggest annoyance in regards to maintenance, and was kind of accidental.

    I don't think python2nix tooling should come with overrides that taper over lock file deficiencies.
    Overrides are ephemeral in nature and bit-rot.
    It's better that external projects to take on this role, and let python2nix tooling focus on getting the semantics right.

Options

  • Switching to uv

    My personal recommendation is to use uv & uv2nix instead.
    Uv2nix is still marked as experimental and might still undergo some breaking API changes, so this has some risks attached.

  • Sticking with Poetry

    • Using nixpkgs dependencies

      If you're OK with using the Python package set from nixpkgs (ignoring poetry.lock) pyproject.nix is an option with it's Poetry pyproject.toml loader.
      This option is maintained and offers a migration path from Poetry to PEP-621.

    • Using dependencies from poetry.lock

      This is not currently a maintained use case anywhere.

  • Pay for maintenance

    I'm open for contract work.

@l0b0
Copy link
Contributor

l0b0 commented Nov 7, 2024

Thank you very much for your work on poetry2nix and its successors!

@adisbladis adisbladis pinned this issue Nov 7, 2024
@cpcloud
Copy link
Collaborator

cpcloud commented Nov 7, 2024

While I have enjoyed working on and helping maintain poetry2nix, I'm migrating my main motivation for its use to uv2nix, and so will also not be able to do much more here beyond merging the occasional PR.

Thanks for all your work here @adisbladis!

@TyberiusPrime
Copy link
Contributor

TyberiusPrime commented Nov 7, 2024

I'm also migrating my main stack to uv2nix the first chance I get,
because a) uv is so much faster and b) the uv maintainers appear open to 'lock the build systems down as well'.

Also @adisbladis work on uv2nix & pyproject.nix has just been stellar.

As for an override collection, come join the effort at https://github.com/TyberiusPrime/uv2nix_hammer_overrides/ which is an outgrowth of my stalled PR #1742, done better this time around.

edit: "first chance I get' probably means once nixpkgs 24.11 containing a newish uv is released.

@Nebucatnetzer
Copy link
Contributor

Nebucatnetzer commented Dec 6, 2024

Can we maybe get some sort of basic maintenance going?
I'm not the greatest Nix coder but I think I could help with looking at PRs for basic updates like hash overrides or something like this: #1876

@JAEarly
Copy link

JAEarly commented Dec 6, 2024

Can we maybe get some sort of basic maintenance going? I'm not the greatest Nix coder but I think I could help with looking at PRs for basic updates like hash overrides or something like this: #1876

This would be super helpful! Also happy to assist with basic MRs

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

6 participants