Repository navigation
v0.8.2
Fixed
SftpPathcould not be imported or used with an asyncssh-only install
(noparamiko).uri/schemes/sftp/__init__.pyimported._paramiko
eagerly at module load, and_asyncssh.pyimported the
_DEFAULT_SSH_CONFIGsentinel from._paramiko, so merely importing
SftpPath(or theAsyncsshSftpBackend) requiredparamikoeven when the
caller only wanted the asyncssh backend from thesftp-asyncextra. The
paramiko-free bits (the sentinel + config-path normalization) moved to a new
_sshconfigmodule, and the paramikoSftpBackendis now imported lazily
(via_probe_paramiko, mirroring_probe_asyncssh) only when actually
selected.SftpBackend/_DEFAULT_SSH_CONFIGremain importable from the
scheme package (PEP 562__getattr__) for backward compatibility.
PATHLIB_NEXT_SFTP_BACKEND=paramiko(orautowith neither library) now
raises a clearImportErrornaming the missing extra instead of a bare
ModuleNotFoundErrorat import time. Regression test added
(test_sftp_scheme_imports_and_resolves_without_paramiko, runs in a
paramiko-masked subprocess).
Full Changelog: v0.8.1...v0.8.2