[build-system]
requires = ["setuptools"]
build-backend = "setuptools.build_meta"

[project]
name = "certbot-ci"
dynamic = ["version"]
description = "Certbot continuous integration framework"
license = "Apache-2.0"
requires-python = ">=3.10"
authors = [
    { name = "Certbot Project" },
]
classifiers = [
    "Development Status :: 3 - Alpha",
    "Intended Audience :: Developers",
    "Programming Language :: Python",
    "Programming Language :: Python :: 3",
    "Programming Language :: Python :: 3.13",
    "Programming Language :: Python :: 3.10",
    "Programming Language :: Python :: 3.11",
    "Programming Language :: Python :: 3.12",
    "Programming Language :: Python :: 3.14",
    "Topic :: Internet :: WWW/HTTP",
    "Topic :: Security",
]
dependencies = [
    "coverage",
    "cryptography",
    "pytest",
    "pytest-cov",
    # This version is needed for "worker" attributes we currently use like
    # "workerinput". See https://github.com/pytest-dev/pytest-xdist/pull/268.
    "pytest-xdist>=1.22.1",
    "python-dateutil>=2.9.0", # https://github.com/dateutil/dateutil/issues/1314
    # This dependency needs to be added using environment markers to avoid its
    # installation on Linux.
    "pywin32>=300 ; sys_platform == \"win32\"",
    "pyyaml",
    # requests unvendored its dependencies in version 2.16.0 and this code relies on that for
    # calling `urllib3.disable_warnings`.
    "requests>=2.25.1",
    "types-python-dateutil",
]

[project.scripts]
certbot_test = "certbot_integration_tests.utils.certbot_call:main"
run_acme_server = "certbot_integration_tests.utils.acme_server:main"

[project.urls]
Homepage = "https://github.com/certbot/certbot"

[tool.setuptools]
package-dir = {"" = "src"}

[tool.setuptools.packages.find]
where = ["src"]
