[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.6" # 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-cloudxns = {path = "../../../certbot-dns-cloudxns", 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"} windows-installer = {path = "../../../windows-installer"} # Extra dependencies # awscli is just listed here as a performance optimization. As of writing this, # there are some conflicts in shared dependencies between it and other packages # we depend on. To try and resolve them, poetry searches through older versions # of awscli to see if that resolves the conflict, but there are over 1000 # versions of awscli on PyPI so this process takes too long. Providing a high # minimum version here prevents poetry from searching this path and it fairly # quickly resolves the dependency conflict in another way. awscli = ">=1.19.62" # 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. cython = "*" # We install mock in our "external-mock" tox environment to test that we didn't # break Certbot's test API which used to always use mock objects from the 3rd # party mock library. We list the mock dependency here so that is pinned, but # we don't depend on it in Certbot to avoid installing mock when it's not # needed. This dependency can be removed here once Certbot's support for the # 3rd party mock library has been dropped. mock = "*" # poetry 1.2.0+ is required for it to pin pip, setuptools, and wheel. See # https://github.com/python-poetry/poetry/issues/1584. This version is required # here in addition to certbot/setup.py because otherwise the pre-release # version of poetry will not be installed. poetry = ">=1.2.0a1" # setuptools-rust 1.0+ causes some of our tests to fail. In the long term, this # should be fixed, but this is a quick fix to get tests passing again. See # https://github.com/certbot/certbot/issues/9111 for more info. setuptools-rust = "<1" # Library traitlets is a transitive dependency of ipdb (traitlets -> ipython -> ipdb). # Version 5.x is incompatible with Python 3.6 but for some reasons, poetry fails to # add the appropriate marker and allows this version to be installed under Python 3.6. # We add a pinning to not create a set of requirements incompatible with Python 3.6. traitlets = "<5" [tool.poetry.dev-dependencies] [build-system] requires = ["poetry-core>=1.0.0"] build-backend = "poetry.core.masonry.api"