Skip to content

Use pyproject.toml instead of setup.py and setup.cfg where possible #356

Closed

Description

@eriknw

Let's become more modern and update to use pyproject.toml instead of setup.py and setup.cfg. We'll probably still need setup.cfg, but let's move as much as we can to pyproject.toml.

We should also see if we can move other configuration such as .readthedocs.yml and .codecov.yml to pyproject.toml.

This relates mostly to PEP 621, and also to PEPs 518, 517, 660, and maybe others:

I labeled this as a "good first issue" if you're knowledgeable about such things or want to learn about it, since it's mostly about moving metadata from one format to another. This is a useful skill that I'm sure could be applied to many other projects as well!

These PEPs are largely about tooling for building packages and making metadata less programmatic. Since python-graphblas is pure Python and our releases, builds, and uploads are automated, we don't need to care that much about build tooling. What we care about with this is updating and centralizing metadata (i.e., PEP 621).

More context:

Activity

  1. added
    good first issueClearly described and easy to accomplish. Good for beginners to the project.
    hygieneImprove code quality and reduce maintenance overhead
    on Dec 30, 2022
  2. self-assigned this
    on Jan 18, 2023
  3. eriknw commented on Jan 18, 2023

    @eriknw
    MemberAuthor

    I moved everything over to pyproject.toml in #366. We should probably do a beta release to verify everything works as expected.

    flake8 still uses setup.cfg (for reasons), and codecov and readthedocs still user their own config files (b/c they support more language than just Python and don't want to look in pyproject.toml for some reason).

    Build-tool-wise, we still use setuptools, which I think is fine.

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

Metadata

Metadata

Assignees

Labels

good first issueClearly described and easy to accomplish. Good for beginners to the project.hygieneImprove code quality and reduce maintenance overhead

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions