Repository navigation
v0.1.2
Changed
sftppathrequirespathapi>=0.1.2,<0.2(it allowed>=0.1.0): 0.1.2
providesAsyncPath, whichAsyncSFTPPathbuilds on. Upgradingsftppathupgrades
pathapiwith it.
Added
AsyncSFTPPath, apathapi.AsyncPathfor an SFTP server whose requests are
made on the caller's event loop with asyncssh, not on a worker thread:stat(),
lstat(),exists(),is_dir(),is_file(),iterdir(),walk(),open(),
read_*(),write_*(),mkdir(),unlink(),rmdir(),rename(), and the
recursivecopy()andrm()of a directory on one server. The other methods,
glob()among them, run on worker threads asAsyncPathruns them. It is
built likeSFTPPathor from one, opens its connection on first use, and
closes it onaclose()orasync with. It needs theasyncsshextra and a
pathapithat providesAsyncPath(pathapi>=0.1.2); without them
import sftppathstill works and naming the class raises anImportError
that says what is missing.rm()andcopy()takemax_workers, the keyword ofpathapi's recursive
rm()andcopy()(a class runs serially unless it declares_threadsafe,
which these classes do not). The generic walks pass it on; the asyncssh native
walks ignore it and stay bounded bymax_concurrency. Nothing changes for a
call that does not give it, and it works with thepathapirelease that
lacks it as long as it is not given.
Full Changelog: v0.1.1...v0.1.2