[build-system] requires = ["setuptools"] build-backend = "setuptools.build_meta" [project] name = "certbot" dynamic = ["version", "dependencies"] description = "ACME client" readme = "README.rst" license = "Apache-2.0" requires-python = ">=3.10" authors = [ { name = "Certbot Project", email = "certbot-dev@eff.org" }, ] classifiers = [ "Development Status :: 5 - Production/Stable", "Environment :: Console", "Intended Audience :: System Administrators", "Operating System :: POSIX :: Linux", "Programming Language :: Python", "Programming Language :: Python :: 3", "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", "Topic :: Internet :: WWW/HTTP", "Topic :: Security", "Topic :: System :: Installation/Setup", "Topic :: System :: Networking", "Topic :: System :: Systems Administration", "Topic :: Utilities", ] [project.optional-dependencies] dev = [ "azure-devops", "build", "ipdb", # allows us to use newer urllib3 https://github.com/python-poetry/poetry-plugin-export/issues/183 "poetry-plugin-export>=1.9.0", # poetry 1.2.0+ is required for it to pin pip, setuptools, and wheel. See # https://github.com/python-poetry/poetry/issues/1584. "poetry>=1.2.0", "towncrier", "twine", ] docs = [ # If you have Sphinx<1.5.1, you need docutils<0.13.1 # https://github.com/sphinx-doc/sphinx/issues/3212 "Sphinx>=1.2", # Annotation support "sphinx_rtd_theme", ] # Tools like pip, wheel, and tox are listed here to ensure they are properly # pinned and installed during automated testing. test = [ "coverage", "mypy", "pip", "pylint", "pytest", "pytest-cov>=4.1.0", # https://github.com/pytest-dev/pytest-cov/pull/558 "pytest-xdist", "ruff", "setuptools", "tox", "types-httplib2", "types-pyRFC3339", "types-pywin32", "types-requests", "types-setuptools", "uv", "wheel", ] all = [ "certbot[dev,docs,test]" ] [project.scripts] certbot = "certbot.main:main" [project.entry-points."certbot.plugins"] manual = "certbot._internal.plugins.manual:Authenticator" null = "certbot._internal.plugins.null:Installer" standalone = "certbot._internal.plugins.standalone:Authenticator" webroot = "certbot._internal.plugins.webroot:Authenticator" [project.urls] Homepage = "https://github.com/certbot/certbot" [tool.setuptools] package-dir = {"" = "src"} [tool.setuptools.packages.find] where = ["src"] # list of folders that contain the packages (["."] by default) exclude = ['docs', 'examples', 'tests', 'venv'] # exclude packages matching these glob patterns [tool.setuptools.dynamic] version = {attr = "certbot.__version__"} # any module attribute compatible with ast.literal_eval