Skip to main content

File-system specification

Reason this release was yanked:

OpenFile being filelike caused downstream problems

Project description

filesystem_spec

PyPI version Anaconda-Server Badge Build 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 {env} where env is one of {py36,py37,py38,py39}. This will install fsspec 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.

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-2022.8.0.tar.gz (336.8 kB view details)

Uploaded Source

Built Distribution

fsspec-2022.8.0-py3-none-any.whl (141.0 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: fsspec-2022.8.0.tar.gz
  • Upload date:
  • Size: 336.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/3.10.0 pkginfo/1.7.0 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.8.12

File hashes

Hashes for fsspec-2022.8.0.tar.gz
Algorithm Hash digest
SHA256 85f46cfe0750b96f8c18cb7cdc0edb9ab7fb7ab0dbc7e38cb400039fc4fb426c
MD5 3033a9622e75c44318f03ee9a875ab9c
BLAKE2b-256 8a72627fec7f0b181363f2d9af90d0e223e7b641fa767f4e613be2ef3a7d3641

See more details on using hashes here.

File details

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

File metadata

  • Download URL: fsspec-2022.8.0-py3-none-any.whl
  • Upload date:
  • Size: 141.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/3.10.0 pkginfo/1.7.0 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.8.12

File hashes

Hashes for fsspec-2022.8.0-py3-none-any.whl
Algorithm Hash digest
SHA256 d1b4850f659bbb63366f3aeee45c4f638ef68847692a614a71e834f6837947fc
MD5 82444b3ba4dd68d5811a6fe408541839
BLAKE2b-256 5ca214348c7f5eafd4a257d02469fa859a89682ebfd626d56b5f40fff69d7d3e

See more details on using hashes here.

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