Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/lint.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ jobs:
uses: actions/cache@668228422ae6a00e4ad889ee87cd7109ec5666a7 # v5.0.4
with:
path: ~/.cache/pip
key: ${{ runner.os }}-pip-${{ hashFiles('**/setup.py') }}
key: ${{ runner.os }}-pip-${{ hashFiles('**/pyproject.toml') }}
restore-keys: |
${{ runner.os }}-pip-

Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ jobs:
with:
token: ${{ secrets.ADYEN_AUTOMATION_BOT_ACCESS_TOKEN }}
develop-branch: main
version-files: setup.py pyproject.toml Adyen/settings.py
version-files: pyproject.toml Adyen/settings.py
release-title: Adyen Python API Library
pre-release: ${{ inputs.pre-release || false }}
github-release: ${{ inputs.github-release || false }}
Expand Down
3 changes: 2 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -10,4 +10,5 @@ venv/
.env
test.py
build/
*.egg-info/
*.egg-info/
.paw/
2 changes: 1 addition & 1 deletion Makefile
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
install:
@pip install requests pycurl mock coveralls ruff
@pip install -e ".[requests,test,dev]"
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

The updated install target is missing pycurl and coveralls, which were previously installed by default.

  1. pycurl: This is defined as an optional dependency in pyproject.toml. To maintain the same development environment as before, it should be included in the extras list in the pip install command.
  2. coveralls: This dependency is missing from pyproject.toml entirely. To align with the goal of consolidating metadata, it should be added to the test or dev extras in pyproject.toml and then included here.

If these were intentionally removed from the default installation, please disregard this, but usually make install is expected to set up a complete environment for development and testing.

	@pip install -e ".[requests,pycurl,test,dev]"

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Both exclusions are intentional:

  1. pycurl: Requires system-level libcurl (libcurl4-openssl-dev) which is often not present on developer machines and causes install failures. It's adequately tested via tox's pycurl variant (tox -e py310-pycurl). Including it in make install would break the out-of-box dev setup on machines without libcurl.

  2. coveralls: Was a CI-only dependency not used in any local dev or test workflow — it's not in any pyproject.toml extras group and wasn't referenced in any Makefile target or CI workflow. Dropping it is intentional cleanup.

The new make install gives a complete local dev environment: editable install + requests + test deps + dev tools (ruff, pre-commit). Pycurl testing is handled by tox where the system dependency is explicitly set up.


lint:
@ruff check Adyen test
Expand Down
10 changes: 9 additions & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
[build-system]
requires = ["setuptools>=45", "wheel"]
requires = ["setuptools>=61.0.0", "wheel"]
build-backend = "setuptools.build_meta"

[project]
Expand Down Expand Up @@ -31,6 +31,11 @@ classifiers = [
"Programming Language :: Python :: 3.14",
]

[project.urls]
Homepage = "https://github.com/Adyen/adyen-python-api-library"
Repository = "https://github.com/Adyen/adyen-python-api-library"
Issues = "https://github.com/Adyen/adyen-python-api-library/issues"

[project.optional-dependencies]
requests = ["requests>=2.25.0"]
pycurl = ["pycurl>=7.43.0"]
Expand All @@ -45,6 +50,9 @@ dev = [
"pre-commit>=3.0.0",
]

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

[tool.ruff]
line-length = 100
target-version = "py38"
Expand Down
47 changes: 2 additions & 45 deletions setup.py
Original file line number Diff line number Diff line change
@@ -1,45 +1,2 @@
from setuptools import find_packages, setup

setup(
name="Adyen",
packages=find_packages(include=["Adyen*"], exclude=["tests", "tests.*"]),
version="15.0.0",
maintainer="Adyen",
maintainer_email="support@adyen.com",
description="Adyen Python Api",
long_description="A Python client library for accessing Adyen APIs",
author="Adyen",
author_email="support@adyen.com",
url="https://github.com/Adyen/adyen-python-api-library",
keywords=["payments", "adyen", "fintech"],
python_requires=">=3.8",
install_requires=[],
extras_require={
"requests": ["requests>=2.25.0"],
"pycurl": ["pycurl>=7.43.0"],
"test": [
"pytest>=7.0.0",
"pytest-cov>=4.0.0",
"mock>=4.0.0",
"requests>=2.25.0",
],
"dev": [
"ruff>=0.4.4",
"pre-commit>=3.0.0",
],
},
classifiers=[
"Development Status :: 5 - Production/Stable",
"Intended Audience :: Developers",
"Topic :: Software Development :: Libraries",
"License :: OSI Approved :: MIT License",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.8",
"Programming Language :: Python :: 3.9",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13",
"Programming Language :: Python :: 3.14",
],
)
from setuptools import setup
setup()