summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorcyli <cyli@twistedmatrix.com>2017-04-13 17:25:55 -0700
committerJoffrey F <f.joffrey@gmail.com>2017-08-15 15:45:51 -0700
commit3b95da3ea48c3f60f133cdefe1382fce5d44a770 (patch)
tree702802ca7bf5a257027feb8125738a314841cd77
parent92a2e48e1740f9ecb055db6c960990483b4b349c (diff)
downloaddocker-py-3b95da3ea48c3f60f133cdefe1382fce5d44a770.tar.gz
Require "requests[security]" if the `[tls]` option is selected, which also installs:
pyOpenSSL, cryptography, idna and installs cryptography's version of openssl in Mac OS (which by default has an ancient version of openssl that doesn't support TLS 1.2). Signed-off-by: cyli <cyli@twistedmatrix.com>
-rw-r--r--README.md4
-rw-r--r--requirements.txt2
-rw-r--r--setup.py10
3 files changed, 15 insertions, 1 deletions
diff --git a/README.md b/README.md
index 747b98b..3ff124d 100644
--- a/README.md
+++ b/README.md
@@ -10,6 +10,10 @@ The latest stable version [is available on PyPI](https://pypi.python.org/pypi/do
pip install docker
+If you are intending to connect to a docker host via TLS, add `docker[tls]` to your requirements instead, or install with pip:
+
+ pip install docker[tls]
+
## Usage
Connect to Docker using the default socket or the configuration in your environment:
diff --git a/requirements.txt b/requirements.txt
index 3754131..423ffb7 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -1,4 +1,4 @@
-requests==2.11.1
+requests[security]==2.11.1
six>=1.4.0
websocket-client==0.32.0
backports.ssl_match_hostname>=3.5 ; python_version < '3.5'
diff --git a/setup.py b/setup.py
index 31180d2..534c949 100644
--- a/setup.py
+++ b/setup.py
@@ -35,6 +35,16 @@ extras_require = {
# ssl_match_hostname to verify hosts match with certificates via
# ServerAltname: https://pypi.python.org/pypi/backports.ssl_match_hostname
':python_version < "3.3"': 'ipaddress >= 1.0.16',
+
+ # If using docker-py over TLS, highly recommend this option is pip-installed
+ # or pinned.
+
+ # TODO: if pip installign both "requests" and "requests[security]", the
+ # extra package from the "security" option are not installed (see
+ # https://github.com/pypa/pip/issues/4391). Once that's fixed, instead of
+ # installing the extra dependencies, install the following instead:
+ # 'requests[security] >= 2.5.2, != 2.11.0, != 2.12.2'
+ 'tls': ['pyOpenSSL>=0.14', 'cryptography>=1.3.4', 'idna>=2.0.0'],
}
version = None