mirror of
https://github.com/certbot/certbot.git
synced 2026-05-28 04:34:11 -04:00
pkg_resources-full-cleanup
This commit is contained in:
parent
01d129dfca
commit
e1bd4076cb
15 changed files with 64 additions and 70 deletions
|
|
@ -524,7 +524,7 @@ ignored-classes=optparse.Values,thread._local,_thread._local,argparse.Namespace,
|
|||
# List of module names for which member attributes should not be checked
|
||||
# (useful for modules/projects where namespaces are manipulated during runtime
|
||||
# and thus existing member attributes cannot be deduced by static analysis
|
||||
ignored-modules=pkg_resources,confargparse,argparse
|
||||
ignored-modules=confargparse,argparse
|
||||
|
||||
# Show a hint with possible names when a member name was not found. The aspect
|
||||
# of finding the hint is based on edit distance.
|
||||
|
|
|
|||
|
|
@ -3,6 +3,7 @@ from unittest import mock
|
|||
import sys
|
||||
|
||||
import pytest
|
||||
from requests import Response
|
||||
from requests.exceptions import HTTPError
|
||||
|
||||
from certbot.compat import os
|
||||
|
|
@ -16,7 +17,7 @@ TOKEN = 'foo'
|
|||
class AuthenticatorTest(test_util.TempDirTestCase,
|
||||
dns_test_common_lexicon.BaseLexiconDNSAuthenticatorTest):
|
||||
|
||||
LOGIN_ERROR = HTTPError('401 Client Error: Unauthorized for url: ...')
|
||||
LOGIN_ERROR = HTTPError('401 Client Error: Unauthorized for url: ...', response=Response())
|
||||
|
||||
def setUp(self):
|
||||
super().setUp()
|
||||
|
|
|
|||
|
|
@ -4,6 +4,7 @@ import sys
|
|||
from unittest import mock
|
||||
|
||||
import pytest
|
||||
from requests import Response
|
||||
from requests.exceptions import HTTPError
|
||||
|
||||
from certbot.compat import os
|
||||
|
|
@ -19,8 +20,8 @@ SECRET_KEY = 'bar'
|
|||
class AuthenticatorTest(test_util.TempDirTestCase,
|
||||
dns_test_common_lexicon.BaseLexiconDNSAuthenticatorTest):
|
||||
|
||||
DOMAIN_NOT_FOUND = HTTPError(f'404 Client Error: Not Found for url: {DOMAIN}.')
|
||||
LOGIN_ERROR = HTTPError(f'403 Client Error: Forbidden for url: {DOMAIN}.')
|
||||
DOMAIN_NOT_FOUND = HTTPError(f'404 Client Error: Not Found for url: {DOMAIN}.', response=Response())
|
||||
LOGIN_ERROR = HTTPError(f'403 Client Error: Forbidden for url: {DOMAIN}.', response=Response())
|
||||
|
||||
def setUp(self):
|
||||
super().setUp()
|
||||
|
|
|
|||
|
|
@ -1,10 +1,10 @@
|
|||
"""Tests for certbot_dns_gehirn._internal.dns_gehirn."""
|
||||
|
||||
import sys
|
||||
import unittest
|
||||
from unittest import mock
|
||||
|
||||
import pytest
|
||||
from requests import Response
|
||||
from requests.exceptions import HTTPError
|
||||
|
||||
from certbot.compat import os
|
||||
|
|
@ -20,8 +20,8 @@ API_SECRET = 'MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw'
|
|||
class AuthenticatorTest(test_util.TempDirTestCase,
|
||||
dns_test_common_lexicon.BaseLexiconDNSAuthenticatorTest):
|
||||
|
||||
DOMAIN_NOT_FOUND = HTTPError(f'404 Client Error: Not Found for url: {DOMAIN}.')
|
||||
LOGIN_ERROR = HTTPError(f'401 Client Error: Unauthorized for url: {DOMAIN}.')
|
||||
DOMAIN_NOT_FOUND = HTTPError(f'404 Client Error: Not Found for url: {DOMAIN}.', response=Response())
|
||||
LOGIN_ERROR = HTTPError(f'401 Client Error: Unauthorized for url: {DOMAIN}.', response=Response())
|
||||
|
||||
def setUp(self):
|
||||
super().setUp()
|
||||
|
|
|
|||
|
|
@ -3,6 +3,7 @@ import sys
|
|||
from unittest import mock
|
||||
|
||||
import pytest
|
||||
from requests import Response
|
||||
from requests.exceptions import HTTPError
|
||||
|
||||
from certbot.compat import os
|
||||
|
|
@ -17,7 +18,7 @@ TOKEN = 'foo'
|
|||
class AuthenticatorTest(test_util.TempDirTestCase,
|
||||
dns_test_common_lexicon.BaseLexiconDNSAuthenticatorTest):
|
||||
|
||||
LOGIN_ERROR = HTTPError("401 Client Error: Unauthorized for url: ...")
|
||||
LOGIN_ERROR = HTTPError("401 Client Error: Unauthorized for url: ...", response=Response())
|
||||
|
||||
def setUp(self):
|
||||
super().setUp()
|
||||
|
|
|
|||
|
|
@ -3,6 +3,7 @@ import sys
|
|||
from unittest import mock
|
||||
|
||||
import pytest
|
||||
from requests import Response
|
||||
from requests.exceptions import HTTPError
|
||||
|
||||
from certbot.compat import os
|
||||
|
|
@ -17,8 +18,8 @@ API_KEY = 'foo'
|
|||
class AuthenticatorTest(test_util.TempDirTestCase,
|
||||
dns_test_common_lexicon.BaseLexiconDNSAuthenticatorTest):
|
||||
|
||||
DOMAIN_NOT_FOUND = HTTPError(f'404 Client Error: Not Found for url: {DOMAIN}.')
|
||||
LOGIN_ERROR = HTTPError(f'401 Client Error: Unauthorized for url: {DOMAIN}.')
|
||||
DOMAIN_NOT_FOUND = HTTPError(f'404 Client Error: Not Found for url: {DOMAIN}.', response=Response())
|
||||
LOGIN_ERROR = HTTPError(f'401 Client Error: Unauthorized for url: {DOMAIN}.', response=Response())
|
||||
|
||||
def setUp(self):
|
||||
super().setUp()
|
||||
|
|
|
|||
|
|
@ -3,6 +3,7 @@ from unittest import mock
|
|||
import sys
|
||||
|
||||
import pytest
|
||||
from requests import Response
|
||||
from requests.exceptions import HTTPError
|
||||
|
||||
from certbot.compat import os
|
||||
|
|
@ -20,7 +21,7 @@ class AuthenticatorTest(test_util.TempDirTestCase,
|
|||
dns_test_common_lexicon.BaseLexiconDNSAuthenticatorTest):
|
||||
|
||||
DOMAIN_NOT_FOUND = Exception('Domain example.com not found')
|
||||
LOGIN_ERROR = HTTPError('403 Client Error: Forbidden for url: https://eu.api.ovh.com/1.0/...')
|
||||
LOGIN_ERROR = HTTPError('403 Client Error: Forbidden for url: https://eu.api.ovh.com/1.0/...', response=Response())
|
||||
|
||||
def setUp(self):
|
||||
super().setUp()
|
||||
|
|
|
|||
|
|
@ -3,6 +3,7 @@ import sys
|
|||
from unittest import mock
|
||||
|
||||
import pytest
|
||||
from requests import Response
|
||||
from requests.exceptions import HTTPError
|
||||
|
||||
from certbot.compat import os
|
||||
|
|
@ -18,8 +19,8 @@ API_SECRET = 'MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw'
|
|||
class AuthenticatorTest(test_util.TempDirTestCase,
|
||||
dns_test_common_lexicon.BaseLexiconDNSAuthenticatorTest):
|
||||
|
||||
DOMAIN_NOT_FOUND = HTTPError(f'404 Client Error: Not Found for url: {DOMAIN}.')
|
||||
LOGIN_ERROR = HTTPError(f'401 Client Error: Unauthorized for url: {DOMAIN}.')
|
||||
DOMAIN_NOT_FOUND = HTTPError(f'404 Client Error: Not Found for url: {DOMAIN}.', response=Response())
|
||||
LOGIN_ERROR = HTTPError(f'401 Client Error: Unauthorized for url: {DOMAIN}.', response=Response())
|
||||
|
||||
def setUp(self):
|
||||
super().setUp()
|
||||
|
|
|
|||
|
|
@ -30,9 +30,9 @@ try:
|
|||
from lexicon.config import ConfigResolver
|
||||
from lexicon.interfaces import Provider
|
||||
except ImportError: # pragma: no cover
|
||||
Client = None
|
||||
ConfigResolver = None
|
||||
Provider = None
|
||||
Client = None # type: ignore
|
||||
ConfigResolver = None # type: ignore
|
||||
Provider = None # type: ignore
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
|
|
@ -148,19 +148,18 @@ def build_lexicon_config(lexicon_provider_name: str,
|
|||
.. deprecated:: 2.7.0
|
||||
Please use certbot.plugins.dns_common_lexicon.LexiconDNSAuthenticator instead.
|
||||
"""
|
||||
config: Union[ConfigResolver, Dict[str, Any]] = {'provider_name': lexicon_provider_name}
|
||||
config.update(lexicon_options)
|
||||
if not ConfigResolver:
|
||||
config_dict: Dict[str, Any] = {'provider_name': lexicon_provider_name}
|
||||
config_dict.update(lexicon_options)
|
||||
if ConfigResolver is None:
|
||||
# Lexicon 2.x
|
||||
config.update(provider_options)
|
||||
config_dict.update(provider_options)
|
||||
return config_dict
|
||||
else:
|
||||
# Lexicon 3.x
|
||||
provider_config: Dict[str, Any] = {}
|
||||
provider_config.update(provider_options)
|
||||
config[lexicon_provider_name] = provider_config
|
||||
config = ConfigResolver().with_dict(config).with_env()
|
||||
|
||||
return config
|
||||
config_dict[lexicon_provider_name] = provider_config
|
||||
return ConfigResolver().with_dict(config_dict).with_env()
|
||||
|
||||
|
||||
class LexiconDNSAuthenticator(dns_common.DNSAuthenticator):
|
||||
|
|
|
|||
|
|
@ -13,6 +13,7 @@ from unittest.mock import MagicMock
|
|||
import warnings
|
||||
|
||||
import josepy as jose
|
||||
from requests import Response
|
||||
from requests.exceptions import HTTPError
|
||||
from requests.exceptions import RequestException
|
||||
|
||||
|
|
@ -37,8 +38,8 @@ KEY = jose.JWKRSA.load(test_util.load_vector("rsa512_key.pem"))
|
|||
|
||||
DOMAIN_NOT_FOUND = Exception('No domain found')
|
||||
GENERIC_ERROR = RequestException
|
||||
LOGIN_ERROR = HTTPError('400 Client Error: ...')
|
||||
UNKNOWN_LOGIN_ERROR = HTTPError('500 Surprise! Error: ...')
|
||||
LOGIN_ERROR = HTTPError('400 Client Error: ...', response=Response())
|
||||
UNKNOWN_LOGIN_ERROR = HTTPError('500 Surprise! Error: ...', response=Response())
|
||||
|
||||
|
||||
class _AuthenticatorCallableLexiconTestCase(_AuthenticatorCallableTestCase, Protocol):
|
||||
|
|
|
|||
|
|
@ -352,8 +352,8 @@ users install it system-wide with `pip install`. Note that this will
|
|||
only work for users who have Certbot installed from OS packages or via
|
||||
pip.
|
||||
|
||||
.. _`setuptools entry points`:
|
||||
https://setuptools.readthedocs.io/en/latest/pkg_resources.html#entry-points
|
||||
.. _`importlib.metadata entry points`:
|
||||
https://importlib-metadata.readthedocs.io/en/latest/using.html#entry-points
|
||||
|
||||
Writing your own plugin snap
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
|
|
|||
14
pytest.ini
14
pytest.ini
|
|
@ -21,17 +21,11 @@
|
|||
# updated.
|
||||
# 4) Ignore our own PendingDeprecationWarning about update_symlinks soon to be dropped.
|
||||
# See https://github.com/certbot/certbot/issues/6284.
|
||||
# 5) Ignore pkg_resources.declare_namespace used in a large number of Google's Python
|
||||
# libs. e.g. https://github.com/googleapis/google-auth-library-python/issues/1229.
|
||||
# It is also is used in sphinxcontrib-devhelp 1.0.2 which as of writing this
|
||||
# is the latest version of that library. See
|
||||
# https://github.com/sphinx-doc/sphinxcontrib-devhelp/blob/1.0.2/setup.py#L69.
|
||||
# 6) Ignore DeprecationWarning from using pkg_resources API
|
||||
# 7) Ignore our own PendingDeprecationWarning about Python 3.7 soon to be dropped.
|
||||
# 8) Ignore DeprecationWarning for datetime.utcfromtimestamp() triggered
|
||||
# 5) Ignore our own PendingDeprecationWarning about Python 3.7 soon to be dropped.
|
||||
# 6) Ignore DeprecationWarning for datetime.utcfromtimestamp() triggered
|
||||
# when importing the pytz.tzinfo module
|
||||
# https://github.com/stub42/pytz/issues/105
|
||||
# 9) Boto3 is dropping support for Python 3.7 by end of 2023. Let's ignore the associated
|
||||
# 7) Boto3 is dropping support for Python 3.7 by end of 2023. Let's ignore the associated
|
||||
# deprecation warning since we will also drop Python 3.7 soon.
|
||||
filterwarnings =
|
||||
error
|
||||
|
|
@ -39,8 +33,6 @@ filterwarnings =
|
|||
ignore:.*rsyncdir:DeprecationWarning
|
||||
ignore:'urllib3.contrib.pyopenssl:DeprecationWarning:requests_toolbelt
|
||||
ignore:update_symlinks is deprecated:PendingDeprecationWarning
|
||||
ignore:.*declare_namespace\(':DeprecationWarning
|
||||
ignore:pkg_resources is deprecated as an API:DeprecationWarning
|
||||
ignore:Python 3.7 support will be dropped:PendingDeprecationWarning
|
||||
ignore:.*datetime.utcfromtimestamp\(\) is deprecated:DeprecationWarning:pytz.tzinfo
|
||||
ignore:Boto3 will no longer support Python 3.7
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@
|
|||
apacheconfig==0.3.2 ; python_version >= "3.7" and python_version < "3.8"
|
||||
appdirs==1.4.4 ; python_version >= "3.7" and python_version < "3.8"
|
||||
asn1crypto==0.24.0 ; python_version >= "3.7" and python_version < "3.8"
|
||||
astroid==2.15.6 ; python_full_version >= "3.7.2" and python_version < "3.8"
|
||||
astroid==2.15.8 ; python_full_version >= "3.7.2" and python_version < "3.8"
|
||||
beautifulsoup4==4.12.2 ; python_version >= "3.7" and python_version < "3.8"
|
||||
boto3==1.15.15 ; python_version >= "3.7" and python_version < "3.8"
|
||||
botocore==1.18.15 ; python_version >= "3.7" and python_version < "3.8"
|
||||
|
|
@ -12,7 +12,7 @@ certifi==2023.7.22 ; python_version >= "3.7" and python_version < "3.8"
|
|||
cffi==1.11.5 ; python_version >= "3.7" and python_version < "3.8"
|
||||
chardet==3.0.4 ; python_version >= "3.7" and python_version < "3.8"
|
||||
cloudflare==1.5.1 ; python_version >= "3.7" and python_version < "3.8"
|
||||
colorama==0.4.6 ; python_version < "3.8" and sys_platform == "win32" and python_version >= "3.7"
|
||||
colorama==0.4.6 ; python_version >= "3.7" and python_version < "3.8" and sys_platform == "win32"
|
||||
configargparse==1.5.3 ; python_version >= "3.7" and python_version < "3.8"
|
||||
configobj==5.0.6 ; python_version >= "3.7" and python_version < "3.8"
|
||||
coverage==7.2.7 ; python_version >= "3.7" and python_version < "3.8"
|
||||
|
|
@ -46,18 +46,18 @@ mypy-extensions==1.0.0 ; python_version >= "3.7" and python_version < "3.8"
|
|||
mypy==1.4.1 ; python_version >= "3.7" and python_version < "3.8"
|
||||
ndg-httpsclient==0.3.2 ; python_version >= "3.7" and python_version < "3.8"
|
||||
oauth2client==4.1.3 ; python_version >= "3.7" and python_version < "3.8"
|
||||
packaging==23.1 ; python_version >= "3.7" and python_version < "3.8"
|
||||
packaging==23.2 ; python_version >= "3.7" and python_version < "3.8"
|
||||
parsedatetime==2.4 ; python_version >= "3.7" and python_version < "3.8"
|
||||
pbr==1.8.0 ; python_version >= "3.7" and python_version < "3.8"
|
||||
pip==23.2.1 ; python_version >= "3.7" and python_version < "3.8"
|
||||
platformdirs==3.10.0 ; python_full_version >= "3.7.2" and python_version < "3.8"
|
||||
platformdirs==3.11.0 ; python_full_version >= "3.7.2" and python_version < "3.8"
|
||||
pluggy==1.2.0 ; python_version >= "3.7" and python_version < "3.8"
|
||||
ply==3.4 ; python_version >= "3.7" and python_version < "3.8"
|
||||
py==1.11.0 ; python_version >= "3.7" and python_version < "3.8"
|
||||
pyasn1-modules==0.3.0 ; python_version >= "3.7" and python_version < "3.8"
|
||||
pyasn1==0.4.8 ; python_version >= "3.7" and python_version < "3.8"
|
||||
pycparser==2.14 ; python_version >= "3.7" and python_version < "3.8"
|
||||
pylint==2.17.5 ; python_full_version >= "3.7.2" and python_version < "3.8"
|
||||
pylint==2.17.7 ; python_full_version >= "3.7.2" and python_version < "3.8"
|
||||
pyopenssl==17.5.0 ; python_version >= "3.7" and python_version < "3.8"
|
||||
pyparsing==2.2.1 ; python_version >= "3.7" and python_version < "3.8"
|
||||
pyrfc3339==1.0 ; python_version >= "3.7" and python_version < "3.8"
|
||||
|
|
@ -77,23 +77,23 @@ s3transfer==0.3.7 ; python_version >= "3.7" and python_version < "3.8"
|
|||
setuptools==41.6.0 ; python_version >= "3.7" and python_version < "3.8"
|
||||
six==1.11.0 ; python_version >= "3.7" and python_version < "3.8"
|
||||
soupsieve==2.4.1 ; python_version >= "3.7" and python_version < "3.8"
|
||||
tldextract==3.5.0 ; python_version >= "3.7" and python_version < "3.8"
|
||||
tomli==2.0.1 ; python_version < "3.8" and python_version >= "3.7"
|
||||
tldextract==4.0.0 ; python_version >= "3.7" and python_version < "3.8"
|
||||
tomli==2.0.1 ; python_version >= "3.7" and python_version < "3.8"
|
||||
tomlkit==0.12.1 ; python_full_version >= "3.7.2" and python_version < "3.8"
|
||||
tox==1.9.2 ; python_version >= "3.7" and python_version < "3.8"
|
||||
typed-ast==1.5.5 ; python_version < "3.8" and python_version >= "3.7"
|
||||
typed-ast==1.5.5 ; python_version >= "3.7" and python_version < "3.8"
|
||||
types-cryptography==3.3.23.2 ; python_version >= "3.7" and python_version < "3.8"
|
||||
types-httplib2==0.22.0.2 ; python_version >= "3.7" and python_version < "3.8"
|
||||
types-pyopenssl==23.0.0.0 ; python_version >= "3.7" and python_version < "3.8"
|
||||
types-pyrfc3339==1.1.1.5 ; python_version >= "3.7" and python_version < "3.8"
|
||||
types-python-dateutil==2.8.19.14 ; python_version >= "3.7" and python_version < "3.8"
|
||||
types-pytz==2023.3.0.1 ; python_version >= "3.7" and python_version < "3.8"
|
||||
types-pytz==2023.3.1.1 ; python_version >= "3.7" and python_version < "3.8"
|
||||
types-pywin32==306.0.0.4 ; python_version >= "3.7" and python_version < "3.8"
|
||||
types-requests==2.31.0.2 ; python_version >= "3.7" and python_version < "3.8"
|
||||
types-requests==2.31.0.6 ; python_version >= "3.7" and python_version < "3.8"
|
||||
types-setuptools==68.2.0.0 ; python_version >= "3.7" and python_version < "3.8"
|
||||
types-six==1.16.21.9 ; python_version >= "3.7" and python_version < "3.8"
|
||||
types-urllib3==1.26.25.14 ; python_version >= "3.7" and python_version < "3.8"
|
||||
typing-extensions==4.7.1 ; python_version < "3.8" and python_version >= "3.7"
|
||||
typing-extensions==4.7.1 ; python_version >= "3.7" and python_version < "3.8"
|
||||
uritemplate==3.0.1 ; python_version >= "3.7" and python_version < "3.8"
|
||||
urllib3==1.24.2 ; python_version >= "3.7" and python_version < "3.8"
|
||||
virtualenv==20.4.7 ; python_version >= "3.7" and python_version < "3.8"
|
||||
|
|
|
|||
|
|
@ -70,11 +70,6 @@ cryptography = "!= 37.0.3"
|
|||
# https://github.com/python-poetry/poetry-plugin-export/issues/168 is resolved.
|
||||
poetry = "<1.3.0"
|
||||
|
||||
# setuptools 67.5.0 deprecated pkg_resources which we still use. Let's pin it
|
||||
# back until this is fixed. Doing this work is being tracked by
|
||||
# https://github.com/certbot/certbot/issues/9606.
|
||||
setuptools = "<67.5.0"
|
||||
|
||||
[tool.poetry.dev-dependencies]
|
||||
|
||||
[build-system]
|
||||
|
|
|
|||
|
|
@ -18,8 +18,8 @@ backports-cached-property==1.0.2 ; python_version >= "3.7" and python_version <
|
|||
bcrypt==4.0.1 ; python_version >= "3.7" and python_version < "4.0"
|
||||
beautifulsoup4==4.12.2 ; python_version >= "3.7" and python_version < "4.0"
|
||||
bleach==6.0.0 ; python_version >= "3.7" and python_version < "4.0"
|
||||
boto3==1.28.60 ; python_version >= "3.7" and python_version < "4.0"
|
||||
botocore==1.31.60 ; python_version >= "3.7" and python_version < "4.0"
|
||||
boto3==1.28.62 ; python_version >= "3.7" and python_version < "4.0"
|
||||
botocore==1.31.62 ; python_version >= "3.7" and python_version < "4.0"
|
||||
cachecontrol==0.12.14 ; python_version >= "3.7" and python_version < "4.0"
|
||||
cachetools==5.3.1 ; python_version >= "3.7" and python_version < "4.0"
|
||||
cachy==0.3.0 ; python_version >= "3.7" and python_version < "4.0"
|
||||
|
|
@ -28,7 +28,7 @@ cffi==1.15.1 ; python_version >= "3.7" and python_version < "4.0"
|
|||
charset-normalizer==3.3.0 ; python_version >= "3.7" and python_version < "4.0"
|
||||
cleo==1.0.0a5 ; python_version >= "3.7" and python_version < "4.0"
|
||||
cloudflare==2.12.4 ; python_version >= "3.7" and python_version < "4.0"
|
||||
colorama==0.4.6 ; python_version < "4.0" and sys_platform == "win32" and python_version >= "3.7" or python_version >= "3.7" and python_version < "4.0" and platform_system == "Windows"
|
||||
colorama==0.4.6 ; python_version >= "3.7" and python_version < "4.0" and (sys_platform == "win32" or platform_system == "Windows")
|
||||
configargparse==1.7 ; python_version >= "3.7" and python_version < "4.0"
|
||||
configobj==5.0.8 ; python_version >= "3.7" and python_version < "4.0"
|
||||
coverage==7.2.7 ; python_version >= "3.7" and python_version < "4.0"
|
||||
|
|
@ -40,7 +40,7 @@ deprecated==1.2.14 ; python_version >= "3.7" and python_version < "4.0"
|
|||
dill==0.3.7 ; python_full_version >= "3.7.2" and python_version < "4.0"
|
||||
distlib==0.3.7 ; python_version >= "3.7" and python_version < "4.0"
|
||||
distro==1.8.0 ; python_version >= "3.7" and python_version < "4.0"
|
||||
dns-lexicon==3.14.1 ; python_version >= "3.7" and python_version < "4.0"
|
||||
dns-lexicon==3.15.0 ; python_version >= "3.7" and python_version < "4.0"
|
||||
dnspython==2.3.0 ; python_version >= "3.7" and python_version < "4.0"
|
||||
docutils==0.18.1 ; python_version >= "3.7" and python_version < "4.0"
|
||||
dulwich==0.20.50 ; python_version >= "3.7" and python_version < "4.0"
|
||||
|
|
@ -49,16 +49,16 @@ execnet==2.0.2 ; python_version >= "3.7" and python_version < "4.0"
|
|||
fabric==3.2.2 ; python_version >= "3.7" and python_version < "4.0"
|
||||
filelock==3.12.2 ; python_version >= "3.7" and python_version < "4.0"
|
||||
google-api-core==2.12.0 ; python_version >= "3.7" and python_version < "4.0"
|
||||
google-api-python-client==2.102.0 ; python_version >= "3.7" and python_version < "4.0"
|
||||
google-api-python-client==2.103.0 ; python_version >= "3.7" and python_version < "4.0"
|
||||
google-auth-httplib2==0.1.1 ; python_version >= "3.7" and python_version < "4.0"
|
||||
google-auth==2.23.2 ; python_version >= "3.7" and python_version < "4.0"
|
||||
google-auth==2.23.3 ; python_version >= "3.7" and python_version < "4.0"
|
||||
googleapis-common-protos==1.60.0 ; python_version >= "3.7" and python_version < "4.0"
|
||||
html5lib==1.1 ; python_version >= "3.7" and python_version < "4.0"
|
||||
httplib2==0.22.0 ; python_version >= "3.7" and python_version < "4.0"
|
||||
idna==3.4 ; python_version >= "3.7" and python_version < "4.0"
|
||||
imagesize==1.4.1 ; python_version >= "3.7" and python_version < "4.0"
|
||||
importlib-metadata==4.13.0 ; python_version >= "3.7" and python_version < "4.0"
|
||||
importlib-resources==5.12.0 ; python_version >= "3.7" and python_version < "4.0"
|
||||
importlib-resources==5.12.0 ; python_version >= "3.7" and python_version < "3.9"
|
||||
iniconfig==2.0.0 ; python_version >= "3.7" and python_version < "4.0"
|
||||
invoke==2.2.0 ; python_version >= "3.7" and python_version < "4.0"
|
||||
ipdb==0.13.13 ; python_version >= "3.7" and python_version < "4.0"
|
||||
|
|
@ -97,7 +97,7 @@ pickleshare==0.7.5 ; python_version >= "3.7" and python_version < "4.0"
|
|||
pip==23.2.1 ; python_version >= "3.7" and python_version < "4.0"
|
||||
pkginfo==1.9.6 ; python_version >= "3.7" and python_version < "4.0"
|
||||
pkgutil-resolve-name==1.3.10 ; python_version >= "3.7" and python_version < "3.9"
|
||||
platformdirs==2.6.2 ; python_version < "4.0" and python_version >= "3.7"
|
||||
platformdirs==2.6.2 ; python_version >= "3.7" and python_version < "4.0"
|
||||
pluggy==1.2.0 ; python_version >= "3.7" and python_version < "4.0"
|
||||
ply==3.11 ; python_version >= "3.7" and python_version < "4.0"
|
||||
poetry-core==1.3.2 ; python_version >= "3.7" and python_version < "4.0"
|
||||
|
|
@ -116,6 +116,7 @@ pylint==2.15.5 ; python_full_version >= "3.7.2" and python_version < "4.0"
|
|||
pynacl==1.5.0 ; python_version >= "3.7" and python_version < "4.0"
|
||||
pynsist==2.7 ; python_version >= "3.7" and python_version < "4.0"
|
||||
pyopenssl==23.2.0 ; python_version >= "3.7" and python_version < "4.0"
|
||||
pyotp==2.9.0 ; python_version >= "3.7" and python_version < "4.0"
|
||||
pyparsing==3.1.1 ; python_version >= "3.7" and python_version < "4.0"
|
||||
pyrfc3339==1.1 ; python_version >= "3.7" and python_version < "4.0"
|
||||
pyrsistent==0.19.3 ; python_version >= "3.7" and python_version < "4.0"
|
||||
|
|
@ -142,7 +143,7 @@ s3transfer==0.7.0 ; python_version >= "3.7" and python_version < "4.0"
|
|||
secretstorage==3.3.3 ; python_version >= "3.7" and python_version < "4.0" and sys_platform == "linux"
|
||||
semantic-version==2.10.0 ; python_version >= "3.7" and python_version < "4.0"
|
||||
setuptools-rust==1.7.0 ; python_version >= "3.7" and python_version < "4.0"
|
||||
setuptools==67.4.0 ; python_version >= "3.7" and python_version < "4.0"
|
||||
setuptools==68.0.0 ; python_version >= "3.7" and python_version < "4.0"
|
||||
shellingham==1.5.3 ; python_version >= "3.7" and python_version < "4.0"
|
||||
six==1.16.0 ; python_version >= "3.7" and python_version < "4.0"
|
||||
snowballstemmer==2.2.0 ; python_version >= "3.7" and python_version < "4.0"
|
||||
|
|
@ -156,20 +157,20 @@ sphinxcontrib-jquery==4.1 ; python_version >= "3.7" and python_version < "4.0"
|
|||
sphinxcontrib-jsmath==1.0.1 ; python_version >= "3.7" and python_version < "4.0"
|
||||
sphinxcontrib-qthelp==1.0.3 ; python_version >= "3.7" and python_version < "4.0"
|
||||
sphinxcontrib-serializinghtml==1.1.5 ; python_version >= "3.7" and python_version < "4.0"
|
||||
tldextract==3.6.0 ; python_version >= "3.7" and python_version < "4.0"
|
||||
tomli==2.0.1 ; python_version >= "3.7" and python_full_version <= "3.11.0a6"
|
||||
tomlkit==0.12.1 ; python_version < "4.0" and python_version >= "3.7"
|
||||
tldextract==4.0.0 ; python_version >= "3.7" and python_version < "4.0"
|
||||
tomli==2.0.1 ; python_version >= "3.7" and python_version < "3.11"
|
||||
tomlkit==0.12.1 ; python_version >= "3.7" and python_version < "4.0"
|
||||
tox==3.28.0 ; python_version >= "3.7" and python_version < "4.0"
|
||||
traitlets==5.9.0 ; python_version >= "3.7" and python_version < "4.0"
|
||||
twine==4.0.2 ; python_version >= "3.7" and python_version < "4.0"
|
||||
typed-ast==1.5.5 ; python_version < "3.8" and python_version >= "3.7"
|
||||
typed-ast==1.5.5 ; python_version >= "3.7" and python_version < "3.8"
|
||||
types-httplib2==0.22.0.2 ; python_version >= "3.7" and python_version < "4.0"
|
||||
types-pyopenssl==23.2.0.2 ; python_version >= "3.7" and python_version < "4.0"
|
||||
types-pyrfc3339==1.1.1.5 ; python_version >= "3.7" and python_version < "4.0"
|
||||
types-python-dateutil==2.8.19.14 ; python_version >= "3.7" and python_version < "4.0"
|
||||
types-pytz==2023.3.1.1 ; python_version >= "3.7" and python_version < "4.0"
|
||||
types-pywin32==306.0.0.4 ; python_version >= "3.7" and python_version < "4.0"
|
||||
types-requests==2.31.0.2 ; python_version >= "3.7" and python_version < "4.0"
|
||||
types-requests==2.31.0.6 ; python_version >= "3.7" and python_version < "4.0"
|
||||
types-setuptools==68.2.0.0 ; python_version >= "3.7" and python_version < "4.0"
|
||||
types-six==1.16.21.9 ; python_version >= "3.7" and python_version < "4.0"
|
||||
types-urllib3==1.26.25.14 ; python_version >= "3.7" and python_version < "4.0"
|
||||
|
|
@ -180,7 +181,7 @@ virtualenv==20.21.1 ; python_version >= "3.7" and python_version < "4.0"
|
|||
wcwidth==0.2.8 ; python_version >= "3.7" and python_version < "4.0"
|
||||
webencodings==0.5.1 ; python_version >= "3.7" and python_version < "4.0"
|
||||
wheel==0.41.2 ; python_version >= "3.7" and python_version < "4.0"
|
||||
wrapt==1.15.0 ; python_version < "4.0" and python_version >= "3.7"
|
||||
wrapt==1.15.0 ; python_version >= "3.7" and python_version < "4.0"
|
||||
xattr==0.9.9 ; python_version >= "3.7" and python_version < "4.0" and sys_platform == "darwin"
|
||||
yarg==0.1.9 ; python_version >= "3.7" and python_version < "4.0"
|
||||
zipp==3.15.0 ; python_version >= "3.7" and python_version < "4.0"
|
||||
|
|
|
|||
Loading…
Reference in a new issue