[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", extras = ["docs"]} certbot-compatibility-test = {path = "../../certbot-compatibility-test", extras = ["docs"]} 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", extras = ["docs"]} certbot-apache = {path = "../../certbot-apache", extras = ["dev"]} certbot = {path = "../../certbot", extras = ["dev", "docs"]} acme = {path = "../../acme", extras = ["dev", "docs"]} 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 = "*" # Upgrading coverage, pylint, pytest, and some of pytest's plugins causes many # test failures so let's pin these packages back for now. coverage = "4.5.4" pylint = "2.4.3" pytest = "3.2.5" pytest-forked = "0.2" # We were originally pinning back python-augeas for certbot-auto because we # found the way older versions of the library linked to Augeas were more # reliable. That's no longer a concern, however, we continue to pin back the # library for now because it causes Certbot tests on Windows to fail. See # https://github.com/certbot/certbot/issues/8732. python-augeas = "0.5.0" # Because some parts of Certbot documentation are generated from zope.interfaces, # we need the Sphinx plugin repoze.sphinx.autointerface. This plugin is not # currently compatible with Sphinx>=4 though so we're pinning an older version # for now. See https://github.com/repoze/repoze.sphinx.autointerface/issues/16 # for more info. This pinning could also be removed by the removal of # zope.interface in Certbot. sphinx = "<4" # 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"