Unified cloud storage API for storage services.
Project description
Cloud Storage is a Python +3.4 package which creates a unified API for the cloud storage services: Amazon Simple Storage Service (S3), Rackspace Cloud Files, Google Cloud Storage, and the Local File System.
Cloud Storage is inspired by Apache Libcloud. Advantages to Apache Libcloud Storage are:
Full Python 3 support.
Generate temporary signed URLs for downloading and uploading files.
Support for request and response headers like Content-Disposition.
Pythonic! Iterate through all blobs in containers and all containers in storage using respective objects.
Usage
>>> from cloudstorage.drivers.amazon import S3Driver
>>> storage = S3Driver(key='<my-aws-access-key-id>', secret='<my-aws-secret-access-key>')
>>> container = storage.create_container('avatars')
>>> container.cdn_url
'https://avatars.s3.amazonaws.com/'
>>> avatar_blob = container.upload_blob('/path/my-avatar.png')
>>> avatar_blob.cdn_url
'https://s3.amazonaws.com/avatars/my-avatar.png'
>>> avatar_blob.generate_download_url(expires=3600)
'https://avatars.s3.amazonaws.com/my-avatar.png?'
'AWSAccessKeyId=<my-aws-access-key-id>'
'&Signature=<generated-signature>'
'&Expires=1491849102'
>>> container.generate_upload_url('user-1-avatar.png', expires=3600)
{
'url': 'https://avatars.s3.amazonaws.com/',
'fields': {
'key': 'user-1-avatar.png',
'AWSAccessKeyId': '<my-aws-access-key-id>',
'policy': '<generated-policy>',
'signature': '<generated-signature>'
}
}
Supported Services
Local File System
Installation
To install Cloud Storage:
pip install cloudstorage
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
Built Distribution
Hashes for cloudstorage-0.2-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7dab88b75024b3bd8bfeaffb689c711ac907eaafdab9edeecc5c0ed0783b3d80 |
|
MD5 | 580844062702686c7c333b62e1e7525c |
|
BLAKE2b-256 | 4f3f9a9f5a32b15abf4777e80ca61d38a844ef9a4b12aeef1669432a66e2450f |