{ "info": { "author": "Daniel Greenfeld", "author_email": "pydanny@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Framework :: Django", "Intended Audience :: Developers", "License :: OSI Approved :: BSD License", "Natural Language :: English", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.3" ], "description": "=============================\ndj-libcloud\n=============================\n\n.. image:: https://badge.fury.io/py/dj-libcloud.png\n :target: https://badge.fury.io/py/dj-libcloud\n\nAdds easy python 3 and 2.7 support to Django for management of static assets. This is a wrapper around the excellent `Apache Libcloud`_ library.\n\n.. _`Apache Libcloud`: https://libcloud.apache.org/\n\nDocumentation\n-------------\n\nThe full documentation is at https://dj-libcloud.readthedocs.org.\n\n\nQuickstart\n------------------------\n\nLibcloud 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\n\nInstalling CA certificate bundle on Mac OS X::\n\n # Assuming you are using homebrew for Mac OS X dependency management.\n $ brew install curl-ca-bundle\n\nInstall dj-libcloud::\n\n $ pip install dj-libcloud\n\nThen use it in a project, e.g. for your static files::\n\n # settings.py\n\n STATIC_URL = 'https://s3.amazonaws.com/my-assets/'\n STATICFILES_STORAGE = 'djlibcloud.storage.LibCloudStorage'\n\n LIBCLOUD_PROVIDERS = {\n 'default': {\n 'type': 'libcloud.storage.types.Provider.S3',\n 'user': os.environ.get('AWS_ACCESS_KEY'),\n 'key': os.environ.get('AWS_SECRET_KEY'),\n 'bucket': 'my-assets',\n 'secure': True,\n },\n }\n\nOther LibCloud Providers\n------------------------\n\nIf you want to use other libcloud providers (Rackspace, Openstack, other AWS centers, et al), please visit:\n\n* The `libcloud list of supported providers`_\n* The `dj-libcloud cookbook`_.\n\n.. _`libcloud list of supported providers`: https://libcloud.readthedocs.org/en/latest/storage/supported_providers.html\n.. _`dj-libcloud cookbook`: http://dj-libcloud.readthedocs.org/en/latest/cookbook.html\n\nFeatures\n--------\n\n* Works for uploading media assets using Python 3.3 and Django 1.6.\n* In theory supports all the backends that libcloud supports.\n\nFAQ\n-----\n\nBecause you just had to ask.\n\nWhy not use dj-static or whitenoise?\n++++++++++++++++++++++++++++++++++++++++++++++++++++++\n\nThose are great libraries, but are not what you want when handling user uploaded media.\n\nWhy not just update django-storages?\n++++++++++++++++++++++++++++++++++++++++++++++++++++++\n\n`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?\n\nWhat storage providers does dj-libcloud support?\n+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n\ndj-libcloud is a wrapper around libcloud, meaning it supports all the providers of that library. Check out the `full list of supported providers`_!\n\n.. _`full list of supported providers`: https://libcloud.readthedocs.org/en/latest/storage/supported_providers.html\n\n\n\nHow can I contribute?\n++++++++++++++++++++++++++++++++++++\n\nPlease read http://dj-libcloud.readthedocs.org/en/latest/contributing.html\n\nWhat about compressors like django-pipeline?\n++++++++++++++++++++++++++++++++++++++++++++++++++++++\n\nWorking on it. Currently the `PipelineCachedCloudStorage` class breaks the second time you run it. See https://github.com/pydanny/dj-libcloud/issues/7\n\nCREDIT\n------\n\nMany 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.\n\n\n\n\nHistory\n-------\n\n0.2.0(2014-06-23)\n++++++++++++++++++\n\n* Updated url method to return correct values for Rackspace Cloudfiles, Microsoft Azure, Google Storage, non-US Amazon SV (Thanks Jannis!)\n* Improved the cookbook immensely (Thanks Jannis!)\n* Add link from README to cookbook\n* Fix ``url`` method for Google Storage, Rackspace Cloudfiles and\n Microsoft Azure. Also return the correct value for non-US Amazon S3\n buckets.\n\n0.1.2 (2014-04-24)\n++++++++++++++++++\n\n* Confirmed to work with Python 2.7\n* Remove django-pipeline specific code from storages\n* Add cookbook to docs that includes django-pipeline\n\n0.1.1 (2014-04-21)\n++++++++++++++++++\n\n* Fixed second-time run problem by just using LibCloudStorage class\n* Made django-pipeline optional\n* Removed unnecessary files\n* Moved TODO to issue tracker\n\n0.1.0 (2014-04-21)\n++++++++++++++++++\n\n* First release on PyPI.\n* Frustration over lack of easy media asset support for Django and Python 3.", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/pydanny/dj-libcloud", "keywords": "dj-libcloud", "license": "BSD", "maintainer": null, "maintainer_email": null, "name": "dj-libcloud", "package_url": "https://pypi.org/project/dj-libcloud/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/dj-libcloud/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://github.com/pydanny/dj-libcloud" }, "release_url": "https://pypi.org/project/dj-libcloud/0.2.0/", "requires_dist": null, "requires_python": null, "summary": "Adds easy python 3 and 2.7 support to Django for management of static assets.", "version": "0.2.0" }, "last_serial": 1134906, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "17f33754e66be9a627d1d1d95af9eb41", "sha256": "1fc953777efdccc92b6083df90a6eb87900ec8ae7c7984f1af75848019d58b31" }, "downloads": -1, "filename": "dj-libcloud-0.1.0.tar.gz", "has_sig": false, "md5_digest": "17f33754e66be9a627d1d1d95af9eb41", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8542, "upload_time": "2014-04-22T22:10:32", "url": "https://files.pythonhosted.org/packages/7a/be/0b0a9a7ef604693004c5bc1aec05a58758d6aab2f168c7a1052b5f181b83/dj-libcloud-0.1.0.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "50ce6ae868ce1ee8c77727b9ed5310d7", "sha256": "ea341802dd694e348a176eec7b1c58f1bbf83a410da71c96c0baeeeb3b0488b3" }, "downloads": -1, "filename": "dj-libcloud-0.1.1.tar.gz", "has_sig": false, "md5_digest": "50ce6ae868ce1ee8c77727b9ed5310d7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8459, "upload_time": "2014-04-23T01:56:07", "url": "https://files.pythonhosted.org/packages/9a/2e/6220d00b4cf7c631be885099d3d54d3be67659660e43a015ffad2b3abc07/dj-libcloud-0.1.1.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "5bef159ce507c52e9472296da887f492", "sha256": "93e22ab9ca58af22147ea2270def7d6408e249a1f9bd34b805fb286b8fc3a2e6" }, "downloads": -1, "filename": "dj_libcloud-0.1.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "5bef159ce507c52e9472296da887f492", "packagetype": "bdist_wheel", "python_version": "3.3", "requires_python": null, "size": 8200, "upload_time": "2014-04-24T14:21:27", "url": "https://files.pythonhosted.org/packages/e7/95/2070edb1b6b22ac07c82473ef9b1af6a5336e640723f779ac8211cf188ed/dj_libcloud-0.1.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "41e099d839f01037d43dbdcffa61a7a6", "sha256": "9a7cfaa3b34e88490f90a3b274b202770f488402ed7794921bd74e6edce21427" }, "downloads": -1, "filename": "dj-libcloud-0.1.2.tar.gz", "has_sig": false, "md5_digest": "41e099d839f01037d43dbdcffa61a7a6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8290, "upload_time": "2014-04-24T14:19:22", "url": "https://files.pythonhosted.org/packages/82/0c/5398e17d0de28aa3a830493110ccc23e465ded8f8f3dd467b813e024e10d/dj-libcloud-0.1.2.tar.gz" } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "837c72577d097c781fa4e2aaf3196933", "sha256": "13896ab28cb4a60a54a6ed00fa7230834354285dafb336bd913123162fd03152" }, "downloads": -1, "filename": "dj_libcloud-0.1.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "837c72577d097c781fa4e2aaf3196933", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 9245, "upload_time": "2014-06-23T18:24:06", "url": "https://files.pythonhosted.org/packages/d5/9c/a97e1d96fb5e2e9d38ef597ba4f608fe5f2d7e4721536f4239d329043085/dj_libcloud-0.1.3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "8fac40863c766fada43ca287f429aae0", "sha256": "5e188bbd47659fc8645a025f402510b3c4c764611d4e4b36a2fbc02ef9a32d4b" }, "downloads": -1, "filename": "dj-libcloud-0.1.3.tar.gz", "has_sig": false, "md5_digest": "8fac40863c766fada43ca287f429aae0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9033, "upload_time": "2014-06-23T18:24:04", "url": "https://files.pythonhosted.org/packages/30/19/6737543b289b8a8c8b06c06f6eeceffdc5591a3bb795aff93c27456d58fc/dj-libcloud-0.1.3.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "4a0c9296af9a8e07746feb2465a07083", "sha256": "9c7b25e2374f17e8265d96270e3e98dd6807acaf09fd7d62c78003e295b7783d" }, "downloads": -1, "filename": "dj_libcloud-0.2.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "4a0c9296af9a8e07746feb2465a07083", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 9242, "upload_time": "2014-06-23T18:24:47", "url": "https://files.pythonhosted.org/packages/87/57/3d874cbe39afb94d86e9d9fbb14328f403cd9c4710c89b762e5d85cad95c/dj_libcloud-0.2.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "fc088bb10214c1295677d63a9a94f700", "sha256": "b7b4ac3567c9ce696cea3cfee49c537928a9fcab2e6b3420587146376870809a" }, "downloads": -1, "filename": "dj-libcloud-0.2.0.tar.gz", "has_sig": false, "md5_digest": "fc088bb10214c1295677d63a9a94f700", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9041, "upload_time": "2014-06-23T18:24:44", "url": "https://files.pythonhosted.org/packages/4d/52/0ac95e28d5860a0d38c485cf55faf856d7492dc75b92bd33123b5094194d/dj-libcloud-0.2.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "4a0c9296af9a8e07746feb2465a07083", "sha256": "9c7b25e2374f17e8265d96270e3e98dd6807acaf09fd7d62c78003e295b7783d" }, "downloads": -1, "filename": "dj_libcloud-0.2.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "4a0c9296af9a8e07746feb2465a07083", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 9242, "upload_time": "2014-06-23T18:24:47", "url": "https://files.pythonhosted.org/packages/87/57/3d874cbe39afb94d86e9d9fbb14328f403cd9c4710c89b762e5d85cad95c/dj_libcloud-0.2.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "fc088bb10214c1295677d63a9a94f700", "sha256": "b7b4ac3567c9ce696cea3cfee49c537928a9fcab2e6b3420587146376870809a" }, "downloads": -1, "filename": "dj-libcloud-0.2.0.tar.gz", "has_sig": false, "md5_digest": "fc088bb10214c1295677d63a9a94f700", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9041, "upload_time": "2014-06-23T18:24:44", "url": "https://files.pythonhosted.org/packages/4d/52/0ac95e28d5860a0d38c485cf55faf856d7492dc75b92bd33123b5094194d/dj-libcloud-0.2.0.tar.gz" } ] }