Skip to content

chore: consolidate package metadata into pyproject.toml (PEP 621) #471

Description

@thomasc-adyen

Context

Raised as a follow-up from PR #468.

Currently, package metadata (version, dependencies, etc.) is duplicated across setup.py and pyproject.toml, which led to the inconsistency fixed in PR #468 where pydantic>=2.0 was missing from setup.py.

Proposed Change

Consolidate all package metadata into pyproject.toml as the single source of truth, following modern Python packaging standards (PEP 621).

Steps:

  1. Move package discovery logic into pyproject.toml via a [tool.setuptools.packages.find] section
  2. Simplify setup.py to just from setuptools import setup; setup()
  3. Update build-system.requires in pyproject.toml to setuptools>=61.0.0

Example configuration:

[build-system]
requires = ["setuptools>=61.0.0", "wheel"]

[tool.setuptools.packages.find]
include = ["Adyen*"]
exclude = ["tests", "tests.*"]

Benefit

Prevents metadata from becoming out of sync in the future.

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

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions