fsspec 2025.5.1


pip install fsspec

  Latest version

Released: May 24, 2025


Meta
Requires Python: >=3.9

Classifiers

Development Status
  • 4 - Beta

Intended Audience
  • Developers

License
  • OSI Approved :: BSD License

Operating System
  • OS Independent

Programming Language
  • Python :: 3.9
  • Python :: 3.10
  • Python :: 3.11
  • Python :: 3.12
  • Python :: 3.13

filesystem_spec

PyPI version Anaconda-Server Badge Build Docs

A specification for pythonic filesystems.

Install

pip install fsspec

would install the base fsspec. Various optionally supported features might require specification of custom extra require, e.g. pip install fsspec[ssh] will install dependencies for ssh backends support. Use pip install fsspec[full] for installation of all known extra dependencies.

Up-to-date package also provided through conda-forge distribution:

conda install -c conda-forge fsspec

Purpose

To produce a template or specification for a file-system interface, that specific implementations should follow, so that applications making use of them can rely on a common behaviour and not have to worry about the specific internal implementation decisions with any given backend. Many such implementations are included in this package, or in sister projects such as s3fs and gcsfs.

In addition, if this is well-designed, then additional functionality, such as a key-value store or FUSE mounting of the file-system implementation may be available for all implementations "for free".

Documentation

Please refer to RTD

Develop

fsspec uses GitHub Actions for CI. Environment files can be found in the "ci/" directory. Note that the main environment is called "py38", but it is expected that the version of python installed be adjustable at CI runtime. For local use, pick a version suitable for you.

# For a new environment (mamba / conda).
mamba create -n fsspec -c conda-forge  python=3.9 -y
conda activate fsspec

# Standard dev install with docs and tests.
pip install -e ".[dev,doc,test]"

# Full tests except for downstream
pip install s3fs
pip uninstall s3fs
pip install -e .[dev,doc,test_full]
pip install s3fs --no-deps
pytest -v

# Downstream tests.
sh install_s3fs.sh
# Windows powershell.
install_s3fs.sh

Testing

Tests can be run in the dev environment, if activated, via pytest fsspec.

The full fsspec suite requires a system-level docker, docker-compose, and fuse installation. If only making changes to one backend implementation, it is not generally necessary to run all tests locally.

It is expected that contributors ensure that any change to fsspec does not cause issues or regressions for either other fsspec-related packages such as gcsfs and s3fs, nor for downstream users of fsspec. The "downstream" CI run and corresponding environment file run a set of tests from the dask test suite, and very minimal tests against pandas and zarr from the test_downstream.py module in this repo.

Code Formatting

fsspec uses Black to ensure a consistent code format throughout the project. Run black fsspec from the root of the filesystem_spec repository to auto-format your code. Additionally, many editors have plugins that will apply black as you edit files. black is included in the tox environments.

Optionally, you may wish to setup pre-commit hooks to automatically run black when you make a git commit. Run pre-commit install --install-hooks from the root of the filesystem_spec repository to setup pre-commit hooks. black will now be run before you commit, reformatting any changed files. You can format without committing via pre-commit run or skip these checks with git commit --no-verify.

2025.5.1 May 24, 2025
2025.5.0 May 20, 2025
2025.3.2 Mar 31, 2025
2025.3.1 Mar 30, 2025
2025.3.0 Mar 07, 2025
2025.2.0 Feb 01, 2025
2024.12.0 Dec 19, 2024
2024.10.0 Oct 21, 2024
2024.9.0 Sep 04, 2024
2024.6.1 Jun 27, 2024
2024.6.0 Jun 04, 2024
2024.5.0 May 15, 2024
2024.3.1 Mar 18, 2024
2024.3.0 Mar 15, 2024
2024.2.0 Feb 05, 2024
2023.12.2 Dec 11, 2023
2023.12.1 Dec 05, 2023
2023.12.0 Dec 03, 2023
2023.10.0 Oct 21, 2023
2023.9.2 Sep 22, 2023
2023.9.1 Sep 15, 2023
2023.9.0 Sep 02, 2023
2023.6.0 Jun 09, 2023
2023.5.0 May 07, 2023
2023.4.0 Apr 08, 2023
2023.3.0 Mar 04, 2023
2023.1.0 Jan 19, 2023
2022.11.0 Nov 10, 2022
2022.10.0 Oct 19, 2022
2022.8.2 Sep 01, 2022
2022.8.1 Aug 31, 2022
2022.8.0 Aug 30, 2022
2022.7.1 Jul 29, 2022
2022.7.0 Jul 27, 2022
2022.5.0 May 19, 2022
2022.3.0 Mar 31, 2022
2022.2.0 Feb 22, 2022
2022.1.0 Jan 11, 2022
2021.11.1 Nov 26, 2021
2021.11.0 Nov 05, 2021
2021.10.1 Oct 15, 2021
2021.10.0 Oct 02, 2021
2021.9.0 Sep 23, 2021
2021.8.1 Aug 31, 2021
2021.7.0 Jul 13, 2021
2021.6.1 Jun 23, 2021
2021.6.0 Jun 07, 2021
2021.5.0 May 14, 2021
2021.4.0 Apr 16, 2021
0.9.0 Apr 05, 2021
0.8.7 Feb 23, 2021
0.8.6 Feb 23, 2021
0.8.5 Dec 15, 2020
0.8.4 Oct 14, 2020
0.8.3 Sep 24, 2020
0.8.2 Sep 10, 2020
0.8.1 Sep 09, 2020
0.8.0 Jul 31, 2020
0.7.4 May 19, 2020
0.7.3 Apr 22, 2020
0.7.2 Apr 07, 2020
0.7.1 Mar 30, 2020
0.7.0 Mar 27, 2020
0.6.3 Mar 19, 2020
0.6.2 Dec 16, 2019
0.6.1 Nov 27, 2019
0.6.0 Nov 13, 2019
0.5.2 Oct 06, 2019
0.5.1 Sep 19, 2019
0.4.5 Sep 16, 2019
0.4.4 Sep 03, 2019
0.4.3 Aug 27, 2019
0.4.2 Aug 27, 2019
0.4.1 Aug 05, 2019
0.4.0 Jul 31, 2019
0.3.6 Jul 25, 2019
0.3.5 Jul 24, 2019
0.3.4 Jul 22, 2019
0.3.3 Jul 18, 2019
0.3.2 Jul 17, 2019
0.3.1 Jul 17, 2019
0.3.0 Jul 09, 2019
0.2.3 Jul 01, 2019
0.2.2 Jun 30, 2019
0.2.1 Jun 18, 2019
0.2.0 Feb 22, 2019
0.1.4 Feb 05, 2019
0.1.3 Jan 10, 2019
0.1.2 Jan 09, 2019
0.1.1 Jan 02, 2019
0.1.0 Jan 02, 2019

Wheel compatibility matrix

Platform Python 3
any

Files in release

Extras:
Dependencies: