commit 62c4d53feaeedee6b1c471228921498f676756d58c25fa9164ffeff3435c90b9 Author: Adrian Schröter Date: Fri Feb 7 18:36:50 2025 +0100 Sync from SUSE:SLFO:Main python-docker revision bfb370e1f21201731aa028e8353da5cd diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..9b03811 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,23 @@ +## Default LFS +*.7z filter=lfs diff=lfs merge=lfs -text +*.bsp filter=lfs diff=lfs merge=lfs -text +*.bz2 filter=lfs diff=lfs merge=lfs -text +*.gem filter=lfs diff=lfs merge=lfs -text +*.gz filter=lfs diff=lfs merge=lfs -text +*.jar filter=lfs diff=lfs merge=lfs -text +*.lz filter=lfs diff=lfs merge=lfs -text +*.lzma filter=lfs diff=lfs merge=lfs -text +*.obscpio filter=lfs diff=lfs merge=lfs -text +*.oxt filter=lfs diff=lfs merge=lfs -text +*.pdf filter=lfs diff=lfs merge=lfs -text +*.png filter=lfs diff=lfs merge=lfs -text +*.rpm filter=lfs diff=lfs merge=lfs -text +*.tbz filter=lfs diff=lfs merge=lfs -text +*.tbz2 filter=lfs diff=lfs merge=lfs -text +*.tgz filter=lfs diff=lfs merge=lfs -text +*.ttf filter=lfs diff=lfs merge=lfs -text +*.txz filter=lfs diff=lfs merge=lfs -text +*.whl filter=lfs diff=lfs merge=lfs -text +*.xz filter=lfs diff=lfs merge=lfs -text +*.zip filter=lfs diff=lfs merge=lfs -text +*.zst filter=lfs diff=lfs merge=lfs -text diff --git a/docker-7.1.0.tar.gz b/docker-7.1.0.tar.gz new file mode 100644 index 0000000..f130556 --- /dev/null +++ b/docker-7.1.0.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:88d2b4271ded68be2abc7db35ceed342ef81804a58c8f4f32fa34f7fdef5f662 +size 253282 diff --git a/python-docker.changes b/python-docker.changes new file mode 100644 index 0000000..cf69e6d --- /dev/null +++ b/python-docker.changes @@ -0,0 +1,1171 @@ +------------------------------------------------------------------- +Fri Aug 23 08:13:32 UTC 2024 - Nico Krapp + +- Update to 7.1.0 + * Bumped minimum engine API version to 1.24 + * Bumped default engine API version to 1.44 (Moby 25.0) + * Fixed issue with lang parsing when the registry address + includes ports taht resulted in `invalid tag format` errors + * Fixed issue preventing creating new configs (ConfigCollection), + which failed with a KeyError due to the name field + * Fixed an issue due to an update in the requests package breaking + docker-py by applying the suggested fix + * Documentation improvements + * Updated Ruff (linter) and fixed minor linting issues + * Started using hatch for packaging + * Stopped checking for deprecated container and image related + fields (Container and ContainerConfig) + * Updated tests that check NetworkSettings.Networks..Aliases + due to engine changes +- change source url as release tarball doesn't include tests anymore +- drop patches which are now included upstream + * removed 2a059a9f19c7b37c6c71c233754c6845e325d1ec.patch + * removed e33e0a437ecd895158c8cb4322a0cdad79312636.patch + +------------------------------------------------------------------- +Thu May 23 08:58:30 UTC 2024 - Johannes Kastl + +- backport patches to fix errors with requests 2.32.x: + * 2a059a9f19c7b37c6c71c233754c6845e325d1ec.patch + * e33e0a437ecd895158c8cb4322a0cdad79312636.patch + +------------------------------------------------------------------- +Wed Dec 27 09:30:58 UTC 2023 - Dirk Müller + +- update to 7.0.0: + * Removed SSL version (`ssl_version`) and explicit hostname + check (`assert_hostname`) options (#3185) + * Python 3.7+ supports TLSv1.3 by default + * Websocket support is no longer included by default (#3123) + * Use `pip install docker[websockets]` to include `websocket- + client` dependency + * By default, `docker-py` hijacks the TCP connection and does + not use Websockets + * Websocket client is only required to use + `attach_socket(container, ws=True)` + * Python 3.7 no longer supported (reached end-of-life June + 2023) (#3187) + * Python 3.12 support (#3185) + * Full `networking_config` support for `containers.create()` + * Replaces `network_driver_opt` (added in 6.1.0) + * Add `health()` property to container that returns status + (e.g. `unhealthy`) + * Add `pause` option to `container.commit()` (#3159) + * Add support for bind mount propagation (e.g. `rshared`, + `private`) + * Add support for `filters`, `keep_storage`, and `all` in + `prune_builds()` on API v1.39+ (#3192) + * Consistently return `docker.errors.NotFound` on 404 responses + * Validate tag format before push (#3191) + +------------------------------------------------------------------- +Fri Jun 23 13:38:27 UTC 2023 - Johannes Kastl + +- update to 6.1.3: + * Bugfixes + - Fix eventlet compatibility (#3132) +- update to 6.1.2: + * Bugfixes + - Fix for socket timeouts on long docker exec calls (#3125) + - Respect timeout param on Windows (#3112) +- update to 6.1.1: + * Upgrade Notes (6.1.x) + - Errors are no longer returned during client initialization if + the credential helper cannot be found. A warning will be + emitted instead, and an error is returned if the credential + helper is used. + * Bugfixes + - Fix containers.stats() hanging with stream=True + - Correct return type in docs for containers.diff() method +- update to 6.1.0: + * Upgrade Notes + - Errors are no longer returned during client initialization if + the credential helper cannot be found. A warning will be + emitted instead, and an error is returned if the credential + helper is used. + * Features + - Python 3.11 support + - Use poll() instead of select() on non-Windows platforms + - New API fields + - network_driver_opt on container run / create + - one-shot on container stats + - status on services list + * Bugfixes + - Support for requests 2.29.0+ and urllib3 2.x + - Do not strip characters from volume names + - Fix connection leak on container.exec_* operations + - Fix errors closing named pipes on Windows +- update to 6.0.1: + * Notice + This version is not compatible with requests 2.29+ or urllib3 + 2.x. + Either add requests < 2.29 and urllib3 < 2 to your requirements + or upgrade to to the latest docker-py release. + * Bugfixes + - Fix for The pipe has been ended errors on Windows (#3056) + - Support floats for timestamps in Docker logs (since / until) + (#3031) +- update to 6.0.0: + * Upgrade Notes + - Minimum supported Python version is 3.7+ + - When installing with pip, the docker[tls] extra is deprecated + and a no-op, use docker for same functionality (TLS support + is always available now) + - Native Python SSH client (used by default / + use_ssh_client=False) will now + - reject unknown host keys with + paramiko.ssh_exception.SSHException + - Short IDs are now 12 characters instead of 10 characters + (same as Docker CLI) + - Version metadata is now exposed as __version__ + * Features + - Python 3.10 support + - Automatically negotiate most secure TLS version + - Add platform (e.g. linux/amd64, darwin/arm64) to container + create & run + - Add support for GlobalJob and ReplicatedJobs for Swarm + - Add remove() method on Image + - Add force param to disable() on Plugin + * Bugfixes + - Fix install issues on Windows related to pywin32 + - Do not accept unknown SSH host keys in native Python SSH mode + - Use 12 character short IDs for consistency with Docker CLI + - Ignore trailing whitespace in .dockerignore files + - Fix IPv6 host parsing when explicit port specified + - Fix ProxyCommand option for SSH connections + - Do not spawn extra subshell when launching external SSH + client + - Improve exception semantics to preserve context + - Documentation improvements (formatting, examples, typos, + missing params) + * Miscellaneous + - Upgrade dependencies in requirements.txt to latest versions + - Remove extraneous transitive dependencies + - Eliminate usages of deprecated functions/methods + - Test suite reliability improvements + - GitHub Actions workflows for linting, unit tests, integration + tests, and publishing releases + +------------------------------------------------------------------- +Tue May 9 11:20:16 UTC 2023 - Johannes Kastl + +- add sle15_python_module_pythons + +------------------------------------------------------------------- +Wed Oct 12 06:39:38 UTC 2022 - pgajdos@suse.com + +- python-six is not required as well + +------------------------------------------------------------------- +Thu Mar 17 15:22:38 UTC 2022 - pgajdos@suse.com + +- python-mock actually not required for build + +------------------------------------------------------------------- +Sat Dec 11 22:12:28 UTC 2021 - Dirk Müller + +- update to 5.0.3: + * Add cap_add and cap_drop parameters to service create and ContainerSpec + * Add templating parameter to config create + * Bump urllib3 to 1.26.5 + * Bump requests to 2.26.0 + * Remove support for Python 2.7 + * Make Python 3.6 the minimum version supported + +------------------------------------------------------------------- +Mon Mar 8 18:07:25 UTC 2021 - Chris Coutinho + +- Update to 4.4.4 + +From project changelog: + 4.4.4 + Bugfixes + Remove LD_LIBRARY_PATH and SSL_CERT_FILE environment variables when shelling out to the ssh client + 4.4.3 + Features + Add support for docker.types.Placement.MaxReplicas + Bugfixes + Fix SSH port parsing when shelling out to the ssh client + 4.4.2 + Bugfixes + Fix SSH connection bug where the hostname was incorrectly trimmed and the error was hidden + Fix docs example + Miscellaneous + Add Python3.8 and 3.9 in setup.py classifier list + 4.4.1 + Bugfixes + Avoid setting unsuported parameter for subprocess.Popen on Windows + Replace use of deprecated "filter" argument on ""docker/api/image" + + +------------------------------------------------------------------- +Sun Dec 20 09:56:10 UTC 2020 - Dirk Müller + +- update to 4.4.0: + - Add an alternative SSH connection to the paramiko one, based on shelling out to the SSh client. Similar to the behaviour of Docker cli + - Default image tag to `latest` on `pull` + - Fix plugin model upgrade + - Fix examples URL in ulimits + - Improve exception messages for server and client errors + - Bump cryptography from 2.3 to 3.2 + - Set default API version to `auto` + - Fix conversion to bytes for `float` + - Support OpenSSH `identityfile` option + - Add `DeviceRequest` type to expose host resources such as GPUs + - Add support for `DriverOpts` in EndpointConfig + - Disable compression by default when using container.get_archive method + - Update default API version to v1.39 + - Update test engine version to 19.03.12 + +------------------------------------------------------------------- +Fri Jul 10 12:15:50 UTC 2020 - Dirk Mueller + +- update to 4.2.2: + - Fix context load for non-docker endpoints + +------------------------------------------------------------------- +Mon Jun 8 13:35:57 UTC 2020 - Dirk Mueller + +- update to 4.2.1: + - Add option on when to use `tls` on Context constructor + - Make context orchestrator field optional + +------------------------------------------------------------------- +Sun Feb 9 16:47:09 UTC 2020 - Arun Persaud + +- specfile: + * update copyright year + +- update to version 4.2.0: + * Bugfixes + + Fix win32pipe.WaitNamedPipe throw exception in Windows + containers + + Use Hostname, Username, Port and ProxyCommand settings from + .ssh/config when on SSH + + Set host key policy for ssh transport to + paramiko.WarningPolicy() + + Set logging level of paramiko to warn + * Features + + Add support for docker contexts through docker.ContextAPI + +------------------------------------------------------------------- +Sun Nov 24 17:15:38 UTC 2019 - Arun Persaud + +- specfile: + * updated pytest requirement + +- update to version 4.1.0: + * Bugfixes + + Correct INDEX_URL logic in build.py _set_auth_headers + + Fix for empty auth keys in config.json + * Features + + Add NetworkAttachmentConfig for service create/update + * Miscellaneous + + Bump pytest to 4.3.1 + + Adjust --platform tests for changes in docker engine + + Update credentials-helpers to v0.6.3 + +------------------------------------------------------------------- +Sun Jul 28 16:15:10 UTC 2019 - Arun Persaud + +- update to version 4.0.2: + * Bugfixes + + Unified the way HealthCheck is created/configured + * Miscellaneous + + Bumped version of websocket-client + +- changes from version 4.0.1: + * Bugfixes + + Fixed an obsolete import in the credentials subpackage that + caused import errors in Python 3.7 + * Miscellaneous + + Docs building has been repaired + +- changes from version 4.0.0: + * Breaking changes + + Support for Python 3.3 and Python 3.4 has been dropped + + APIClient.update_service, APIClient.init_swarm, and + DockerClient.swarm.init now return a dict from the API's + response body + + In APIClient.build and DockerClient.images.build, the + use_config_proxy parameter now defaults to True + + init_path is no longer a valid parameter for HostConfig + * Features + + It is now possible to provide SCTP ports for port mappings + + ContainerSpecs now support the init parameter + + DockerClient.swarm.init and APIClient.init_swarm now support the + data_path_addr parameter + + APIClient.update_swarm and DockerClient.swarm.update now support + the rotate_manager_unlock_key parameter + + APIClient.update_service returns the API's response body as a + dict + + APIClient.init_swarm, and DockerClient.swarm.init now return the + API's response body as a dict + * Bugfixes + + Fixed PlacementPreference instances to produce a valid API type + + Fixed a bug where not setting a value for buildargs in build + could cause the library to attempt accessing attributes of a + None value + + Fixed a bug where setting the volume_driver parameter in + DockerClient.containers.create would result in an error + + APIClient.inspect_distribution now correctly sets the + authentication headers on the request, allowing it to be used + with private repositories This change also applies to + DockerClient.get_registry_data + +------------------------------------------------------------------- +Mon Apr 1 13:24:35 UTC 2019 - Tomáš Chvátal + +- Update to 3.7.2: + * Fix base_url to keep TCP protocol on utils.py by letting the responsability of changing the + protocol to parse_host afterwards, letting base_url with the original value. + * XFAIL test_attach_stream_and_cancel on TLS + +------------------------------------------------------------------- +Tue Mar 26 13:36:58 UTC 2019 - Tomáš Chvátal + +- Update to 3.7.1: + * Set a different default number (which is now 9) for SSH pools + * Adds a BaseHTTPAdapter with a close method to ensure that the pools is clean on close() + * Makes SSHHTTPAdapter reopen a closed connection when needed like the others + +------------------------------------------------------------------- +Thu Mar 7 16:40:17 UTC 2019 - John Vandenberg + +- Remove no longer necessary pytest argument -k 'not MatchHostnameTest' + +------------------------------------------------------------------- +Tue Jan 15 09:29:02 UTC 2019 - Michal Vyskocil + +- Bump required version of pycreds to 0.4.0 (sync with requirements.txt) + +------------------------------------------------------------------- +Mon Jan 14 12:22:01 UTC 2019 - Michal Vyskocil + +- update to 3.7.0 (mandatory for latest docker-compose) + * Added support for multiplexed streams (for `attach` and `exec_start`). Learn + more at https://docker-py.readthedocs.io/en/stable/user_guides/multiplex.html + * Added the `use_config_proxy` parameter to the following methods: + `APIClient.build`, `APIClient.create_container`, `DockerClient.images.build` + and `DockerClient.containers.run` (`False` by default). **This parameter** + **will become `True` by default in the 4.0.0 release.** + * Placement preferences for Swarm services are better validated on the client + and documentation has been updated accordingly + * see https://github.com/docker/docker-py/releases/tag/3.7.0 + https://github.com/docker/docker-py/releases/tag/3.6.0 for more + info + +------------------------------------------------------------------- +Wed Nov 14 11:57:19 UTC 2018 - Tomáš Chvátal + +- Fix the fdupes call to match up reality + +------------------------------------------------------------------- +Sat Oct 20 15:33:00 UTC 2018 - Arun Persaud + +- update to version 3.5.1: + * Bumped version of pyOpenSSL in requirements.txt and setup.py to + prevent installation of a vulnerable version + * Docs fixes + +------------------------------------------------------------------- +Wed Aug 29 11:13:49 UTC 2018 - tchvatal@suse.com + +- Fix build on older releases by not using new pytest syntax + for test selection + +------------------------------------------------------------------- +Sat Aug 11 16:13:17 UTC 2018 - arun@gmx.de + +- specfile: + * updated requirement python-docker-pycreds to 0.3.0 + +- update to version 3.5.0: + * Deprecation warning + + Support for Python 3.3 will be dropped in the 4.0.0 release + * Features + + Updated dependencies to ensure support for Python 3.7 + environments + + Added support for the uts_mode parameter in HostConfig + + The UpdateConfig constructor now allows rollback as a valid + value for failure_action + + Added support for rollback_config in APIClient.create_service, + APIClient.update_service, DockerClient.services.create and + Service.update. + * Bugfixes + + Credential helpers are now properly leveraged by the build + method + + Fixed a bug that caused placement preferences to be ignored when + provided to DockerClient.services.create + + Fixed a bug that caused a user value of 0 to be ignored in + APIClient.create_container and DockerClient.containers.create + +------------------------------------------------------------------- +Mon Jul 9 20:28:16 UTC 2018 - dmueller@suse.com + +- fix build for older python 3.x versions + +------------------------------------------------------------------- +Sun Jul 1 17:44:06 UTC 2018 - arun@gmx.de + +- update to version 3.4.1: + * Bugfixes + + Fixed a bug that caused auth values in config files written + using one of the legacy formats to be ignored + + Fixed issues with handling of double-wildcard ** patterns in + .dockerignore files + +------------------------------------------------------------------- +Sun Jun 24 15:36:12 UTC 2018 - arun@gmx.de + +- update to version 3.4.0: + * Features + + The APIClient and DockerClient constructors now accept a + credstore_env parameter. When set, values in this dictionary are + added to the environment when executing the credential store + process. + * Bugfixes + + DockerClient.networks.prune now properly returns the operation's + result + + Fixed a bug that caused custom Dockerfile paths in a subfolder + of the build context to be invalidated, preventing these builds + from working + + The plugin_privileges method can now be called for plugins + requiring authentication to access + + Fixed a bug that caused attempts to read a data stream over an + unsecured TCP socket to crash on Windows clients + + Fixed a bug where using the read_only parameter when creating a + service using the DockerClient was being ignored + + Fixed an issue where Service.scale would not properly update the + service's mode, causing the operation to fail silently + +------------------------------------------------------------------- +Wed May 2 09:17:51 UTC 2018 - tchvatal@suse.com + +- Version update to 3.3.0: + * Support for API version < 1.21 has been removed. + * A number of methods have been removed, renamed, and new ones be + added. See https://github.com/docker/docker-py/releases + for details. +- Make sure to run tests and properly name all the requirements + +------------------------------------------------------------------- +Thu Nov 9 05:40:37 UTC 2017 - arun@gmx.de + +- update to version 2.6.1: + * Bugfixes + + Fixed a bug on Python 3 installations preventing the use of the + attach and exec_run methods. + +- changes from version 2.6.0: + * Features + + Added support for mounts in APIClient.create_host_config and + DockerClient.containers.run + + Added support for consistency, tmpfs_size and tmpfs_mode when + creating mount objects. + + Mount objects now support the tmpfs and npipe types. + + Added support for extra_hosts in the build methods. + + Added support for the configs API: + o In APIClient: create_config, inspect_config, remove_config, + configs + o In DockerClient: configs.create, configs.get, configs.list + and the Config model. + o Added configs parameter to ContainerSpec. Each item in the + configs list must be a docker.types.ConfigReference instance. + + Added support for the following parameters when creating a + ContainerSpec object: groups, open_stdin, read_only, + stop_signal, helathcheck, hosts, ns_config, configs, privileges. + + Added the following configuration classes to docker.types: + ConfigReference, DNSConfig, Privileges, SwarmExternalCA. + + Added support for driver in APIClient.create_secret and + DockerClient.secrets.create. + + Added support for scope in APIClient.inspect_network and + APIClient.create_network, and their DockerClient equivalent. + + Added support for the following parameters to create_swarm_spec: + external_cas, labels, signing_ca_cert, signing_ca_key, + ca_force_rotate, autolock_managers, log_driver. These additions + also apply to DockerClient.swarm.init. + + Added support for insert_defaults in APIClient.inspect_service + and DockerClient.services.get. + * Bugfixes + + Fixed a bug where reading a 0-length frame in log streams would + incorrectly interrupt streaming. + + Fixed a bug where the id member on Swarm objects wasn't being + populated. + + Fixed a bug that would cause some data at the beginning of an + upgraded connection stream (attach, exec_run) to disappear. + +------------------------------------------------------------------- +Wed Oct 4 15:49:03 UTC 2017 - arun@gmx.de + +- specfile: + * added obsoletes %oldpython + +- update to version 2.5.1: + * Bugfixes + + Fixed a bug where patterns ending with ** in .dockerignore would + raise an exception + + Fixed a bug where using attach with the stream argument set to + False would raise an exception + +- changes from version 2.5.0: + * Features + + Added support for the squash parameter in APIClient.build and + DockerClient.images.build. + + When using API version 1.23 or above, load_image will now return + a generator of progress as JSON dicts. + + remove_image now returns the content of the API's response. + * Bugfixes + + Fixed an issue where the auto_remove parameter in + DockerClient.containers.run was not taken into account. + + Fixed a bug where .dockerignore patterns starting with a slash + were ignored. + + Fixed an issue with the handling of ** patterns in .dockerignore + + Fixed a bug where building FROM a private Docker Hub image when + not using a cred store would fail. + + Fixed a bug where calling create_service or update_service with + task_template as a dict would raise an exception. + + Fixed the handling of TTY-enabled containers in attach and + exec_run. + + DockerClient.containers.run will no longer attempt to stream + logs if the log driver doesn't support the operation. + * Miscellaneous + + Added extra requirements for better TLS support on some + platforms. These can be installed or required through the + docker[tls] notation. + +------------------------------------------------------------------- +Fri Sep 29 12:24:51 UTC 2017 - tbechtold@suse.com + +- update to 2.4.2: + * Add 'verbose' option for network inspect api + * Fix misleading build method docs + * Add support for ContainerSpec.TTY + * Standardize handling of verbose param in inspect_network + * Fix volume path passed by run to create_container + * Only pull the 'latest' tag when testing images + * Fix test cases for ``runtime`` config + * Update image create error parsing + * Improve robustness of remove_network integration test + * Bump 2.2.0, update changelog + * fix: Missing exception handling in split_port when no container port + * Replace erroneous networks argument in containers.run with singular + * Fix passing volumes to run with no host path + * Update check_resource decorator to account for new resource names + * Include tag in images.get after pulling if provided separately + * Fix APIError status_code property for client/server errors + * Ensure default timeout is used by API Client + * Add prune_containers method + * Add xfail mark to storageopt test + * APIClient implementation of plugin methods + * Add support for max_failure_ratio and monitor in UpdateConfig + * Add appveyor.yml config + * excludes requests 2.18.0 from compatible versions + * Add prune_volumes method + * fix #1625 where ImageCollection.build() could return early with incorrect + image_id depending on docer build output + * Ignore socket files in utils.tar + * Add `target` argument to image building + * Sorts model attributes in api docs alphabetically + * Rewrite the split_port function using re + * Add stop_timeout to create_container + * Move reload_config func into the APIClient + * Fix ImageNotFound detection + * Update dockerVersions + * Add missing support for `CpusetMems` parameter to HostConfig. + * Implement cachefrom + * Fix typo s/CpuSetCpus/CpusetCpus/ + * Add upgrade_plugin method + * Handle multiple success messages during image building. + * Add support for start_period in Healthcheck spec + * Bump 2.0.2 + * removed duplicate mem_limit arg desc; type now consistent accross + models (float->int) + * added integration test for #1625 for ImageCollection.build() that verfies + that the build method uses the last success message for extracting the image id + * Allow events daemon command to read config.json + * update docker-py test status code from 500 to 400 + * Adds a 'labels' property to the container model + * Add support for recursive wildcard pattern in .dockerignore + * Add missing secrets doc + * init_path removed in Engine 17.05 + * Add prune_images method + * Set infinite timeout for the `events` method + * check NoneType before using + * 2.3.0-dev + * Add attributes for pickling + * Allow configuring API version for integration test with env var + * Correct the description of dns_opt option of create_container + * Add support for ingress in create_network + * DockerClient.secrets should be a @property + * Adds a 'labels' property to the image model + * Raise an error when passing an empty string to split_port + * fix can't get a dict when Containers is None + * new integration task linting for #1625 + * Adds an 'image' property to the container model + * Add service_logs command to APIClient and logs command to models.Service + * Fixed events command related unit tests by passing a timeout value + * Compose 1.14.0 hack + * Add service_logs integration test + * Network model functions 'connect' and 'disconnect' did not accept or + passthrough keyword arguments. + * Modernize exec_api.py + * Fix docstring of ImageCollection.get + * removed unused/typoed param from models.containers.list docstring + * Bump version 2.1.0 + * Plugins API documentation + * Move default `timeout` into `from_env` + * Fix _post_json behavior + * Add prune_networks method + * Allow port range like 8000-8010:80 + * Bump 2.3.0 + * Reference new methods in docs + * Use experimental engine for testing in Jenkins/Makefile + * update swarm remove test status code from 500 to >= 400 + * Bump dev version + * Update services.py + * Add support for volume_driver in HostConfig + * Add support for auto_remove in HostConfig + * Add 'force' parameter in remove_volume + * passing flake8 test + * Add a reload_config function to the DaemonApiMixin + * Closes #1588, image.tag does not return anything + * Add df method + * Convert mode argument to valid structure in create_service + * Fix test issues + * Add cpu_count, cpu_percent, cpus parameters to container HostConfig. + * Add cachefrom to build docstring + * Improve build result detection + * Documentation fixes for login func + * Add integration tests + * Add ContainerSpec mounts test + * Add create_plugin implementation + * Remove integration test for APIClient.search method + * Make sure data is written in prune test so space can be reclaimed + * Add ability to set 'Hostname' on a Service. + * fix type checking for nano_cpus + * Remove duplicate line in exec_run documentation + * Optional name on VolumeCollection.create + * Raising error in case of invalid value of since kwarg on Container.logs + * Add support for force_update in TaskTemplate + * Change "Remote API" to "Engine API" + * Better error handling, itterate on json stream directly. + * Add support for storage_opt in host_config + * Add a specific unit test for splitting port with IPv6 + * Add support for secrets in ContainerSpec + * Add init parameter to container HostConfig + * dev version + * exec: add support for `Env` + * Update mentions of the default API version in docs + * Remove unsupported --experimental flag from Jenkinsfile + * Add License to PyPi metadata + * documentation change + * Support credHelpers section in config.json + * Add plugin API implementation to DockerClient + * Flake8: Fix indent. + * Implement secrets API + * Fix Swarm model init to correctly pass arguments through to init_swarm + * Move LinksTest to appropriate file + * Docstring fixes for init and init_path + * Fix the way the list of mounts is made for service. + * docs renames: cpu_group->cpu_period, cpu_period->cpu_quota + * Adjust tests and add newest engine version to Jenkinsfile + * split_port should not break when passed a non-string argument + * Add network_mode support to Client.build + * Add init_path parameter to container HostConfig + * Add support for placement preferences and platforms in TaskTemplate + * Makes docs builds faster and ensures proper ownership + * Add support for ``runtime`` in container create and run API + * Fix milestone link + * Add Plugin.upgrade to documentation + * Rename cachefrom -> cache_from + * Formatting + * Add 17.04 (CE) RC1 to list of engine versions to be tested + * Fix if replicas is set to 0, Fixes #1572 + * cpus renamed to nano_cpus. Type and scale of nano_cpus are changed. + Comments for new parameters are changed. + * Bump test engine version + * Minor typo correction + * Update assert in test_create_with_restart_policy + * Add reload() in docs for Container and Secret classes + * Add tests for secret API implementation + * Bump default API version to 1.26 +- python-docker-py got renamed to python-docker. + +------------------------------------------------------------------- +Thu Aug 3 16:53:55 UTC 2017 - toddrme2178@gmail.com + +- Implement singlespec version +- Fix source URL +- Merge tests into main package. +- Remove hide_py_pckgmgmt.patch + Tests aren't being implemented that way + +------------------------------------------------------------------- +Thu Jun 8 07:36:21 UTC 2017 - dmueller@suse.com + +- remove lint style dependencies from the unit test subpackage + +------------------------------------------------------------------- +Wed Feb 8 11:41:27 UTC 2017 - kkaempf@suse.com + +- Update to version 1.10.6 + Bugfixes + Fixed an issue where setting a NpipeSocket instance to blocking mode would put it in non-blocking mode and vice-versa. + +- Update to version 1.10.5 + Bugfixes + Fixed an issue where concurrent attempts to access to a named pipe by the client would sometimes cause recoverable exceptions to be raised. + +------------------------------------------------------------------- +Wed Oct 26 15:45:31 UTC 2016 - jmassaguerpla@suse.com + +- add python-dockerpycreds dependency in the spec file + rebase hide_py_pckgmgmt.patch + add fix-requirements.patch: fix dependencies so that they match the + ones we have packaged + +------------------------------------------------------------------- +Mon Oct 24 15:03:05 UTC 2016 - jmassaguerpla@suse.com + +- Update to version 1.10.4 + Bugfixes + Fixed an issue where RestartPolicy.condition_types.ON_FAILURE would yield an invalid value. + Fixed an issue where the SSL connection adapter would receive an invalid argument. + Fixed an issue that caused the Client to fail to reach API endpoints when the provided base_url had a trailing slash. + Fixed a bug where some environment values in create_container containing unicode characters would raise an encoding error. + Fixed a number of issues tied with named pipe transport on Windows. + Fixed a bug where inclusion patterns in .dockerignore would cause some excluded files to appear in the build context on Windows. + + Miscellaneous + Adjusted version requirements for the requests library. + It is now possible to run the docker-py test suite on Windows. + +- Update to 1.10.3 + Bugfixes + Fixed an issue where identity tokens in configuration files weren't handled by the library. + Miscellaneous + Increased the default number of connection pools from 10 to 25. This number can now be configured using the num_pools parameter in the Client constructor. + +- Update to 1.10.2 + Bugfixes + Updated the docker-pycreds dependency as it was causing issues for some users with dependency resolution in applications using docker-py. + +- Update to 1.10.1 + Bugfixes + The docker.utils.types module was removed in favor of docker.types, but some applications imported it explicitly. It has been re-added with an import warning advising to use the new module path. + +- Update to 1.10.0 + Features + Added swarm mode and service management methods. See the documentation for details. + Added support for IPv6 Docker host addresses in the Client constructor. + Added (read-only) support for the Docker credentials store. + Added support for custom auth_config in Client.push. + Added support for labels in Client.create_volume. + Added support for labels and enable_ipv6 in Client.create_network. + Added support for force param in Client.disconnect_container_from_network. + Added support for pids_limit, sysctls, userns_mode, cpuset_cpus, cpu_shares, mem_reservation and kernel_memory parameters in Client.create_host_config. + Added support for link_local_ips in create_endpoint_config. + Added support for a changes parameter in Client.import_image. + Added support for a version parameter in Client.from_env. + + Bugfixes + Fixed a bug where Client.build would crash if the config.json file contained a HttpHeaders entry. + Fixed a bug where passing decode=True in some streaming methods would crash when the daemon's response had an unexpected format. + Fixed a bug where environment values with unicode characters weren't handled properly in create_container. + Fixed a bug where using the npipe protocol would sometimes break with ValueError: buffer size must be strictly positive. + + Miscellaneous + Fixed an issue where URL-quoting in docker-py was inconsistent with the quoting done by the Docker CLI client. + The client now sends TCP upgrade headers to hint potential proxies about connection hijacking. + The client now defaults to using the npipe protocol on Windows. + +- Update to 1.9.0 + Features + Added experimental support for Windows named pipes (npipe:// protocol). + Added support for Block IO constraints in Client.create_host_config. This includes parameters blkio_weight, blkio_weight_device, device_read_bps, device_write_bps, device_read_iops and device_write_iops. + Added support for the internal param in Client.create_network. + Added support for ipv4_address and ipv6_address in utils function create_endpoint_config. + Added support for custom user agent setting in the Client constructor. By default, docker-py now also declares itself in the User-Agent header. + + Bugfixes + Fixed an issue where the HTTP timeout on streaming responses would sometimes be set incorrectly. + Fixed an issue where explicit relative paths in .dockerignore files were not being recognized. + +------------------------------------------------------------------- +Tue Sep 27 07:04:59 UTC 2016 - tbechtold@suse.com + +- Remove useless python-flake8 and python-coverage BuildRequires. + +------------------------------------------------------------------- +Wed Jul 27 07:49:12 UTC 2016 - jmassaguerpla@suse.com + +- Update runtime requirements according to requirements.txt + +------------------------------------------------------------------- +Mon Jul 25 08:47:05 UTC 2016 - tboerger@suse.com + +- Updated runtime and test deps matching setup.py and test-requirements.txt +- update to 1.8.1: + * Fixed a bug where calling login() against the default registry would fail + with the 1.10.x engine + * Fixed a bug where values in environment files would be parsed incorrectly if + they contained an equal sign. + * Switched to a better supported backport of the match_hostname function, + fixing dependency issues in some environments. +- update to 1.8.0: + * Added Client.update_container method (Update resource configs of a + container) + * Added support for gzipped context in Client.build + * Added ability to specify IP address when connecting a container to a network + * Added tmpfs support to Client.create_host_config + * Added support for the changes param in Client.commit + * Added support for the follow param in Client.logs + * Added support for the check_duplicate param in Client.create_network + * Added support for the decode param in Client.push and Client.pull + * Added docker.from_env shortcut function. Instantiates a client with + kwargs_from_env + * kwargs_from_env now supports an optional environment parameter. If present, + values will be fetched from this dictionary instead of os.environ + * Fixed a bug where TLS verification would fail when using IP addresses in the + certificate's subjectAltName fields + * Fixed an issue where the default TLS version in TLSConfig would break in + some environments. docker-py now uses TLSv1 by default This setting can be + overridden using the ssl_version param in kwargs_from_env or the TLSConfig + constructor + * Fixed a bug where tcp hosts would fail to connect to TLS-enabled endpoints + * Fixed a bug where loading a valid docker configuration file would fail + * Fixed a bug where some environment variables specified through + create_container would be improperly formatted + * Fixed a bug where using the unix socket connection would raise an error in + some edge-case situations + * Default API version is now 1.22 (introduced in Docker 1.10.0) + +------------------------------------------------------------------- +Sun Feb 28 13:42:57 UTC 2016 - dmueller@suse.com + +- update to 1.7.2: + * Added support for the since param in Client.logs (introduced in API version + 1.19) + * Added support for the DOCKER_CONFIG environment variable when looking up + auth config + * Added support for the stream param in Client.stats (when set to False, + allows user to retrieve a single snapshot instead of a constant data stream) + * Added support for the mem_swappiness, oom_kill_disable params in + Client.create_host_config + * Added support for build arguments in Client.build through the buildargs + param. + * Added support for cusom IPAM configuration in Client.create_network + * Added input support to Client.exec_create + * Added support for stop_signal in Client.create_host_config + * Added support for custom HTTP headers in Docker config file. + * Added support for unspecified transfer protocol in base_url when TLS is + enabled. + * Fixed a bug where TLS verification was improperly executed when providing a + custom CA certificate. + * Added support for shm_size in Client.create_host_config +- drop dockpyTest_pathAdd.patch: tests are disabled anyway + +------------------------------------------------------------------- +Sat Nov 14 11:33:58 UTC 2015 - rjschwei@suse.com + +- Use version 1.5.0 in SLE 12 (bnc#954486,bnc#954690) + + A bit of clean up of the changes file as well, no wrapping comments + +------------------------------------------------------------------- +Wed Oct 21 16:39:35 UTC 2015 - dmueller@suse.com + +- update to 1.5.0: + * Added support for the networking API introduced in Docker 1.9.0 + * Added support for the volumes API introduced in Docker 1.9.0 + * Added support for the group_add parameter in create_host_config. + * Added support for the CPU CFS (cpu_quota and cpu_period) parameteres + in create_host_config. + * Added support for the archive API endpoint (Client.get_archive, + Client.put_archive). + * Added support for ps_args parameter in Client.top. + * Added utils.parse_env_file to support env-files. See docs for usage. + * Added support for arbitrary log drivers + * Added support for URL paths in the docker host URL (base_url) + * Fixed a bug where exec_inspect would allow invocation when the API + version was too low. + * Fixed a bug where docker.utils.ports.split_port would break if an + open range was provided. + * Fixed a bug where invalid image IDs / container IDs could be provided + to bypass or reroute request URLs + +------------------------------------------------------------------- +Fri Aug 14 15:11:18 UTC 2015 - jmassaguerpla@suse.com + +- Get source tarball from pypi.python.org as in previuos versions + and as it is in the spec file + +------------------------------------------------------------------- +Mon Jul 27 11:51:45 UTC 2015 - hvogel@suse.com + +- Update to version 1.3.1. Detailed changelog: + https://github.com/docker/docker-py/blob/master/docs/change_log.md#131 +------------------------------------------------------------------- +Mon May 4 11:22:41 UTC 2015 - benoit.monin@gmx.fr + +- update to version 1.2.1: + * Fixed a bug where the check_resource decorator would break with + some argument-passing methods. (#573) +- additional changes from version 1.2.0: + * Client.execute is being deprecated in favor of the more + dev-friendly Client.exec_start and Client.exec_create. It will + be removed in 1.3.0 + * Added exec_create, exec_start, exec_inspect and exec_resize to + client, accurately mirroring the Exec API + * Added auth_config param to Client.pull (allows to use one-off + credentials for this pull request) + * Added support for ipc_mode in host config. + * Added support for the log_config param in host config. + * Added support for the ulimit param in host config. + * Added support for container resource limits in Client.build. + * When a resource identifier (image or container ID) is passed to + a Client method, we now check for None values to avoid crashing + (now raises docker.errors.NullResource) + * Added tools to parse port ranges inside the new + docker.utils.ports package. + * Added a version_info attribute to the docker package. + * Fixed a bug in Client.port where absence of a certain key in + the container's JSON would raise an error (now just returns + None) + * Fixed a bug with the trunc parameter in Client.containers + having no effect (moved functionality to the client) + * Several improvements have been made to the Client.import_image + method. + * Fixed pushing / pulling to v2 registries + * Fixed a bug where passing a container dictionary to + Client.commit would fail + * Default API version has been bumped to 1.18 (Docker Engine + 1.6.0) + * Several testing coverage improvements + * Docs fixes and improvements +- point the source URL to pypi +- add a dependency between the test sub-package and + python-docker-py + +------------------------------------------------------------------- +Thu Apr 9 13:59:25 UTC 2015 - fcastelli@suse.com + +- Updated to 1.1.0 + * Features + * Added `dockerfile` param support to `Client.build` (mirrors + `docker build -f` behavior) + * Added the ability to specify `'auto'` as `version` in `Client.__init__`, + allowing the constructor to autodetect the daemon's API version. + * Bugfixes + * Fixed a bug where decoding a result stream using the `decode` parameter + would break when using Python 3.x + * Fixed a bug where some files in `.dockerignore` weren't being handled + properly + * Fixed `resolve_authconfig` issues by bringing it closer to Docker Engine's + behavior. This should fix all issues encountered with private registry auth + * Fixed an issue where passwords containing a colon weren't being handled + properly. + * Bumped `requests` version requirement, which should fix most of the SSL + issues encountered recently. + * Miscellaneous + * Several integration test improvements. + * Fixed some unclosed resources in unit tests. + * Several docs improvements. +- Version 1.0.0 + * Features + * Added new `Client.rename` method (`docker rename`) + * Added now `Client.stats` method (`docker stats`) + * Added `read_only` param support to `utils.create_host_config` and + `Client.start` (`docker run --read-only`) + * Added `pid_mode` param support to `utils.create_host_config` and + `Client.start` (`docker run --pid='host'`) + * Added `since`, `until` and `filters` params to `Client.events`. + * Added `decode` parameter to `Client.stats` and `Client.events` to decode + JSON objects on the fly (False by default). +- Bugfixes + * Fixed a bug that caused `Client.build` to crash when the provided source was + a remote source. +- Miscellaneous + * Default API version has been bumped to 1.17 (Docker Engine 1.5.0) + * `Client.timeout` is now a public attribute, and users are encouraged to use it + when request timeouts need to be changed at runtime. + * Added `Client.api_version` as a read-only property. + * The `memswap_limit` argument in `Client.create_container` now accepts string + type values similar to `mem_limit` ('6g', '120000k', etc.) + * Improved documentation +- Version 0.7.2 + * Features + * Added support for `mac_address` in `Client.create_container` + * Bugfixes + * Fixed a bug where streaming responses (`pull`, `push`, `logs`, etc.) were + unreliable (#300) + * Fixed a bug where resolve_authconfig wouldn't properly resolve configuration + for private repositories (#468) + * Fixed a bug where some errors wouldn't be properly constructed in + `client.py`, leading to unhelpful exceptions bubbling up (#466) + * Fixed a bug where `Client.build` would try to close context when externally + provided (`custom_context == True`) (#458) + * Fixed an issue in `create_host_config` where empty sequences wouldn't be + interpreted properly (#462) + * Miscellaneous + * Added `resolve_authconfig` tests. +- Version 0.7.1 + * Bugfixes + * `setup.py` now indicates a maximum version of requests to work around the + boot2docker / `assert_hostname` bug. + * Removed invalid exception when using the Registry Hub's FQDN when pulling. + * Fixed an issue where early HTTP errors weren't handled properly in streaming + responses. + * Fixed a bug where sockets would close unexpectedly using Python 3.x + * Various fixes for integration tests. + * Miscellaneous + * Small doc fixes +- Version 0.7.0 + * Breaking changes + * Passing `dns` or `volumes_from` in `Client.start` with API version < 1.10 + will now raise an exception (previously only triggered a warning) + * Features + * Added support for `host_config` in `Client.create_container` + * Added utility method `docker.utils.create_host_config` to help build a + proper `HostConfig` dictionary. + * Added support for the `pull` parameter in `Client.build` + * Added support for the `forcerm` parameter in `Client.build` + * Added support for `extra_hosts` in `Client.start` + * Added support for a custom `timeout` in `Client.wait` + * Added support for custom `.dockercfg` loading in `Client.login` + (`dockercfg_path` argument) + * Bugfixes + * Fixed a bug where some output wouldn't be streamed properly in streaming + chunked responses + * Fixed a bug where the `devices` param didn't recognize the proper delimiter + * `Client.login` now properly expands the `registry` URL if provided. + * Fixed a bug where unicode characters in passed for `environment` in + `create_container` would break. + * Miscellaneous + * Several unit tests and integration tests improvements. + * `Client` constructor now enforces passing the `version` parameter as a + string. + * Build context files are now ordered by filename when creating the archive + (for consistency with docker mainline behavior) +- Version 0.6.0 + * **This version introduces breaking changes!** + * Breaking changes + * The default SSL protocol is now the highest TLS v1.x (was SSL v2.3 before) + (Poodle fix) + * The `history` command now returns a dict instead of a raw JSON string. + * Features + * Added the `execute` command. + * Added `pause` and `unpause` commands. + * Added support fo the `cpuset` param in `create_container` + * Added support for host devices (`devices` param in `start`) + * Added support for the `tail` param in `logs`. + * Added support for the `filters` param in `images` and `containers` + * The `kwargs_from_env` method is now available in the `docker.utils` + module. This should make it easier for boot2docker user to connect + to their daemon. + * Bugfixes + * Fixed a bug where empty directories weren't correctly included when + providing a context to `Client.build`. + * Fixed a bug where UNIX socket connections weren't properly cleaned up, + causing `ResourceWarning`s to appear in some cases. + * Fixed a bug where docker-py would crash if the docker daemon was stopped + while reading a streaming response + * Fixed a bug with streaming responses in Python 3 + * `remove_image` now supports a dict containing an `Id` key as its `id` + parameter (similar to other methods requiring a resource ID) + * Documentation + * Added new MkDocs documentation. Currently hosted on + [ReadTheDocs](http://docker-py.readthedocs.org/en/latest/) + * Miscellaneous + * Added tests to sdist + * Added a Makefile for running tests in Docker + * Updated Dockerfile + +------------------------------------------------------------------- +Wed Mar 4 16:19:29 UTC 2015 - rjschwei@suse.com + +- Use updated version in SLES 12 in support of bnc#915479 + +------------------------------------------------------------------- +Sun Feb 8 20:48:02 UTC 2015 - rjschwei@suse.com + +- Update to version 0.5.3 - Contains breaking changes + * Fixed attaching when connecting to the daemon over a UNIX socket. + * Fixed a bug where sockets were closed immediately when attaching over + TLS. + * Added a `assert_hostname` option to `TLSConfig` which can be used to + disable verification of hostnames. + * Fixed SSL not working due to an incorrect version comparison + * Fixed streams not working on Windows + * Added `insecure_registry` parameter in `Client.push` and `Client.pull`. + + It defaults to False and code pushing to non-HTTPS private registries + might break as a result.* + * Added support for adding and dropping capabilities + * Added support for restart policy + * Added support for string values in `Client.create_container`'s `mem_limit` + * Added support for `.dockerignore` file in `Client.build` + * Fixed timeout behavior in `Client.stop` + * `Client.create_container` provides better validation of the `volumes` + parameter + * Improved integration tests +- Enable run of some of the tests + * add: dockpyTest_pathAdd.patch +- Create test subpackage + +------------------------------------------------------------------- +Wed Aug 6 15:12:41 UTC 2014 - fcastelli@suse.com + +- Update to version 0.4.0: + * This version introduces breaking changes! + * The base_url parameter in the Client constructor should now allow most of + the DOCKER_HOST environment values (except for the fd:// protocol) + As a result, URLs that don't specify a port are now invalid (similar to + the official client's behavior) + * Added TLS support (see documentation) + * Fixed an issue with Client.build streamed logs in Python 3 + * Added unit tests coverage + * Various integration tests fixes +- Changes introduced by version 0.3.2: + * Default API version is now 1.12 (support for docker 1.0) + * Added new methods Client.get_image and Client.load_image (docker save and + docker load) + * Added new method Client.ping + * Added new method Client.resize + * Client.build can now be provided with a custom context using the + custom_context parameter. + * Added support for memswap_limit parameter in create_container + * Added support for force parameter in remove_container + * Added support for force and noprune parameters in remove_image + * Added support for timestamps parameter in logs + * Added support for dns_search parameter in start + * Added support for network_mode parameter in start + * Added support for size parameter in containers + * Added support for volumes_from and dns parameters in start. + As of API version >= 1.10, these parameters no longer belong to create_container + * Client.logs now uses the logs endpoint when API version is sufficient + * Fixed a bug in pull where the repo:tag notation wasn't interpreted properly + * Fixed a bug in streaming methods with python 3 (unicode, bytes/str related) + * Fixed a bug in Client.start where legacy notation for volumes wasn't supported anymore. + * The client now raises DockerExceptions when appropriate. You can import + DockerException (and its subclasses) from the docker.errors module to + catch them if needed. + * docker.APIError has been moved to the new docker.errors module as well. + * Client.insert is deprecated in API version > 1.11 + * Improved integration tests should now run much faster. + * There is now a single source of truth for the docker-py version number. + +------------------------------------------------------------------- +Mon Jun 16 20:00:37 UTC 2014 - rschweikert@suse.com + +- Clean up spec file + +------------------------------------------------------------------- +Fri Jun 6 11:53:11 UTC 2014 - rschweikert@suse.com + +- Include in SLE 12 (FATE #316168) + +------------------------------------------------------------------- +Thu Jun 5 17:10:44 UTC 2014 - rschweikert@suse.com + +- Initial build + diff --git a/python-docker.spec b/python-docker.spec new file mode 100644 index 0000000..9dde261 --- /dev/null +++ b/python-docker.spec @@ -0,0 +1,77 @@ +# +# spec file for package python-docker +# +# Copyright (c) 2024 SUSE LLC +# +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + +# Please submit bugfixes or comments via https://bugs.opensuse.org/ +# + + +%{?sle15_python_module_pythons} +Name: python-docker +Version: 7.1.0 +Release: 0 +Summary: A Python library for the Docker Engine API +License: Apache-2.0 +URL: https://github.com/docker/docker-py +Source: https://github.com/docker/docker-py/archive/refs/tags/%{version}.tar.gz#/docker-%{version}.tar.gz +BuildRequires: %{python_module hatch_vcs} +BuildRequires: %{python_module hatchling} +BuildRequires: %{python_module pip} +BuildRequires: %{python_module setuptools >= 45} +BuildRequires: %{python_module setuptools_scm >= 6.2} +BuildRequires: %{python_module wheel} +BuildRequires: python-rpm-macros +# SECTION test requirements +BuildRequires: %{python_module packaging >= 14.0} +BuildRequires: %{python_module paramiko >= 2.11.0} +BuildRequires: %{python_module pytest >= 7.1.2} +BuildRequires: %{python_module pytest-timeout >= 2.1.0} +BuildRequires: %{python_module requests >= 2.26.0} +BuildRequires: %{python_module setuptools >= 65.5.1} +BuildRequires: %{python_module urllib3 >= 2.0} +BuildRequires: %{python_module websocket-client >= 0.32.0} +# /SECTION +BuildRequires: fdupes +Requires: python-packaging >= 14.0 +Requires: python-requests >= 2.26.0 +Requires: python-urllib3 >= 1.26.0 +Requires: python-websocket-client >= 0.32.0 +Suggests: python-pywin32 >= 304 +Suggests: python-paramiko >= 2.4.3 +BuildArch: noarch +%python_subpackages + +%description +A Python library for the Docker Engine API. + +%prep +%autosetup -p1 -n docker-py-%{version} + +%build +export SETUPTOOLS_SCM_PRETEND_VERSION=%{version} +%pyproject_wheel + +%install +%pyproject_install +%python_expand %fdupes %{buildroot}%{$python_sitelib} + +%check +%pytest tests/unit + +%files %{python_files} +%doc README.md +%license LICENSE +%{python_sitelib}/docker +%{python_sitelib}/docker-%{version}.dist-info + +%changelog