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:
- Move package discovery logic into
pyproject.toml via a [tool.setuptools.packages.find] section
- Simplify
setup.py to just from setuptools import setup; setup()
- 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.
Context
Raised as a follow-up from PR #468.
Currently, package metadata (version, dependencies, etc.) is duplicated across
setup.pyandpyproject.toml, which led to the inconsistency fixed in PR #468 wherepydantic>=2.0was missing fromsetup.py.Proposed Change
Consolidate all package metadata into
pyproject.tomlas the single source of truth, following modern Python packaging standards (PEP 621).Steps:
pyproject.tomlvia a[tool.setuptools.packages.find]sectionsetup.pyto justfrom setuptools import setup; setup()build-system.requiresinpyproject.tomltosetuptools>=61.0.0Example configuration:
Benefit
Prevents metadata from becoming out of sync in the future.