summaryrefslogtreecommitdiffhomepage
path: root/setup.py
diff options
context:
space:
mode:
authorJeff Forcier <jeff@bitprophet.org>2019-10-08 11:29:38 -0400
committerJeff Forcier <jeff@bitprophet.org>2019-12-02 14:59:49 -0500
commit4a95e1f88b0996c937c98d31c94a51a450984019 (patch)
treec03b010dfc472e3a5c86b5b3ad3e94bf23733c15 /setup.py
parentc9c60433a2fc50088cebddabc5055524c8ebe959 (diff)
Add additional setuptools extras_require flavors
Diffstat (limited to 'setup.py')
-rw-r--r--setup.py28
1 files changed, 18 insertions, 10 deletions
diff --git a/setup.py b/setup.py
index cf063c44..abe04472 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,21 @@ 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"],
+}
+everything = []
+for subdeps in extras_require.values():
+ everything.extend(subdeps)
+extras_require["everything"] = everything
+
setup(
name="paramiko",
version=version,
@@ -73,12 +85,8 @@ setup(
"Programming Language :: Python :: 3.7",
"Programming Language :: Python :: 3.8",
],
+ # 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={
- "gssapi": [
- "pyasn1>=0.1.7",
- 'gssapi>=1.4.1;platform_system!="Windows"',
- 'pywin32>=2.1.8;platform_system=="Windows"',
- ]
- },
+ extras_require=extras_require,
)