Repository navigation
FS Next 0.1.0
First stable FS Next release
FS Next is an independent maintenance fork of PyFilesystem2. Version 0.1.0 keeps the fs import and fs.opener entry-point group, preserves the original MIT license and Git history, and supports CPython 3.10 onward.
Compatibility audit
- All 57 Python module paths and 730 publicly named definitions/constructors/context-manager methods from published
fs==2.4.16are retained, with no incompatible argument signatures. The count includes reusable test helpers and internal modules. - Installed upstream and candidate packages produced identical results for the deterministic filesystem behavior probe, including all 14 built-in opener registrations.
- Memory, local, temporary, application, ZIP/TAR, mount, multi-filesystem, subfilesystem, wrappers, walking/globbing and utility APIs remain available and covered by inherited tests.
- Local source and installed-wheel suites: 2,757 passed, 30 skipped. Coverage: 92.77% statements, 86.07% branches.
- Required release checks cover Linux/macOS/Windows on Python 3.10–3.14, upstream API/behavior parity, S3 dependency migration and pyfatfs. Python 3.15 preview is checked separately.
Fixes and maintenance
- Remove runtime setuptools/pkg_resources dependency while retaining namespace extensions and opener discovery.
- Correct modern Python URL quoting, FTP cleanup and date parsing, and deprecated UTC timestamp construction.
- Fix streamed FTPS worker uploads by completing TLS shutdown before awaiting transfer completion. Seeking after a write also waits for completion, fixing stale reads on Windows. An encrypted loopback contract suite and failure-cleanup regressions cover these fixes.
- Adapt the documentation and migration instructions; build docs with warnings treated as errors.
Installation and scope
python -m pip install fs-next==0.1.0Use a fresh environment. Do not install fs and fs-next together; they own overlapping files. External packages declaring a dependency on fs need a metadata migration. Python versions below 3.10 are outside the support range.
FTPS verification uses a loopback server. S3 uses a locally adapted plugin and an emulator; pyfatfs is an API probe. This release does not claim universal hosted-server, live AWS, SSH or third-party plugin compatibility.
Detailed release audit · Migration guide · Support policy
Thanks to Will McGugan and all PyFilesystem2 contributors whose implementation, tests and documentation this fork preserves.
Known preview limitation
Python 3.15rc2 has an FTPS/hash error-path failure on all three operating systems, also reproduced with the standard-library FTP_TLS client on 3.15rc1. Full 3.15 compatibility is not yet verified. Python 3.10–3.14 pass all required checks. See support policy.