The dependency pysftp is unmaintained:
- It was last updated in 2016, both in terms of releases and in terms of upstream development.
- There are languishing open PR’s for basic modernization features like ED25519 keys.
- Testing is broken in several layers: first, the
tox configuration no longer works, then pytest-pep8 doesn’t work with currently-supported Python releases, then if I patch out pep8/pytest-pep8, I get FAILED tests/test_remote_server_key.py::test_cnopts_bad_knownhosts - paramiko.hostkeys.InvalidHostKey: ('commands = py.test -x', Error('Incorrect padding',)); and the test dependency pytest-sftpserver is also no longer developed.
These issues make it difficult (although probably not impossible) to package pysftp confidently in a Linux distribution, and are likely to proliferate and affect pip users over time assuming the package remains unmaintained upstream. The lack of ED25519 key support alone is concerning, as this is the default key type for ssh-keygen since OpenSSH 9.5.
I’m not currently able to offer a good suggestion for an alternative to relying on pysftp or a PR to remove the dependency on it, but it does look like this plugin will need to consider such a change.
The dependency
pysftpis unmaintained:toxconfiguration no longer works, thenpytest-pep8doesn’t work with currently-supported Python releases, then if I patch outpep8/pytest-pep8, I getFAILED tests/test_remote_server_key.py::test_cnopts_bad_knownhosts - paramiko.hostkeys.InvalidHostKey: ('commands = py.test -x', Error('Incorrect padding',)); and the test dependencypytest-sftpserveris also no longer developed.These issues make it difficult (although probably not impossible) to package
pysftpconfidently in a Linux distribution, and are likely to proliferate and affectpipusers over time assuming the package remains unmaintained upstream. The lack of ED25519 key support alone is concerning, as this is the default key type forssh-keygensince OpenSSH 9.5.I’m not currently able to offer a good suggestion for an alternative to relying on
pysftpor a PR to remove the dependency on it, but it does look like this plugin will need to consider such a change.