Skip to content

Migrate from setup.py to pyproject.toml #140

Description

@namurphy

Description

I propose migrating dbprocessing from setup.py to pyproject.toml for the package configuration.

It's likely that this would require dropping support for Python 2.7 in future releases of dbprocessing.

Motivation

The pythoniverse has largely moved away from using setup.py, and compatibility with modern tools like uv require having a pyproject.toml.

Switching to pyproject.toml would enable usage of modern Python packaging features such as dependency groups. Using dependency groups lets the project define dependencies needed to build documentation and run tests, for examples, without making these dependencies available to end users like optional dependencies do.

It's also possible to use tools like validate-pyproject to identify errors in project configurations.

Note

Using uv in CI is helpful in many ways, including by running tests against the minimum allowed versions of direct dependencies (with their --lowest-direct resolution strategy).

Closure condition

This issue should be closed when pyproject.toml has replaced setup.py, and all tests are run successfully with setup.py.

Thank you for creating what looks like a really useful package!

Activity

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

    enhancementNew feature or feature request

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions