Skip to content

Resolve license and packaging metadata mismatch (pyproject.toml vs setup.py) #293

@DhanashreePetare

Description

@DhanashreePetare

Summary:
The repository currently exposes conflicting packaging metadata: the PEP 621/PEP 517 configuration in pyproject.toml lists the license as Apache-2.0 and uses hatchling as the build backend, while setup.py sets license="GPL" and declares legacy fields such as python_requires=">=2.7". Having two authoritative sources with different values creates legal and tooling ambiguity.

Impact:

  • Legal uncertainty for downstream users and redistributors due to conflicting license declarations.
  • Packaging and release tooling may produce mismatched metadata in published artifacts.
  • Contributor confusion about project policy (license, supported Python versions).
  • CI/dependency automation may behave inconsistently.

Recommended resolution:

  • Choose a single canonical metadata source (prefer pyproject.toml since the project already uses hatchling) and document it in README.md or CONTRIBUTING.md.
  • Make license metadata consistent: update pyproject.toml or setup.py so both show the same license, and ensure the LICENSE file matches.
  • Align Python support (python_requires / project.requires-python) to supported versions (recommend dropping Python 2 and declaring >=3.8).
  • Simplify or remove redundant setup.py (if kept, make it a minimal shim that reads metadata from pyproject.toml).
  • Add CI checks to validate package metadata during builds (e.g., python -m build + inspect generated METADATA).

Suggested PR scope:

  • Update license fields to Apache-2.0 (or change both files to GPL if that is intended).
  • Add/update LICENSE file if needed.
  • Add a short note in README.md/CONTRIBUTING.md clarifying that pyproject.toml is authoritative.
  • Run a local build and report metadata verification in PR description.

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