Recent Releases of fs
fs - 2.4.16
Changed
- Make
fs.zipfs._ZipExtFileuse the seeking mechanism implemented in the Python standard library in Python version 3.7 and later (#527). - Mark
fs.zipfs.ReadZipFSas a case-sensitive filesystem (#527). - Optimized moving files between filesystems with syspaths. (#523).
- Fixed
fs.move.move_fileto clean up the copy on the destination in case of errors. fs.opener.manage_fswithwriteable=Truewill now raise aResourceReadOnlyexception if the managed filesystem is not writeable.- Marked filesystems wrapped with
fs.wrap.WrapReadOnlyas read-only.
- Python
Published by github-actions[bot] about 4 years ago
fs - 2.4.15
Changed
Fixed
- Fixed
MemoryFS.moveandMemoryFS.movedirnot updating the name of moved resources, causingMemoryFS.scandirto use the old name. (#510). Closes #509. - Make
WrapFS.moveandWrapFS.movediruse the delegate FS methods instead offs.movefunctions, which was causing optimized implementation ofmovedirto be always skipped. (#511).
- Python
Published by github-actions[bot] over 4 years ago
fs - v2.4.14
Added
- Added
fs.copy.copy_file_if,fs.copy.copy_dir_if, andfs.copy.copy_fs_if. Closes #458. - Added
fs.base.FS.getmodified.
Changed
- FTP servers that do not support the MLST command now try to use the MDTM command to retrieve the last modification timestamp of a resource. Closes #456.
Fixed
- Fixed performance bugs in
fs.copy.copy_dir_if_newer. Test cases were adapted to catch those bugs in the future. - Fixed precision bug for timestamps in
fs.OSFS.setinfo.
- Python
Published by althonos over 4 years ago
fs - v2.4.13
Added
- Added FTP over TLS (FTPS) support to FTPFS. Closes #437, #449.
PathErrornow supports wrapping an exception using theexcargument. Closes #453.- Better documentation of the
writableparameter offs.open_fs, and hint about usingfs.wrap.read_onlywhen a read-only filesystem is required. Closes #441.
Changed
- 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 supportingunittest-style test suites. FSTestCasesnow builds the large data required foruploadanddownloadtests only once in order to reduce the total testing time.MemoryFS.moveandMemoryFS.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 withFS.getinfo, andFS.getinfois now explicitly expected to return the basic info namespace unconditionally. Closes #469.
Fixed
- Make
FTPFile,MemoryFileandRawWrapperacceptarray.arrayarguments for thewriteandwritelinesmethods, as expected by their base classio.RawIOBase. - Various documentation issues, including
MemoryFSdocstring not rendering properly. - Avoid creating a new connection on every call of
FTPFS.upload. Closes #455. WrapReadOnly.removetreenot raising aResourceReadOnlywhen called. Closes #468.WrapCachedDir.isdirandWrapCachedDir.isfileraising aResourceNotFounderror 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 inOSFS.scandir, occasionally causing aResourceWarningto be thrown. Closes #311.- Incomplete type annotations for the
temp_fsparameter ofWriteTarFSandWriteZipFS. Closes #410.
- Python
Published by althonos about 5 years ago
fs - v2.4.12
Added
- Missing
modeattribute to_MemoryFileobjects returned byMemoryFS.openbin. - Missing
readintomethod forMemoryFSandFTPFSfile objects. Closes #380. - Added compatibility if a Windows FTP server returns file information to the
LISTcommand with 24-hour times. Closes #438.
Changed
- 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,
ensuring
conftest.pyis present, fixes #364. - Stop patching copy with Python 3.8+ because it already uses
sendfile.
Fixed
- Fixed crash when CPython's -OO flag is used
- Fixed error when parsing timestamps from a FTP directory served from a WindowsNT FTP Server, fixes #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 fromopenbin. Closes #406.
- Python
Published by althonos over 5 years ago
fs -
[2.4.11] - 2019-09-07
Added
- Added geturl for TarFS and ZipFS for 'fs' purpose. NoURL for 'download' purpose.
- Added helpful root path in CreateFailed exception #340
- Added Python 3.8 support
Fixed
- Fixed tests leaving tmp files
- Fixed typing issues
- Fixed link namespace returning bytes
- Fixed broken FSURL in windows #329
- Fixed hidden exception at fs.close() when opening an absent zip/tar file URL #333
- Fixed abstract class import from
collectionswhich would break on Python 3.8 - Fixed incorrect imports of
mockon Python 3 - Removed some unused imports and unused
requirements.txtfile - Added mypy checks to Travis. Closes #332.
- Fixed missing
errno.ENOTSUPon PyPy. Closes #338. - Fixed bug in a decorator that would trigger an
AttributeErrorwhen a class was created that implemented a deprecated method and had no docstring of its own.
Changed
- Entire test suite has been migrated to pytest. Closes #327.
- Style checking is now enforced using
flake8; this involved some code cleanup such as removing unused imports.
- Python
Published by willmcgugan over 6 years ago
fs -
[2.4.9] - 2019-07-28
Fixed
- Restored fs.path import
- Fixed potential race condition in makedirs. Fixes #310
- Added missing methods to WrapFS. Fixed #294
Changed
MemFSnow immediately releases all memory it holds whenclose()is called, rather than when it gets garbage collected. Closes issue #308.FTPFSnow translatesEOFErrorintoRemoteConnectionError. Closes #292- Added automatic close for filesystems that go out of scope. Fixes #298
- Python
Published by willmcgugan almost 7 years ago
fs -
[2.4.8] - 2019-06-12
Changed
geturlwill return URL with user/password if needed @zmej-serow
- Python
Published by willmcgugan almost 7 years ago
fs -
[2.4.7] - 2019-06-08
Added
- Flag to OSFS to disable env var expansion
- Python
Published by willmcgugan almost 7 years ago
fs -
[2.4.6] - 2019-06-08
Added
- Implemented geturl in FTPFS @zmej-serow
Fixed
- Fixed FTP test suite when time is not UTC-0 @mrg0029
- Fixed issues with paths in tarfs https://github.com/PyFilesystem/pyfilesystem2/issues/284
Changed
- Dropped Python3.3 support
- Python
Published by willmcgugan almost 7 years ago
fs -
[2.4.5] - 2019-05-05
Fixed
- Restored deprecated
setfilemethod with deprecation warning to change towritefile - Fixed exception when a tarfile contains a path called '.' https://github.com/PyFilesystem/pyfilesystem2/issues/275
- Made TarFS directory loading lazy
Changed
- Detect case insensitivity using by writing temp file
- Python
Published by willmcgugan about 7 years ago
fs -
[2.4.4] - 2019-02-23
Fixed
- OSFS fail in nfs mounts
- Python
Published by willmcgugan over 7 years ago
fs - Windows fixes
[2.4.3] - 2019-02-23
Fixed
- Fixed broken "case_insensitive" check
- Fixed Windows test fails
- Python
Published by willmcgugan over 7 years ago
fs -
[2.4.2] - 2019-02-22
Fixed
- Fixed exception when Python runs with -OO
- Python
Published by willmcgugan over 7 years ago
fs -
[2.4.1] - 2019-02-20
Fixed
- Fixed hash method missing from WrapFS
- Python
Published by willmcgugan over 7 years ago
fs - Added `exclude` and `filter_dirs` arguments to walk
[2.4.0] - 2019-02-15
Added
- Added
excludeandfilter_dirsarguments to walk - Micro-optimizations to walk
- Python
Published by willmcgugan over 7 years ago
fs -
[2.3.1] - 2019-02-10
Fixed
- Add encoding check in OSFS.validatepath
- Python
Published by willmcgugan over 7 years ago
fs -
[2.3.0] - 2019-01-30
Fixed
- IllegalBackReference had mangled error message
Added
- FS.hash method
- Python
Published by willmcgugan over 7 years ago
fs -
[2.2.1] - 2019-01-06
Fixed
Registry.installreturns its argument.
- Python
Published by willmcgugan over 7 years ago
fs - API Refresh
[2.2.0] - 2019-01-01
A few methods have been renamed for greater clarity (but functionality remains the same).
The old methods are now aliases and will continue to work, but will
issue a deprecation warning via the warnings module.
Please update your code accordingly.
getbytes->readbytesgetfile->downloadgettext->readtextsetbytes->writebytessetbinfile->uploadsettext->writetext
Changed
- Changed default chunk size in
copy_file_datato 1MB - Added
chunk_sizeandoptionstoFS.upload
- Python
Published by willmcgugan over 7 years ago
fs -
[2.1.3] - 2018-12-24
Fixed
- Incomplete FTPFile.write when using
workers@geoffjukes - Fixed AppFS not creating directory
Added
- Added load_extern switch to opener, fixes #228 @althanos
- Python
Published by willmcgugan over 7 years ago
fs -
[2.1.2] - 20180-11-10
Added
- Support for Windows NT FTP servers @sspross
Fixed
- Root dir of MemoryFS accessible as a file
- Packaging issues @televi
- Deprecation warning re collections.Mapping
- Python
Published by willmcgugan over 7 years ago
fs -
[2.1.1] - 2018-10-03
Added
- Added PEP 561 py.typed files
- Use sendfile for faster copies @althonos
- Atomic exclusive mode in Py2.7 @sqwishy
Fixed
- Fixed lstat @kamomil
- Python
Published by willmcgugan over 7 years ago
fs -
[2.1.0] - 2018-08-12
Added
- fs.glob support
- Python
Published by willmcgugan almost 8 years ago
fs -
[2.0.27] - 2018-08-05
Fixed
- Fixed for Winows paths #152
- Fixed ftp dir parsing (@dhirschfeld)
- Python
Published by willmcgugan almost 8 years ago
fs -
Fixed
- fs.copy and fs.move disable workers if not thread-safe
- fs.match detects case insensitivity
- Open in exclusive mode is atomic (@squishy)
- Exceptions can be pickleabe (@Spacerat)
- Python
Published by willmcgugan almost 8 years ago
fs -
Added
- workers parameter to fs.copy, fs.move, and fs.mirror for concurrent copies
- Python
Published by willmcgugan almost 8 years ago
fs -
[2.0.24] - 2018-06-28
Added timeout to FTP opener
- Python
Published by willmcgugan almost 8 years ago
fs -
[2.0.23] - 2018-05-02
- Fix for Markdown on PyPi, no code changes
[2.0.22] - 2018-05-02
Fixed
- Handling of broken unicode on Python2.7
Added
- Added fs.getospath
- Python
Published by willmcgugan about 8 years ago
fs -
Added
- Typing information
- Added Info.suffix, Info.suffixes, Info.stem attributes
Fixed
- Fixed issue with implied directories in TarFS
Changed
- Changed path.splitext so that 'leading periods on the basename are ignored', which is the behaviour of os.path.splitext
- Python
Published by willmcgugan about 8 years ago
fs -
[2.0.20] - 2018-03-13
Fixed
- MultiFS.listdir now correctly filters out duplicates
- Python
Published by willmcgugan about 8 years ago
fs -
[2.0.19] - 2018-03-11
Fixed
- encoding issue with TarFS
- CreateFailed now contains the original exception in
excattribute
- Python
Published by willmcgugan about 8 years ago