pathlib api extended to use fsspec backends
Project description
Universal Pathlib
Universal Pathlib is a python library that aims to extend Python's built-in pathlib.Path
api to use a variety of backend filesystems using fsspec
Installation
Pypi
python -m pip install universal_pathlib
conda
conda install -c conda-forge universal_pathlib
Basic Usage
>>> from upath import UPath
>>> import s3fs
>>> s3path = UPath("s3://test_bucket") / "example.txt"
>>> s3path.name
example.txt
>>> s3path.stem
example
>>> s3path.suffix
.txt
>>> s3path.exists()
True
>>> s3path.read_text()
'Hello World'
For more examples, see the example notebook here
Currently supported filesystems (and schemes)
file:
Local filessystemmemory:
Ephemeral filesystem in RAMaz:
,adl:
,abfs:
andabfss:
Azure Storage (requiresadlfs
to be installed)http:
andhttps:
HTTP(S)-based filesystemhdfs:
Hadoop distributed filesystemgs:
andgcs:
Google Cloud Storage (requiresgcsfs
to be installed)s3:
ands3a:
AWS S3 (requiress3fs
to be installed)webdav+http:
andwebdav+https:
WebDAV-based filesystem on top of HTTP(S) (requireswebdav4[fsspec]
to be installed)
Other fsspec-compatible filesystems may also work, but are not supported and tested. Contributions for new filesystems are welcome!
Contributing
Contributions are very welcome. To learn more, see the Contributor Guide.
License
Distributed under the terms of the MIT license, universal_pathlib is free and open source software.
Issues
If you encounter any problems, please file an issue along with a detailed description.
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
universal_pathlib-0.0.24.tar.gz
(58.5 kB
view hashes)
Built Distribution
Close
Hashes for universal_pathlib-0.0.24-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a2e907b11b1b3f6e982275e5ac0c58a4d34dba2b9e703ecbe2040afa572c741b |
|
MD5 | 2f6e8b4fb78add9fb54efac57e1441de |
|
BLAKE2b-256 | 6efd47a1b4d36a9813149fb16f7b7bce4ec8d51ea5028e448ceff647058f5ad6 |