summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeff Forcier <jeff@bitprophet.org>2023-01-09 17:32:18 -0500
committerJeff Forcier <jeff@bitprophet.org>2023-01-09 19:33:39 -0500
commit39f458c834def3c217a3bd2eb62cc92032e20975 (patch)
tree4f884f564d20491185190b1251c58cc6229c2410
parent5c4b311b6951dbfcca1206d10bcbdef1a8dda219 (diff)
downloadparamiko-39f458c834def3c217a3bd2eb62cc92032e20975.tar.gz
Tidy up requires/entrypoints/install docs
- Realized at this date that _moving_ Ed25519 deps behind an entrypoint is going the wrong direction, that key type should be used _more_ now, not _less_. I no longer even remember why folks were pissy about pynacl/bcrypt exactly. - We can in fact just use ed25519 from cryptography itself now, so no more pynacl anyways (but still bcrypt) - Twiddle install language a bit re: invoke used in more places, and again removing the notes about ed25519 being special
-rw-r--r--dev-requirements.txt4
-rw-r--r--setup.py11
-rw-r--r--sites/www/installing.rst24
3 files changed, 12 insertions, 27 deletions
diff --git a/dev-requirements.txt b/dev-requirements.txt
index a29d1ac9..94578c22 100644
--- a/dev-requirements.txt
+++ b/dev-requirements.txt
@@ -18,5 +18,5 @@ alabaster==0.7.12
releases>=2.0
# Debuggery
icecream>=2.1
-# Self
--e ".[ed25519,invoke]"
+# Self (sans GSS which is a pain to bother with most of the time)
+-e ".[invoke]"
diff --git a/setup.py b/setup.py
index 8ff8c94c..fda27c61 100644
--- a/setup.py
+++ b/setup.py
@@ -40,8 +40,9 @@ extras_require = {
'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>=2.0"],
+ # TODO 4.0: remove entrypoint as irrelevant
+ "ed25519": [],
}
everything = []
for subdeps in extras_require.values():
@@ -83,19 +84,11 @@ setup(
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
],
- # TODO 3.0: remove bcrypt, pynacl and update installation docs noting that
- # use of the extras_require ("paramiko[ed2559]") is now required for those
- # TODO 3.0: alternately, given how prevalent ed25519 is now, and how we use
- # invoke for (increasing) subproc stuff, consider making the default flavor
- # "full"/"all"? (probably sans gssapi which should remain optional; MAYBE
- # still sans invoke as well, not everyone uses ProxyCommand or Match exec)
- # TODO 3.0: remove six, obviously
python_requires=">=3.6",
install_requires=[
"bcrypt>=3.1.3",
"cryptography>=2.5",
"pynacl>=1.0.1",
- "six",
],
extras_require=extras_require,
)
diff --git a/sites/www/installing.rst b/sites/www/installing.rst
index b50efc4b..98c0655a 100644
--- a/sites/www/installing.rst
+++ b/sites/www/installing.rst
@@ -19,34 +19,26 @@ via `pip <http://pip-installer.org>`_::
$ pip install paramiko
-We currently support **Python 2.7, 3.4+, and PyPy**. Users on Python 2.6 or
-older (or 3.3 or older) are urged to upgrade.
+We currently support **Python 3.6+ only**. Users on older interpreter versions
+are urged to upgrade.
Paramiko has only a few **direct dependencies**:
- The big one, with its own sub-dependencies, is Cryptography; see :ref:`its
specific note below <cryptography>` for more details;
-- `bcrypt <https://pypi.org/project/bcrypt/>`_, for Ed25519 key support;
-- `pynacl <https://pypi.org/project/PyNaCl/>`_, also for Ed25519 key support.
+- `bcrypt <https://pypi.org/project/bcrypt/>`_ and `pynacl
+ <https://pypi.org/project/PyNaCl/>`_ for Ed25519 key support.
-There are also a number of **optional dependencies** you may install using
+There are also a handful of **optional dependencies** you may install using
`setuptools 'extras'
<https://packaging.python.org/tutorials/installing-packages/#installing-setuptools-extras>`_:
-.. TODO 3.0: tweak the invoke line to mention proxycommand too
-.. TODO 3.0: tweak the ed25519 line to remove the caveat
-
- If you want all optional dependencies at once, use ``paramiko[all]``.
-- For ``Match exec`` config support, use ``paramiko[invoke]`` (which installs
- `Invoke <https://www.pyinvoke.org>`_).
+- For ``Match exec`` config support and/or ``ProxyCommand`` feature support,
+ use ``paramiko[invoke]`` (which installs `Invoke
+ <https://www.pyinvoke.org>`_).
- For GSS-API / SSPI support, use ``paramiko[gssapi]``, though also see
:ref:`the below subsection on it <gssapi>` for details.
-- ``paramiko[ed25519]`` references the dependencies for Ed25519 key support.
-
- - As of Paramiko 2.x this doesn't technically do anything, as those
- dependencies are core installation requirements.
- - However, you should use this for forwards compatibility; 3.0 will drop
- those dependencies from core, leaving them purely optional.
.. _release-lines: