From a9de3432103141c7519783ad4d8088797c892914 Mon Sep 17 00:00:00 2001 From: Hugo van Kemenade Date: Mon, 11 Oct 2021 22:30:36 +0300 Subject: Add support for Python 3.10 Signed-off-by: Hugo van Kemenade --- .github/workflows/ci.yml | 2 +- setup.py | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index b692508..a73bcba 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -8,7 +8,7 @@ jobs: strategy: max-parallel: 1 matrix: - python-version: [3.6, 3.7, 3.8, 3.9] + python-version: ["3.6", "3.7", "3.8", "3.9", "3.10"] steps: - uses: actions/checkout@v2 diff --git a/setup.py b/setup.py index a966fea..1e76fdb 100644 --- a/setup.py +++ b/setup.py @@ -75,6 +75,7 @@ setup( 'Programming Language :: Python :: 3.7', 'Programming Language :: Python :: 3.8', 'Programming Language :: Python :: 3.9', + 'Programming Language :: Python :: 3.10', 'Topic :: Software Development', 'Topic :: Utilities', 'License :: OSI Approved :: Apache Software License', -- cgit v1.2.1 From 4150fc4d9d3c9c68dea3a377410182aa33c02c2b Mon Sep 17 00:00:00 2001 From: Hugo van Kemenade Date: Mon, 11 Oct 2021 22:30:42 +0300 Subject: Universal wheels are for code expected to work on both Python 2 and 3 Signed-off-by: Hugo van Kemenade --- setup.cfg | 3 --- 1 file changed, 3 deletions(-) diff --git a/setup.cfg b/setup.cfg index 907746f..a37e552 100644 --- a/setup.cfg +++ b/setup.cfg @@ -1,6 +1,3 @@ -[bdist_wheel] -universal = 1 - [metadata] description_file = README.rst license = Apache License 2.0 -- cgit v1.2.1 From 72bcd1616da7c3d57fd90ec02b2fa7a9255dd08b Mon Sep 17 00:00:00 2001 From: Hugo van Kemenade Date: Mon, 11 Oct 2021 22:38:56 +0300 Subject: Bump pytest (and other dependencies) for Python 3.10 Signed-off-by: Hugo van Kemenade --- test-requirements.txt | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/test-requirements.txt b/test-requirements.txt index 40161bb..d135792 100644 --- a/test-requirements.txt +++ b/test-requirements.txt @@ -1,7 +1,7 @@ -setuptools==54.1.1 -coverage==4.5.2 -flake8==3.6.0 +setuptools==58.2.0 +coverage==6.0.1 +flake8==4.0.1 mock==1.0.1 -pytest==4.3.1 -pytest-cov==2.6.1 -pytest-timeout==1.3.3 +pytest==6.2.5 +pytest-cov==3.0.0 +pytest-timeout==2.0.1 -- cgit v1.2.1 From bbbc29191a8a430a7024cacd460b7e2d35e0dfb0 Mon Sep 17 00:00:00 2001 From: Hugo van Kemenade Date: Mon, 11 Oct 2021 22:43:25 +0300 Subject: Bump minimum paramiko to support Python 3.10 Signed-off-by: Hugo van Kemenade --- requirements.txt | 2 +- setup.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/requirements.txt b/requirements.txt index 26cbc6f..d7c11aa 100644 --- a/requirements.txt +++ b/requirements.txt @@ -7,7 +7,7 @@ enum34==1.1.6 idna==2.5 ipaddress==1.0.18 packaging==16.8 -paramiko==2.4.2 +paramiko==2.8.0 pycparser==2.17 pyOpenSSL==18.0.0 pyparsing==2.2.0 diff --git a/setup.py b/setup.py index 1e76fdb..db2d6eb 100644 --- a/setup.py +++ b/setup.py @@ -29,7 +29,7 @@ extras_require = { 'tls': ['pyOpenSSL>=17.5.0', 'cryptography>=3.4.7', 'idna>=2.0.0'], # Only required when connecting using the ssh:// protocol - 'ssh': ['paramiko>=2.4.2'], + 'ssh': ['paramiko>=2.4.3'], } -- cgit v1.2.1 From 4bb99311e2911406dde543117438782a9524feea Mon Sep 17 00:00:00 2001 From: Hugo van Kemenade Date: Mon, 11 Oct 2021 22:50:39 +0300 Subject: Don't install mock backport Signed-off-by: Hugo van Kemenade --- test-requirements.txt | 1 - tests/integration/credentials/utils_test.py | 6 +----- tests/unit/api_container_test.py | 6 +----- tests/unit/api_image_test.py | 6 +----- tests/unit/api_network_test.py | 6 +----- tests/unit/api_test.py | 6 +----- tests/unit/auth_test.py | 7 +------ tests/unit/client_test.py | 6 +----- tests/unit/dockertypes_test.py | 6 +----- tests/unit/fake_api_client.py | 6 +----- tests/unit/utils_config_test.py | 6 +----- 11 files changed, 10 insertions(+), 52 deletions(-) diff --git a/test-requirements.txt b/test-requirements.txt index d135792..ccc97be 100644 --- a/test-requirements.txt +++ b/test-requirements.txt @@ -1,7 +1,6 @@ setuptools==58.2.0 coverage==6.0.1 flake8==4.0.1 -mock==1.0.1 pytest==6.2.5 pytest-cov==3.0.0 pytest-timeout==2.0.1 diff --git a/tests/integration/credentials/utils_test.py b/tests/integration/credentials/utils_test.py index d7b2a1a..acf018d 100644 --- a/tests/integration/credentials/utils_test.py +++ b/tests/integration/credentials/utils_test.py @@ -1,11 +1,7 @@ import os from docker.credentials.utils import create_environment_dict - -try: - from unittest import mock -except ImportError: - from unittest import mock +from unittest import mock @mock.patch.dict(os.environ) diff --git a/tests/unit/api_container_test.py b/tests/unit/api_container_test.py index 1ebd37d..a66aea0 100644 --- a/tests/unit/api_container_test.py +++ b/tests/unit/api_container_test.py @@ -4,6 +4,7 @@ import signal import docker from docker.api import APIClient +from unittest import mock import pytest from . import fake_api @@ -13,11 +14,6 @@ from .api_test import ( fake_inspect_container, url_base ) -try: - from unittest import mock -except ImportError: - from unittest import mock - def fake_inspect_container_tty(self, container): return fake_inspect_container(self, container, tty=True) diff --git a/tests/unit/api_image_test.py b/tests/unit/api_image_test.py index 843c11b..8fb3e9d 100644 --- a/tests/unit/api_image_test.py +++ b/tests/unit/api_image_test.py @@ -3,16 +3,12 @@ import pytest from . import fake_api from docker import auth +from unittest import mock from .api_test import ( BaseAPIClientTest, fake_request, DEFAULT_TIMEOUT_SECONDS, url_prefix, fake_resolve_authconfig ) -try: - from unittest import mock -except ImportError: - from unittest import mock - class ImageTest(BaseAPIClientTest): def test_image_viz(self): diff --git a/tests/unit/api_network_test.py b/tests/unit/api_network_test.py index 84d6544..8afab73 100644 --- a/tests/unit/api_network_test.py +++ b/tests/unit/api_network_test.py @@ -2,11 +2,7 @@ import json from .api_test import BaseAPIClientTest, url_prefix, response from docker.types import IPAMConfig, IPAMPool - -try: - from unittest import mock -except ImportError: - from unittest import mock +from unittest import mock class NetworkTest(BaseAPIClientTest): diff --git a/tests/unit/api_test.py b/tests/unit/api_test.py index dfc3816..3234e55 100644 --- a/tests/unit/api_test.py +++ b/tests/unit/api_test.py @@ -19,14 +19,10 @@ import requests from docker.api import APIClient from docker.constants import DEFAULT_DOCKER_API_VERSION from requests.packages import urllib3 +from unittest import mock from . import fake_api -try: - from unittest import mock -except ImportError: - from unittest import mock - DEFAULT_TIMEOUT_SECONDS = docker.constants.DEFAULT_TIMEOUT_SECONDS diff --git a/tests/unit/auth_test.py b/tests/unit/auth_test.py index 8bd2e16..ea953af 100644 --- a/tests/unit/auth_test.py +++ b/tests/unit/auth_test.py @@ -8,14 +8,9 @@ import tempfile import unittest from docker import auth, credentials, errors +from unittest import mock import pytest -try: - from unittest import mock -except ImportError: - from unittest import mock - - class RegressionTest(unittest.TestCase): def test_803_urlsafe_encode(self): auth_data = { diff --git a/tests/unit/client_test.py b/tests/unit/client_test.py index d647d3a..e7c7eec 100644 --- a/tests/unit/client_test.py +++ b/tests/unit/client_test.py @@ -9,14 +9,10 @@ from docker.constants import ( DEFAULT_MAX_POOL_SIZE, IS_WINDOWS_PLATFORM ) from docker.utils import kwargs_from_env +from unittest import mock from . import fake_api -try: - from unittest import mock -except ImportError: - from unittest import mock - TEST_CERT_DIR = os.path.join(os.path.dirname(__file__), 'testdata/certs') POOL_SIZE = 20 diff --git a/tests/unit/dockertypes_test.py b/tests/unit/dockertypes_test.py index a0a171b..76a99a6 100644 --- a/tests/unit/dockertypes_test.py +++ b/tests/unit/dockertypes_test.py @@ -9,11 +9,7 @@ from docker.types import ( IPAMPool, LogConfig, Mount, ServiceMode, Ulimit, ) from docker.types.services import convert_service_ports - -try: - from unittest import mock -except: # noqa: E722 - from unittest import mock +from unittest import mock def create_host_config(*args, **kwargs): diff --git a/tests/unit/fake_api_client.py b/tests/unit/fake_api_client.py index 1663ef1..95cf63b 100644 --- a/tests/unit/fake_api_client.py +++ b/tests/unit/fake_api_client.py @@ -2,13 +2,9 @@ import copy import docker from docker.constants import DEFAULT_DOCKER_API_VERSION +from unittest import mock from . import fake_api -try: - from unittest import mock -except ImportError: - from unittest import mock - class CopyReturnMagicMock(mock.MagicMock): """ diff --git a/tests/unit/utils_config_test.py b/tests/unit/utils_config_test.py index 83e04a1..27d5a7c 100644 --- a/tests/unit/utils_config_test.py +++ b/tests/unit/utils_config_test.py @@ -5,14 +5,10 @@ import tempfile import json from pytest import mark, fixture +from unittest import mock from docker.utils import config -try: - from unittest import mock -except ImportError: - from unittest import mock - class FindConfigFileTest(unittest.TestCase): -- cgit v1.2.1