An unified python client to communicate with various kinds of object-store providers.
pip install omnistore
from omnistore.objstore import StoreFactory
# Initialization
client = StoreFactory.new_client(
provider=<provider>, endpoint=<endpoint>, bucket=<bucket>
)
# Create a directory
client.create_dir(dir_name)
# Delete a directory with all its files
client.delete_dir(dir_name)
# Upload
client.upload(src, dest)
# Upload a directory with all its files
client.upload_dir(src_dir, dest_dir)
# Download
client.download(src, dest)
# Download a directory with all its files
client.download_dir(src_dir, dest_dir)
# Exists
client.exists(filename)
# Delete
client.delete(filename)
Usage:
client = StoreFactory.new_client(
provider="OSS", endpoint=<endpoint>, bucket=<bucket>
)
Required environment variables:
OSS_ACCESS_KEY_ID=
OSS_ACCESS_KEY_SECRET=
Usage:
client = StoreFactory.new_client(
provider="MINIO", endpoint=<endpoint>, bucket=<bucket>
)
Required environment variables:
MINIO_ACCESS_KEY=
MINIO_SECRET_KEY=
Once you want to run the integration tests, you should have a .env
file locally, similar to the .env.example
.
π All kinds of contributions are welcomed ! Please follow Contributing. Thanks to all these contributors.