textual icon indicating copy to clipboard operation
textual copied to clipboard

feat: Migrate to PEP 621 compliant pyproject.toml format

Open zarch opened this issue 11 months ago • 1 comments

This commit migrates the pyproject.toml file to be fully compliant with PEP 621, enabling interoperability with tools like uv, pip, and other standard Python packaging tools, while maintaining full compatibility with Poetry.

Key changes:

  • Added [project] table: Moved core project metadata (name, version, description, authors, license, classifiers, dependencies, optional dependencies, and requires-python) to the standardized [project] table as specified by PEP 621. This includes using PEP 508 strings for dependencies.
  • Maintained [build-system]: Kept the [build-system] table pointing to Poetry's build backend, ensuring that pip (and thus uv) can correctly build the package from source.
  • Moved [tool.ruff]: Moved the [tool.ruff] configuration higher in the file for better organization.
  • Refactored project urls: Correctly use the [project.urls] table, as specified by PEP 621.

This change allows developers to choose between using Poetry or other dependency management and installation tools. Poetry can still be used for building and publishing, leveraging its existing tooling.

Please review the following checklist.

  • [x] Docstrings on all new or modified functions / classes
  • [x] Updated documentation
  • [x] Updated CHANGELOG.md

zarch avatar Feb 21 '25 14:02 zarch

This will have to be a "taking your word for it" change. Thanks!

I appreciate your trust, but I'd strongly encourage testing this change thoroughly first. While it works in my local environment with both Poetry and uv, PEP 621 changes can have subtle implications. Since this affects the project's core configuration, it would be best to verify it works as expected in your environment and CI pipelines before merging. I opened this PR to potentially benefit the wider community, but I value project stability over speed of adoption. Happy to help with testing or make adjustments if needed.

zarch avatar Feb 23 '25 22:02 zarch