Skip to main content

Adds easy python 3 and 2.7 support to Django for management of static assets.

Project description

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

Adds easy python 3 and 2.7 support to Django for management of static assets. This is a wrapper around the excellent Apache Libcloud library.

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, 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 Providers

If you want to use other libcloud providers (Rackspace, Openstack, other AWS centers, et al), please visit:

Features

  • Works for uploading media assets using Python 3.3 and Django 1.6.

  • In theory supports all the backends that libcloud supports.

FAQ

Because 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?

libcloud is awesome and has a dedicated team devoted to it. We can have it do most of the heavy lifting. On the other hand, converting django-storages to 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 the full list of supported providers!

How can I contribute?

Please read http://dj-libcloud.readthedocs.org/en/latest/contributing.html

What about compressors like django-pipeline?

Working on it. Currently the PipelineCachedCloudStorage class breaks the second time you run it. See https://github.com/pydanny/dj-libcloud/issues/7

CREDIT

Many 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.

History

0.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 cookbook

  • Fix url method 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.7

  • Remove django-pipeline specific code from storages

  • Add cookbook to docs that includes django-pipeline

0.1.1 (2014-04-21)

  • Fixed second-time run problem by just using LibCloudStorage class

  • Made django-pipeline optional

  • Removed unnecessary files

  • Moved TODO to issue tracker

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


Download files

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

Source Distribution

dj-libcloud-0.1.3.tar.gz (9.0 kB view details)

Uploaded Source

Built Distribution

dj_libcloud-0.1.3-py2.py3-none-any.whl (9.2 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file dj-libcloud-0.1.3.tar.gz.

File metadata

  • Download URL: dj-libcloud-0.1.3.tar.gz
  • Upload date:
  • Size: 9.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for dj-libcloud-0.1.3.tar.gz
Algorithm Hash digest
SHA256 5e188bbd47659fc8645a025f402510b3c4c764611d4e4b36a2fbc02ef9a32d4b
MD5 8fac40863c766fada43ca287f429aae0
BLAKE2b-256 30196737543b289b8a8c8b06c06f6eeceffdc5591a3bb795aff93c27456d58fc

See more details on using hashes here.

Provenance

File details

Details for the file dj_libcloud-0.1.3-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for dj_libcloud-0.1.3-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 13896ab28cb4a60a54a6ed00fa7230834354285dafb336bd913123162fd03152
MD5 837c72577d097c781fa4e2aaf3196933
BLAKE2b-256 d59ca97e1d96fb5e2e9d38ef597ba4f608fe5f2d7e4721536f4239d329043085

See more details on using hashes here.

Provenance

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page