Skip to content

Package: Use standard setuptools or uv build backend #766

Closed

Description

@amotl

It looks like Hatch is needed to build this project now, but that isn't mentioned in DEVELOP.rst - the whole file looks sort of outdated, together with the bootstrap.sh.

Can we simplify that, so there's some sort of standard uv venv venv; uv pip install -Ue ".[dev]" with no special custom logic?

Originally posted by @mfussenegger in #759 (comment)

Activity

  1. amotl commented on Jan 13, 2026

    @amotl
    ContributorAuthor

    I like to use versioningit like introduced per GH-757, but the uv build backend does not support it yet (astral-sh/uv#14137), so my vote is to use the standard setuptools build backend. I think this doesn't prevent using the project with uv and hatch utilities, does it?

  2. amotl commented on Jan 13, 2026

    @amotl
    ContributorAuthor

    build backend: setuptools vs. hatchling

    @surister probably wanted to bring in benefits like outlined in Why Hatch?. I am a happy setuptools user, but didn't want to stop any progress here. Hatch seems to be used on other projects, so I don't have any objections against it, but I would also not object against switching back to setuptools. Please advise.

  3. mfussenegger commented on Jan 19, 2026

    @mfussenegger
    Member

    No need to change the build backend. The problems were:

    • Chicken and egg problem with the create_tags.sh script: It can't get the version via setuptools anymore if the version to use is based on the git tag. See Cleanup dev setup #767
    • The PR added hatch as build deps in the pyproject.toml, but the release steps and workflows weren't updated accordingly.
  4. amotl commented on Jan 19, 2026

    @amotl
    ContributorAuthor

    Thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions