Skip to main content

File-system specification

Project description

filesystem_spec

Build Status Docs

A specification for pythonic filesystems.

Install

pip install fsspec

or

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 dev. This will install fspec dependencies, test & dev tools, and install fsspec in develop mode. Then, activate the dev environment under .tox/dev via conda activate .tox/dev.

Testing

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

The full fsspec test suite can be run via tox, which will setup and execute tests against multiple dependency versions in isolated environment. Run tox -av to list available test environments, select environments via tox -e <env>.

The full fsspec suite requires a system-level docker, docker-compose, and fuse installation. See ci/install.sh for a detailed installation example.

Code Formatting

fsspec uses Black to ensure a consistent code format throughout the project. black is automatically installed in the tox dev env, activated via conda activate .tox/dev.

Then, 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.

Optionally, you may wish to setup pre-commit hooks to automatically run black when you make a git commit. black is automatically installed in the tox dev env, activated via conda activate .tox/dev.

Then, 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.

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

fsspec-0.8.2.tar.gz (235.6 kB view details)

Uploaded Source

Built Distribution

fsspec-0.8.2-py3-none-any.whl (87.4 kB view details)

Uploaded Python 3

File details

Details for the file fsspec-0.8.2.tar.gz.

File metadata

  • Download URL: fsspec-0.8.2.tar.gz
  • Upload date:
  • Size: 235.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/49.6.0.post20200814 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/3.7.8

File hashes

Hashes for fsspec-0.8.2.tar.gz
Algorithm Hash digest
SHA256 c08fbbb517d1c550be38ae0eba26b0b39b2b656617396ecce8c9ccd1a107c0ee
MD5 78d6a0047dd1046f8aa13aae517f9b86
BLAKE2b-256 f52798dbeff3609c5818b91dd0aec0e9ff3d455e1a8e9ee6560600f240671fd3

See more details on using hashes here.

Provenance

File details

Details for the file fsspec-0.8.2-py3-none-any.whl.

File metadata

  • Download URL: fsspec-0.8.2-py3-none-any.whl
  • Upload date:
  • Size: 87.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/49.6.0.post20200814 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/3.7.8

File hashes

Hashes for fsspec-0.8.2-py3-none-any.whl
Algorithm Hash digest
SHA256 8ce8b237670981f3d61606e71d80b2c455a6e9a3533037639992004052e9d5e0
MD5 c8a4db1139b7515c962a215a646e6d1c
BLAKE2b-256 e33df2762411c4b15a4c8391a182a3ace7ade3d861f686af90dcd0a336d4df2e

See more details on using hashes here.

Provenance

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page