summaryrefslogtreecommitdiffhomepage
path: root/setup.py
diff options
context:
space:
mode:
authorJeff Forcier <jeff@bitprophet.org>2019-12-03 14:35:04 -0500
committerJeff Forcier <jeff@bitprophet.org>2019-12-03 14:35:04 -0500
commit9e6fc80397582838de8124344efcde6b17472b73 (patch)
tree50fd8121c695ad5f322ebb377b9815711098e531 /setup.py
parent25de1a7a02a2189614787718739efbde86d5bb8e (diff)
parent84fa355a253d30d6c39adaea8bb095ced0c3b751 (diff)
Merge branch 'master' into 1343-int
Diffstat (limited to 'setup.py')
-rw-r--r--setup.py26
1 files changed, 22 insertions, 4 deletions
diff --git a/setup.py b/setup.py
index c8a0169c..d439fd03 100644
--- a/setup.py
+++ b/setup.py
@@ -30,9 +30,6 @@ Emphasis is on using SSH2 as an alternative to SSL for making secure
connections between python scripts. All major ciphers and hash methods
are supported. SFTP client and server mode are both supported too.
-Required packages:
- Cryptography
-
To install the development version, ``pip install -e
git+https://github.com/paramiko/paramiko/#egg=paramiko``.
"""
@@ -44,6 +41,22 @@ with open("paramiko/_version.py") as fp:
exec(fp.read(), None, _locals)
version = _locals["__version__"]
+# Have to build extras_require dynamically because it doesn't allow
+# self-referencing and I hate repeating myself.
+extras_require = {
+ "gssapi": [
+ "pyasn1>=0.1.7",
+ 'gssapi>=1.4.1;platform_system!="Windows"',
+ 'pywin32>=2.1.8;platform_system=="Windows"',
+ ],
+ "ed25519": ["pynacl>=1.0.1", "bcrypt>=3.1.3"],
+ "invoke": ["invoke>=1.3"],
+}
+everything = []
+for subdeps in extras_require.values():
+ everything.extend(subdeps)
+extras_require["all"] = everything
+
setup(
name="paramiko",
version=version,
@@ -70,6 +83,11 @@ setup(
"Programming Language :: Python :: 3.4",
"Programming Language :: Python :: 3.5",
"Programming Language :: Python :: 3.6",
+ "Programming Language :: Python :: 3.7",
+ "Programming Language :: Python :: 3.8",
],
- install_requires=["bcrypt>=3.1.3", "cryptography>=1.5", "pynacl>=1.0.1"],
+ # TODO 3.0: remove bcrypt, pynacl and update installation docs noting that
+ # use of the extras_require(s) is now required for those
+ install_requires=["bcrypt>=3.1.3", "cryptography>=2.5", "pynacl>=1.0.1"],
+ extras_require=extras_require,
)