[tool.poetry] name = "certbot-pinner" version = "0.1.0" description = "A simple project for pinning Certbot's dependencies using Poetry." authors = ["Certbot Project"] license = "Apache License 2.0" [tool.poetry.dependencies] python = "^3.10" # Local dependencies # Any local packages that have dependencies on other local packages must be # listed below before the package it depends on. For instance, certbot depends # on acme so certbot must be listed before acme. certbot-ci = {path = "../../../certbot-ci"} certbot-compatibility-test = {path = "../../../certbot-compatibility-test"} certbot-dns-cloudflare = {path = "../../../certbot-dns-cloudflare", extras = ["docs"]} certbot-dns-digitalocean = {path = "../../../certbot-dns-digitalocean", extras = ["docs"]} certbot-dns-dnsimple = {path = "../../../certbot-dns-dnsimple", extras = ["docs"]} certbot-dns-dnsmadeeasy = {path = "../../../certbot-dns-dnsmadeeasy", extras = ["docs"]} certbot-dns-gehirn = {path = "../../../certbot-dns-gehirn", extras = ["docs"]} certbot-dns-google = {path = "../../../certbot-dns-google", extras = ["docs"]} certbot-dns-linode = {path = "../../../certbot-dns-linode", extras = ["docs"]} certbot-dns-luadns = {path = "../../../certbot-dns-luadns", extras = ["docs"]} certbot-dns-nsone = {path = "../../../certbot-dns-nsone", extras = ["docs"]} certbot-dns-ovh = {path = "../../../certbot-dns-ovh", extras = ["docs"]} certbot-dns-rfc2136 = {path = "../../../certbot-dns-rfc2136", extras = ["docs"]} certbot-dns-route53 = {path = "../../../certbot-dns-route53", extras = ["docs"]} certbot-dns-sakuracloud = {path = "../../../certbot-dns-sakuracloud", extras = ["docs"]} certbot-nginx = {path = "../../../certbot-nginx"} certbot-apache = {path = "../../../certbot-apache", extras = ["dev"]} certbot = {path = "../../../certbot", extras = ["all"]} acme = {path = "../../../acme", extras = ["docs", "test"]} letstest = {path = "../../../letstest"} # Extra dependencies # As of writing this, cython is a build dependency of pyyaml. Since there # doesn't appear to be a good way to automatically track down and pin build # dependencies in Python (see # https://discuss.python.org/t/how-to-pin-build-dependencies/8238), we list it # as a dependency here to ensure a version of cython is pinned for extra # stability. # # As of pyyaml 6.0.2, cython >= 3.0 is required for py >= 3.13, and < 3.0 for py < 3.13. # See https://github.com/yaml/pyyaml/pull/808/files. cython = [ { version = "<3.0", python = "<3.13" }, { version = ">=3.0", python = ">=3.13" } ] # setuptools-rust is a build dependency of cryptography, and since we don't have # a great way of pinning build dependencies, we simply list it here to ensure a # working version. Note: if build dependencies of setuptools-rust break at some # point, it's probably worth enumerating and pinning them (and recursing to # THEIR build dependencies) as well. setuptools-rust = "*" # pylint often adds new checks that we need to conform our code to when # upgrading our dependencies. To help control when this needs to be done, we # pin pylint to a compatible version here. # # If this pinning is removed, we may still need to add a lower bound for the # pylint version. See https://github.com/certbot/certbot/pull/9229. pylint = "3.3.3" # mypy often adds new checks that we need to conform our code to when updating # dependencies. To help control when this needs to be done, we pin mypy to a # compatible version here. mypy = "1.9.0" # Branch 4.x of tox introduces backward incompatibility changes, so require a newer # version of tox to keep deterministic builds. tox = ">=4" [build-system] requires = ["poetry-core>=1.0.0"] build-backend = "poetry.core.masonry.api"