Need help with filesystem_spec?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

intake
316 Stars 155 Forks BSD 3-Clause "New" or "Revised" License 1.8K Commits 130 Opened issues

Description

A specification that python filesystems should adhere to.

Services available

!
?

Need anything else?

Contributors list

filesystem_spec

PyPI version Anaconda-Server Badge Build Docs

A specification for pythonic filesystems.

Install

pip install fsspec

or

bash
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 tox and tox-conda to manage dev and test environments. First, install conda with tox and tox-conda in a base environment (eg.

conda install -c conda-forge tox tox-conda
). Calls to
tox
can then be used to configure a development environment and run tests.

First, setup a development conda environment via

tox -e {env}
where
env
is one of
{py36,py37,py38,py39}
. This will install fspec dependencies, test & dev tools, and install fsspec in develop mode. You may activate the dev environment under
.tox/{env}
via
conda activate .tox/{env}
.

Testing

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

pytest fsspec
.

Alternatively, the full fsspec test suite can also be run via

tox
, which will also build the appropriate environment (see above), with the environment specified by the TOXENV environment variable.

The full fsspec suite requires a system-level docker, docker-compose, and fuse installation.

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
.

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.