Skip to main content

Storage-type-agnostic file access + file structure for your project

Project description

drfs

PyPI

File systems

All filesystems defined in this package should:

  • accept full paths in methods like ls etc. (full means: including protocol and all other parts of path)
  • return full paths or their lists from methods like ls etc.
  • paths returned from methods like ls should be DRPath objects (DRPath is our version of pathlib.Path supporting remote paths and few other features)

Above functionalities are implemented in FileSystemBase class. When adding a new filesystem, one should subclass from it and set an underlying backend filesystem as fs_cls attribute (see existing implementations).

Relation to fsspec

fsspec is an attempt to unify interfaces of various filesystems. It also serves as a tool that dask uses to support them.

drfs doesn't agree with fsspec in (at least) one assumption: in fsspec methods like ls return paths without protocol. That's why we can't use classes that adhere to fsspec directly.

However, such classes can (and should) be used as backends for filesystems defined here in drfs. This way we ensure that paths handled by drfs can also be handled by dask (because importing a backend filesystem that adheres to fsspec makes it available for Dask).

For example, drfs.filesystems.s3.S3Filesystem uses s3fs.S3FileSystem as backend which adheres to fsspec.

Features

  • TODO

Project details


Download files

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

Source Distribution

drfs-0.3.6.2.tar.gz (33.9 kB view details)

Uploaded Source

Built Distribution

drfs-0.3.6.2-py2.py3-none-any.whl (16.4 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file drfs-0.3.6.2.tar.gz.

File metadata

  • Download URL: drfs-0.3.6.2.tar.gz
  • Upload date:
  • Size: 33.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.11.3 pkginfo/1.8.2 requests/2.27.1 requests-toolbelt/0.9.1 tqdm/4.64.0 CPython/3.9.12

File hashes

Hashes for drfs-0.3.6.2.tar.gz
Algorithm Hash digest
SHA256 f6b49d6223f6e9d0dc3ecae38d50a0c077029143f9dd18659c6ac9aac473857c
MD5 7e6593caeae5a505e310c001abff648b
BLAKE2b-256 be6e0a523c8ab67d0e5cbf9271fe9cda0ce91a3bd0d8d026dd3ade27a54e7df5

See more details on using hashes here.

File details

Details for the file drfs-0.3.6.2-py2.py3-none-any.whl.

File metadata

  • Download URL: drfs-0.3.6.2-py2.py3-none-any.whl
  • Upload date:
  • Size: 16.4 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.11.3 pkginfo/1.8.2 requests/2.27.1 requests-toolbelt/0.9.1 tqdm/4.64.0 CPython/3.9.12

File hashes

Hashes for drfs-0.3.6.2-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 414033848ac27f8cc6db72023da1ee912bfaca3c5a80a89832d00c0ec9b84352
MD5 e37f448932969ce58535483b97679b2e
BLAKE2b-256 cf3b2494dbb4523b5a22d76998738421a458d8c86d199ed3a0d064bb39563feb

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