.. start-badges
.. image:: https://img.shields.io/pypi/v/cloudstorage.svg :target: https://pypi.org/project/cloudstorage/
.. image:: https://img.shields.io/pypi/l/cloudstorage.svg :target: https://pypi.org/project/cloudstorage/
.. image:: https://img.shields.io/pypi/wheel/cloudstorage.svg :target: https://pypi.org/project/cloudstorage/
.. image:: https://img.shields.io/pypi/pyversions/cloudstorage.svg :target: https://pypi.org/project/cloudstorage/
.. image:: https://travis-ci.org/scottwernervt/cloudstorage.svg?branch=master :target: https://travis-ci.org/scottwernervt/cloudstorage/
.. image:: https://codeclimate.com/github/scottwernervt/cloudstorage/badges/gpa.svg :target: https://codeclimate.com/github/scottwernervt/cloudstorage/
.. end-badges
Cloud Storage
_ is a Python +3.5 package which creates a unified API for the
cloud storage services: Amazon Simple Storage Service (S3),
Microsoft Azure Storage, Minio Cloud Storage, Rackspace Cloud Files,
Google Cloud Storage, and the Local File System.
Cloud Storage is inspired by Apache Libcloud <https://libcloud.apache.org/>
_.
Advantages to Apache Libcloud Storage are:
.. code-block:: python
>>> 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>'
}
}
Amazon S3
_Google Cloud Storage
_Microsoft Azure Storage
_Minio Cloud Storage
_Rackspace CloudFiles
_To install Cloud Storage:
.. code-block:: bash
pip install cloudstorage
Also install the storage driver(s) you will be using:
.. code-block:: bash
pip install cloudstorage[amazon]
pip install cloudstorage[google]
pip install cloudstorage[local]
pip install cloudstorage[microsoft]
pip install cloudstorage[minio]
pip install cloudstorage[rackspace]
.. Amazon S3
: https://aws.amazon.com/s3/
.. Blackblaze B2 Cloud Storage
: https://www.backblaze.com/b2/Cloud-Storage.html
.. Google Cloud Storage
: https://cloud.google.com/storage/
.. Microsoft Azure Storage
: https://azure.microsoft.com/services/storage/
.. Minio Cloud Storage
: https://www.minio.io/
.. Rackspace CloudFiles
: https://www.rackspace.com/cloud/files
.. _Cloud Storage
: https://github.com/scottwernervt/cloudstorage/