Package: dj-libcloud
Adds easy python 3 and 2.7 support to Django for management of static assets. This is a wrapper around the excellentApache Libcloudlibrary.DocumentationThe full documentation is athttps://dj-libcloud.readthedocs.org.QuickstartLibcloud verifies server SSL certificates before it lets you do anything. It will search your system for the CA certificate, and if it doesn’t find it then it will blow up. Seehttps://libcloud.readthedocs.org/en/latest/other/ssl-certificate-validation.htmlInstalling CA certificate bundle on Mac OS X:# Assuming you are using homebrew for Mac OS X dependency management.
$ brew install curl-ca-bundleInstall dj-libcloud:$ pip install dj-libcloudThen use it in a project, e.g. for your static files:# settings.py

STATIC_URL = 'https://s3.amazonaws.com/my-assets/'
STATICFILES_STORAGE = 'djlibcloud.storage.LibCloudStorage'

LIBCLOUD_PROVIDERS = {
    'default': {
        'type': 'libcloud.storage.types.Provider.S3',
        'user': os.environ.get('AWS_ACCESS_KEY'),
        'key': os.environ.get('AWS_SECRET_KEY'),
        'bucket': 'my-assets',
        'secure': True,
    },
}Other LibCloud ProvidersIf you want to use other libcloud providers (Rackspace, Openstack, other AWS centers, et al), please visit:Thelibcloud list of supported providersThedj-libcloud cookbook.FeaturesWorks for uploading media assets using Python 3.3 and Django 1.6.In theory supports all the backends that libcloud supports.FAQBecause you just had to ask.Why not use dj-static or whitenoise?Those are great libraries, but are not what you want when handling user uploaded media.Why not just update django-storages?libcloudis awesome and has a dedicated team devoted to it. We can have it do most of the heavy lifting. On the other hand, convertingdjango-storagesto work with Python 3 looked like too much work. Sometimes you just have to start anew, right?What storage providers does dj-libcloud support?dj-libcloud is a wrapper around libcloud, meaning it supports all the providers of that library. Check out thefull list of supported providers!How can I contribute?Please readhttp://dj-libcloud.readthedocs.org/en/latest/contributing.htmlWhat about compressors like django-pipeline?Working on it. Currently thePipelineCachedCloudStorageclass breaks the second time you run it. Seehttps://github.com/pydanny/dj-libcloud/issues/7CREDITMany thanks to Jannis Leidel (@jezdez) for giving me the code to get this started. He’s a Django core developer, the master of Django static asset managment, and overall a great great guy.History0.2.0(2014-06-23)Updated url method to return correct values for Rackspace Cloudfiles, Microsoft Azure, Google Storage, non-US Amazon SV (Thanks Jannis!)Improved the cookbook immensely (Thanks Jannis!)Add link from README to cookbookFixurlmethod for Google Storage, Rackspace Cloudfiles and
Microsoft Azure. Also return the correct value for non-US Amazon S3
buckets.0.1.2 (2014-04-24)Confirmed to work with Python 2.7Remove django-pipeline specific code from storagesAdd cookbook to docs that includes django-pipeline0.1.1 (2014-04-21)Fixed second-time run problem by just using LibCloudStorage classMade django-pipeline optionalRemoved unnecessary filesMoved TODO to issue tracker0.1.0 (2014-04-21)First release on PyPI.Frustration over lack of easy media asset support for Django and Python 3.