Skip to main content

Adds easy support for libcloud to Django

Project description

https://badge.fury.io/py/dj-libcloud.png

Adds easy support for libcloud to Django. This allows for handling of media assets for Django and is designed to work easily with Python 3.3+ and Django 1.6+. In the works is support for Python 2.7.

Many thanks go to Jannis Leidel for giving me the code to get this started.

Documentation

The full documentation is at https://dj-libcloud.readthedocs.org.

Quickstart

Libcloud 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. See https://libcloud.readthedocs.org/en/latest/other/ssl-certificate-validation.html

Installing CA certificate bundle on Mac OS X:

# Assuming you are using homebrew for Mac OS X dependency management.
$ brew install curl-ca-bundle

Install dj-libcloud:

$ pip install dj-libcloud

Then use it in a project:

# settings.py

STATIC_URL = 'https://my-assets.cdn/static/'
MEDIA_URL = 'https://my-assets.cdn/media/'
STATICFILES_STORAGE = 'djlibcloud.storage.PipelineStorage'
LIBCLOUD_PROVIDERS = {
    'amazon_s3': {
        'type': 'libcloud.storage.types.Provider.S3',
        'user': os.environ.get('AWS_ACCESS_KEY'),
        'key': os.environ.get('AWS_SECRET_KEY'),
        'bucket': 'my-assets-cdn',
        'secure': True,
    }
}

DEFAULT_LIBCLOUD_PROVIDER = 'amazon_s3'

Features

  • Works for uploading media assets using Python 3.3 and Django 1.6.
  • In theory supports all the backends that libcloud supports.
  • Code borged from work of Jannis Leidel, Django core developer, the master of Django static asset managment, and a great guy.

TODO

  • Tests! OMG TESTS!!!
  • More documentation. Especially on providers types available.
  • Backport to Python 2.7
  • Add better error message if bucket not found
  • Come up with more storage types so we aren’t dependant on django-pipeline. Nothing wrong with pipeline, just want to provide more options.

History

0.1.0 (2014-04-21)

  • First release on PyPI.
  • Frustration over lack of easy media asset support for Django and Python 3.

Project details


Release history Release notifications

History Node

0.2.0

History Node

0.1.3

History Node

0.1.2

History Node

0.1.1

This version
History Node

0.1.0

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, size & hash SHA256 hash help File type Python version Upload date
dj-libcloud-0.1.0.tar.gz (8.5 kB) Copy SHA256 hash SHA256 Source None Apr 22, 2014

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging CloudAMQP CloudAMQP RabbitMQ AWS AWS Cloud computing Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page