A robust file-system mount to a remote storage.
Project description
RMount - Robust Remote Mount
This is a robust remote mount wrapper around the mount utility rclone. The python-side implementation makes it possible to integrate rclone into your python application with pre-packaged rclone binaries (version v1.62.2). This is a ready-to-go solution without external dependencies for mounting a local directory to a remote storage provider such as AWS S3. RMount is robust to time-outs, connection drops, while it abstracts the details of integrating directly with the remote provider. NOTE Currently only supports Linux.
Storage Systems currently supported:
- Google Cloud Storage directly as well as via S3.
- Remote SSH, i.e. for your own private server with SSH access
- S3 remote file-systems that are supported by several cloud providers listed below.
Install
pip install rmount
mountpoint
command must be accessible and in Path. e.g. runningmountpoint .
should return. is not a mountpoint
or. is a mountpoint
Usage
from rmount import RemoteMount
mount = RCloneWrapper(config, remote_path, local_path)
with mount:
timestamp = (local_path / ".rmount").read_text()
print(timestamp)
Developer guide
$ pip install -e .[dev]
$ make test
S3 Remote Storage Providers
In theory, RMount support all the providers supported by rclone, but you will need to implement your own configuration object. We have only tested with AWS S3 but in theory it should work with all providers:
- AWS S3
- Alibaba Cloud (Aliyun) Object Storage System (OSS)
- Ceph
- China Mobile Ecloud Elastic Object Storage (EOS)
- Cloudflare R2
- Arvan Cloud Object Storage (AOS)
- DigitalOcean Spaces
- Dreamhost
- GCS
- Huawei OBS
- IBM COS S3
- IDrive e2
- IONOS Cloud
- Liara Object Storage
- Minio
- Petabox
- Qiniu Cloud Object Storage (Kodo)
- RackCorp Object Storage
- Scaleway
- Seagate Lyve Cloud
- SeaweedFS
- StackPath
- Storj
- Tencent Cloud Object Storage (COS)
- Wasabi
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distribution
Hashes for rmount-0.0.1-py3-none-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 26475d52dbfb243dc1b47dc7b6a30c457f0e03da0f889fc43bc9e441fa6c27c7 |
|
MD5 | 6fe1ab650475ecd6b61c49e6c0669da6 |
|
BLAKE2b-256 | 521bd55890496d81976741d5df4d6e14c34d632c3cfa80d1de5c8b0951dad93d |