docker-py

A Python library for the Docker Engine API

APACHE-2.0 License

Downloads
56.4M
Stars
6.7K
Committers
440

Bot releases are visible (Hide)

docker-py - 7.1.0 Latest Release

Published by github-actions[bot] 5 months ago

Upgrade Notes

  • Bumped minimum engine API version to 1.24
  • Bumped default engine API version to 1.44 (Moby 25.0)

Bugfixes

  • Fixed issue with tag parsing when the registry address includes ports that 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

Miscellaneous

  • Documentation improvements
  • Updated Ruff (linter) and fixed minor linting issues
  • Packaging/CI updates
  • Updated tests
    • Stopped checking for deprecated container and image related fields (Container and ContainerConfig)
    • Updated tests that check NetworkSettings.Networks.<network>.Aliases due to engine changes

What's Changed

New Contributors

Full Changelog: https://github.com/docker/docker-py/compare/7.0.0...7.1.0

docker-py - 7.0.0

Published by github-actions[bot] 10 months ago

Upgrade Notes (from 6.x) ⚠️

  • Removed SSL version (ssl_version) and explicit hostname check (assert_hostname) options (#3185)
    • assert_hostname has not been used since Python 3.6 and was removed in 3.12
    • 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)

Features ✨

  • Python 3.12 support (#3185)
  • Full networking_config support for containers.create() (#3121)
    • Replaces network_driver_opt (added in 6.1.0)
  • Add health() property to container that returns status (e.g. unhealthy) (#3147)
  • Add pause option to container.commit() (#3159)
  • Add support for bind mount propagation (e.g. rshared, private) (#3164)
  • Add support for filters, keep_storage, and all in prune_builds() on API v1.39+ (#3192)

Bugfixes 🐛

  • Consistently return docker.errors.NotFound on 404 responses (#3156)
  • Validate tag format before push (#3191)

Miscellaneous 🔧

  • Upgraded urllib3 version in requirements.txt (used for development/tests) (#3183)
  • Documentation typo fixes & formatting improvements (#3130)
  • Fixed integration test compatibility for newer Moby engine versions (#3165, #3166, #3145, #3169, #3170)
  • Switch to ruff for linting (#3126)

What's Changed

New Contributors

Full Changelog: https://github.com/docker/docker-py/compare/6.1.3...7.0.0

docker-py - 7.0.0b3

Published by github-actions[bot] 11 months ago

ℹ️ See 7.0.0b2 for full release notes

Upgrade Notes (from 6.x) ⚠️

  • Removed SSL version (ssl_version) and explicit hostname check (assert_hostname) options (#3185)
    • assert_hostname has not been used since Python 3.6 and was removed in 3.12
    • 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)

Features ✨

  • Add support for filters, keep_storage, and all in prune_builds() on API v1.39+ (#3192)

Bugfixes 🐛

  • Validate tag format before push (#3191)

Full Changelog

Commit Log: https://github.com/docker/docker-py/compare/7.0.0b2...7.0.0b3

New Contributors

docker-py - 7.0.0b2

Published by github-actions[bot] 11 months ago

ℹ️ This is identical to 7.0.0b1, which was not correctly released due to a CI pipeline issue.

Upgrade Notes ⚠️

  • Removed SSL version (ssl_version) and explicit hostname check (assert_hostname) options (#3185)
    • assert_hostname has not been used since Python 3.6 and was removed in 3.12
    • 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)

Features ✨

  • Python 3.12 support (#3185)
  • Full networking_config support for containers.create() (#3121)
    • Replaces network_driver_opt (added in 6.1.0)
  • Add health() property to container that returns status (e.g. unhealthy) (#3147)
  • Add pause option to container.commit() (#3159)
  • Add support for bind mount propagation (e.g. rshared, private) (#3164)

Bugfixes 🐛

  • Consistently return docker.errors.NotFound on 404 responses (#3156)

Miscellaneous 🔧

  • Upgraded urllib3 version in requirements.txt (used for development/tests) (#3183)
  • Documentation typo fixes & formatting improvements (#3130)
  • Fixed integration test compatibility for newer Moby engine versions (#3165, #3166, #3145, #3169, #3170)
  • Switch to ruff for linting (#3126)

Full Changelog

New Contributors

Full Changelog: https://github.com/docker/docker-py/compare/6.1.3...7.0.0b2

docker-py - 7.0.0b1

Published by milas 11 months ago

Upgrade Notes ⚠️

  • Removed SSL version (ssl_version) and explicit hostname check (assert_hostname) options (#3185)
    • assert_hostname has not been used since Python 3.6 and was removed in 3.12
    • 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)

Features ✨

  • Python 3.12 support (#3185)
  • Full networking_config support for containers.create() (#3121)
    • Replaces network_driver_opt (added in 6.1.0)
  • Add health() property to container that returns status (e.g. unhealthy) (#3147)
  • Add pause option to container.commit() (#3159)
  • Add support for bind mount propagation (e.g. rshared, private) (#3164)

Bugfixes 🐛

  • Consistently return docker.errors.NotFound on 404 responses (#3156)

Miscellaneous 🔧

  • Upgraded urllib3 version in requirements.txt (used for development/tests) (#3183)
  • Documentation typo fixes & formatting improvements (#3130)
  • Fixed integration test compatibility for newer Moby engine versions (#3165, #3166, #3145, #3169, #3170)
  • Switch to ruff for linting (#3126)

Full Changelog

New Contributors

Full Changelog: https://github.com/docker/docker-py/compare/6.1.3...7.0.0b1

docker-py - 6.1.3

Published by github-actions[bot] over 1 year ago

🐛 Bugfixes

  • Fix eventlet compatibility (#3132)

What's Changed

New Contributors

Full Changelog: https://github.com/docker/docker-py/compare/6.1.2...6.1.3

docker-py - 6.1.2

Published by github-actions[bot] over 1 year ago

🐛 Bugfixes

  • Fix for socket timeouts on long docker exec calls (#3125)
  • Respect timeout param on Windows (#3112)

Full Changelog

New Contributors

Full Changelog: https://github.com/docker/docker-py/compare/6.1.1...6.1.2

docker-py - 6.1.1

Published by github-actions[bot] over 1 year ago

ℹ️ 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

What's Changed

New Contributors

Full Changelog: https://github.com/docker/docker-py/compare/6.1.0...6.1.1

docker-py - 6.1.0

Published by github-actions[bot] over 1 year ago

ℹ️ 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

What's Changed

New Contributors

Full Changelog: https://github.com/docker/docker-py/compare/6.0.1...6.1.0

docker-py - 6.0.1

Published by github-actions[bot] almost 2 years ago

⚠️ 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)

What's Changed

New Contributors

Full Changelog: https://github.com/docker/docker-py/compare/6.0.0...6.0.1

docker-py - 6.0.0

Published by github-actions[bot] about 2 years ago

ℹ️ 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

Changelog

New Contributors

Full Changelog: https://github.com/docker/docker-py/compare/5.0.3...6.0.0

docker-py - 6.0.0b2

Published by github-actions[bot] about 2 years ago

What's Changed

New Contributors

Full Changelog: https://github.com/docker/docker-py/compare/6.0.0b1...6.0.0b2

docker-py - 6.0.0b1

Published by github-actions[bot] about 2 years ago

What's Changed

New Contributors

Full Changelog: https://github.com/docker/docker-py/compare/5.0.3...6.0.0b1

docker-py - 5.0.3

Published by aiordache about 3 years ago

List of PRs / issues for this release

Features

  • Add cap_add and cap_drop parameters to service create and ContainerSpec
  • Add templating parameter to config create

Bugfixes

  • Fix getting a read timeout for logs/attach with a tty and slow output

Miscellaneous

  • Fix documentation examples
docker-py - 5.0.2

Published by aiordache about 3 years ago

List of PRs / issues for this release

Bugfixes

  • Fix disable_buffering regression
docker-py - 5.0.1

Published by aiordache about 3 years ago

List of PRs / issues for this release

Bugfixes

  • Bring back support for ssh identity file
  • Cleanup remaining python-2 dependencies
  • Fix image save example in docs

Miscellaneous

  • Bump urllib3 to 1.26.5
  • Bump requests to 2.26.0
docker-py - 5.0.0

Published by aiordache over 3 years ago

List of PRs / issues for this release

Breaking changes

  • Remove support for Python 2.7
  • Make Python 3.6 the minimum version supported

Features

  • Add limit parameter to image search endpoint

Bugfixes

  • Fix KeyError exception on secret create
  • Verify TLS keys loaded from docker contexts
  • Update PORT_SPEC regex to allow square brackets for IPv6 addresses
  • Fix containers and images documentation examples
docker-py - 4.4.4

Published by aiordache over 3 years ago

Warning

This is the last release with support for Python 2.7 and 3.5

List of PRs / issues for this release

Bugfixes

  • Remove LD_LIBRARY_PATH and SSL_CERT_FILE environment variables when shelling out to the ssh client
docker-py - 4.4.3

Published by aiordache over 3 years ago

List of PRs / issues for this release

Features

  • Add support for docker.types.Placement.MaxReplicas

Bugfixes

  • Fix SSH port parsing when shelling out to the ssh client
docker-py - 4.4.2

Published by aiordache over 3 years ago

List of PRs / issues for this release

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
Package Rankings
Top 0.36% on Pypi.org
Top 3.95% on Conda-forge.org
Top 0.93% on Alpine-v3.18
Top 2.59% on Alpine-v3.16
Top 1.71% on Alpine-edge
Top 2.84% on Alpine-v3.17
Top 13.56% on Anaconda.org
Top 4.48% on Spack.io
Top 7.15% on Alpine-v3.15
Badges
Extracted from project README
Build Status