PyFilesystem2 v2.4.13 Release NotesRelease Date: 2021-03-27 // 7 months ago
- ➕ Added FTP over TLS (FTPS) support to FTPFS. Closes #437, #449.
PathErrornow supports wrapping an exception using the
excargument. Closes #453.
- 👍 Better documentation of the
fs.open_fs, and hint about using
fs.wrap.read_onlywhen a read-only filesystem is required. Closes #441.
- 🚚 Copy and move operations now provide a parameter
preserve_timethat, when passed as
True, makes sure the "mtime" of the destination file will be the same as that of the source file.
- 👉 Make
FS.uploadexplicit about the expected error when the parent directory of the destination does not exist. Closes #445.
- 👕 Migrate continuous integration from Travis-CI to GitHub Actions and introduce several linters again in the build steps (#448). Closes #446.
- 💅 Stop requiring
pytestto run tests, allowing any test runner supporting
unittest-style test suites.
FSTestCasesnow builds the large data required for
downloadtests only once in order to reduce the total testing time.
MemoryFS.movedirwill now avoid copying data. Closes #452.
FS.removetree("/")behaviour has been standardized in all filesystems, and is expected to clear the contents of the root folder without deleting it. Closes #471.
FS.getbasicis now deprecated, as it is redundant with
FS.getinfois now explicitly expected to return the basic info namespace unconditionally. Closes #469.
- 📄 Make
array.arrayarguments for the
writelinesmethods, as expected by their base class
- 📚 Various documentation issues, including
MemoryFSdocstring not rendering properly.
- Avoid creating a new connection on every call of
FTPFS.upload. Closes #455.
WrapReadOnly.removetreenot raising a
ResourceReadOnlywhen called. Closes #468.
ResourceNotFounderror on non-existing path (#470).
FTPFSnot listing certain entries with sticky/SUID/SGID permissions set by Linux server (#473). Closes #451.
scandiriterator not being closed explicitly in
OSFS.scandir, occasionally causing a
ResourceWarningto be thrown. Closes #311.
- Incomplete type annotations for the
WriteZipFS. Closes #410.
Previous changes from v2.4.12
_MemoryFileobjects returned by
FTPFSfile objects. Closes #380.
- ➕ Added compatibility if a Windows FTP server returns file information to the
LISTcommand with 24-hour times. Closes #438.
- ➕ Added Python 3.9 support. Closes #443.
- ✅ Start testing on PyPy. Due to #342 we have to treat PyPy builds specially and allow them to fail, but at least we'll be able to see if we break something aside from known issues with FTP tests.
- ✅ Include docs in source distributions as well as the whole tests folder,
conftest.pyis present, fixes #364.
- Stop patching copy with Python 3.8+ because it already uses
sendfile(#424). Closes #421.
- 🛠 Fixed crash when CPython's -OO flag is used
- 🛠 Fixed error when parsing timestamps from a FTP directory served from a WindowsNT FTP Server. Closes #395.
- Fixed documentation of
Mode.to_platform_bin. Closes #382.
- 🛠 Fixed the code example in the "Testing Filesystems" section of the "Implementing Filesystems" guide. Closes #407.
- 🛠 Fixed
FTPFS.openbinnot implicitly opening files in binary mode like expected from
openbin. Closes #406.