{ "info": { "author": "Dennis Vermeulen", "author_email": "blacktorn@gmail.com", "bugtrack_url": null, "classifiers": [ "Environment :: Web Environment", "Framework :: Django", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Programming Language :: Python", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Topic :: Internet :: WWW/HTTP :: Dynamic Content", "Topic :: Software Development", "Topic :: Software Development :: Libraries :: Application Frameworks" ], "description": ".. image:: https://img.shields.io/pypi/v/django-storage-swift.svg\n :target: https://pypi.python.org/pypi/django-storage-swift\n\n.. image:: https://travis-ci.org/dennisv/django-storage-swift.svg?branch=master\n :target: https://travis-ci.org/dennisv/django-storage-swift\n\n.. image:: https://codecov.io/gh/dennisv/django-storage-swift/branch/master/graph/badge.svg\n :target: https://codecov.io/gh/dennisv/django-storage-swift\n\ndjango-storage-swift: a storage layer for OpenStack Swift\n=========================================================\n\ndjango-storage-swift allows Django applications to use OpenStack Swift\nas a file storage layer.\n\nFeatures\n--------\n\n- Reads/writes files into/out of Swift.\n- Automatically derives the correct URL to allow files to be accessed\n through a web browser based on information returned from the\n authorisation server.\n\n - Allows you to override the host, port and path as necessary.\n - Supports the generation of temporary URLs to restrict access to\n files.\n\nUsage\n-----\n\nYou can install django-storage-swift through pip. To store your media\nfiles on swift, add the following line to your settings.py or\nlocal\\_settings.py:\n\n.. code:: python\n\n DEFAULT_FILE_STORAGE = 'swift.storage.SwiftStorage'\n\nTo store your static files on swift, add the following line:\n\n.. code:: python\n\n STATICFILES_STORAGE = 'swift.storage.StaticSwiftStorage'\n\nThis will use another container.\n\nConfiguring\n-----------\n\ndjango-storage-swift recognises the following options.\n\n+----------------------------------------------+----------------+----------------------------------------------------------------------------------------------------------------------------------------------------+\n| Option | Default | Description |\n+==============================================+================+====================================================================================================================================================+\n| ``SWIFT_AUTH_URL`` | *Required* | The URL for the auth server, e.g. ``http://127.0.0.1:5000/v2.0`` |\n+----------------------------------------------+----------------+----------------------------------------------------------------------------------------------------------------------------------------------------+\n| ``SWIFT_USERNAME`` | *Required* | The username to use to authenticate. |\n+----------------------------------------------+----------------+----------------------------------------------------------------------------------------------------------------------------------------------------+\n| ``SWIFT_KEY``/``SWIFT_PASSWORD`` | *Required* | The key (password) to use to authenticate. |\n+----------------------------------------------+----------------+----------------------------------------------------------------------------------------------------------------------------------------------------+\n| ``SWIFT_AUTH_VERSION`` | None | The version of the authentication protocol to use. If no auth version is defined, a version will be guessed based on auth parameters. |\n+----------------------------------------------+----------------+----------------------------------------------------------------------------------------------------------------------------------------------------+\n| ``SWIFT_TENANT_NAME``/``SWIFT_PROJECT_NAME`` | None | (v2 and v3 auth) The tenant/project name to use when authenticating. |\n+----------------------------------------------+----------------+----------------------------------------------------------------------------------------------------------------------------------------------------+\n| ``SWIFT_TENANT_ID``/``SWIFT_PROJECT_ID`` | None | (v2 and v3 auth) The tenant/project id to use when authenticating. |\n+----------------------------------------------+----------------+----------------------------------------------------------------------------------------------------------------------------------------------------+\n| ``SWIFT_USER_DOMAIN_NAME`` | None | (v3 auth only) The domain name we authenticate to |\n+----------------------------------------------+----------------+----------------------------------------------------------------------------------------------------------------------------------------------------+\n| ``SWIFT_USER_DOMAIN_ID`` | None | (v3 auth only) The domain id we authenticate to |\n+----------------------------------------------+----------------+----------------------------------------------------------------------------------------------------------------------------------------------------+\n| ``SWIFT_PROJECT_DOMAIN_NAME`` | None | (v3 auth only) The domain name our project is located in |\n+----------------------------------------------+----------------+----------------------------------------------------------------------------------------------------------------------------------------------------+\n| ``SWIFT_PROJECT_DOMAIN_ID`` | None | (v3 auth only) The domain id our project is located in |\n+----------------------------------------------+----------------+----------------------------------------------------------------------------------------------------------------------------------------------------+\n| ``SWIFT_REGION_NAME`` | None | OpenStack region if needed. Check with your provider. |\n+----------------------------------------------+----------------+----------------------------------------------------------------------------------------------------------------------------------------------------+\n| ``SWIFT_CONTAINER_NAME`` | None | The container in which to store the files. (``DEFAULT_FILE_STORAGE``) |\n+----------------------------------------------+----------------+----------------------------------------------------------------------------------------------------------------------------------------------------+\n| ``SWIFT_STATIC_CONTAINER_NAME`` | None | Alternate container for storing staticfiles. (``STATICFILES_STORAGE``) |\n+----------------------------------------------+----------------+----------------------------------------------------------------------------------------------------------------------------------------------------+\n| ``SWIFT_AUTO_CREATE_CONTAINER`` | False | Should the container be created if it does not exist? |\n+----------------------------------------------+----------------+----------------------------------------------------------------------------------------------------------------------------------------------------+\n| ``SWIFT_AUTO_CREATE_CONTAINER_PUBLIC`` | False | Set the auto created container as public on creation |\n+----------------------------------------------+----------------+----------------------------------------------------------------------------------------------------------------------------------------------------+\n| ``SWIFT_AUTO_CREATE_CONTAINER_ALLOW_ORIGIN`` | None | Set the container's X-Container-Meta-Access-Control-Allow-Origin value, to support CORS requests. |\n+----------------------------------------------+----------------+----------------------------------------------------------------------------------------------------------------------------------------------------+\n| ``SWIFT_AUTO_BASE_URL`` | True | Query the authentication server for the base URL. |\n+----------------------------------------------+----------------+----------------------------------------------------------------------------------------------------------------------------------------------------+\n| ``SWIFT_BASE_URL`` | None | The base URL from which the files can be retrieved, e.g. ``http://127.0.0.1:8080/``. |\n+----------------------------------------------+----------------+----------------------------------------------------------------------------------------------------------------------------------------------------+\n| ``SWIFT_NAME_PREFIX`` | None | Prefix that gets added to all filenames. |\n+----------------------------------------------+----------------+----------------------------------------------------------------------------------------------------------------------------------------------------+\n| ``SWIFT_USE_TEMP_URLS`` | False | Generate temporary URLs for file access (allows files to be accessed without a permissive ACL). |\n+----------------------------------------------+----------------+----------------------------------------------------------------------------------------------------------------------------------------------------+\n| ``SWIFT_TEMP_URL_KEY`` | None | Temporary URL key --- see `the OpenStack documentation `__. |\n+----------------------------------------------+----------------+----------------------------------------------------------------------------------------------------------------------------------------------------+\n| ``SWIFT_TEMP_URL_DURATION`` | ``30*60`` | How long a temporary URL remains valid, in seconds. |\n+----------------------------------------------+----------------+----------------------------------------------------------------------------------------------------------------------------------------------------+\n| ``SWIFT_EXTRA_OPTIONS`` | ``{}`` | Extra options, eg. { \"endpoint\\_type\": \"adminURL\" }, which will return adminURL instead publicURL. |\n+----------------------------------------------+----------------+----------------------------------------------------------------------------------------------------------------------------------------------------+\n| ``SWIFT_STATIC_BASE_URL`` | None | The base URL from which the static files can be retrieved, e.g. ``http://127.0.0.1:8080/``. |\n+----------------------------------------------+----------------+----------------------------------------------------------------------------------------------------------------------------------------------------+\n| ``SWIFT_STATIC_NAME_PREFIX`` | None | Prefix that gets added to all static filenames. |\n+----------------------------------------------+----------------+----------------------------------------------------------------------------------------------------------------------------------------------------+\n| ``SWIFT_CONTENT_TYPE_FROM_FD`` | False | Determine the files mimetypes from the actual content rather than from their filename (default). |\n+----------------------------------------------+----------------+----------------------------------------------------------------------------------------------------------------------------------------------------+\n| ``SWIFT_FULL_LISTING`` | True | Ensures to get whole directory contents (by default swiftclient limits it to 10000 entries) |\n+----------------------------------------------+----------------+----------------------------------------------------------------------------------------------------------------------------------------------------+\n| ``SWIFT_AUTH_TOKEN_DURATION`` | ``60*60*23`` | How long a token is expected to be valid in seconds. |\n+----------------------------------------------+----------------+----------------------------------------------------------------------------------------------------------------------------------------------------+\n\n\n\n\nSWIFT\\_BASE\\_URL\n~~~~~~~~~~~~~~~~\n\ndjango-swift-storage will automatically query the authentication server\nfor the URL where your files can be accessed, which takes the form\n``http://server:port/v1/AUTH_token/``.\n\nSometimes you want to override the server and port (for example if\nyou're developing using `devstack `__ inside\nVagrant). This can be accomplished with ``SWIFT_BASE_URL``.\n\nThe provided value is parsed, and:\n\n- host and port override any automatically derived values\n- any path component is put before derived path components.\n\nSo if your auth server returns\n``http://10.0.2.2:8080/v1/AUTH_012345abcd/`` and you have\n``SWIFT_BASE_URL=\"http://127.0.0.1:8888/foo\"``, the ``url`` function\nwill a path based on ``http://127.0.0.1:8888/foo/v1/AUTH_012345abcd/``.\n\nTemporary URLs\n~~~~~~~~~~~~~~\n\nTemporary URLs provide a means to grant a user permission to access a\nfile for a limited time only and without making the entire container\npublic.\n\nTemporary URLs work as described in the Swift documentation. (The code\nto generate the signatures is heavily based on their implementation.)\nThey require setup of a key for signing: the process is described in\n`the OpenStack\ndocumentation `__.\n\nUse\n---\n\nOnce installed and configured, use of django-storage-swift should be\nautomatic and seamless.\n\nYou can verify that swift is indeed being used by running, inside\n``python manage.py shell``:\n\n.. code:: python\n\n from django.core.files.storage import default_storage\n default_storage.http_conn\n\nThe result should be ``<>``\n\nOpenstack Keystone/Identity v3\n------------------------------\n\nTo authenticate with a swift installation using Keystone AUTH and the Identity v3 API, you must also specify either the domain ID or name that your user and project (tenant) belongs to.\n\n.. code:: python\n\n SWIFT_AUTH_URL='https://keystoneserver/v3'\n SWIFT_AUTH_VERSION='3'\n SWIFT_USERNAME='<>'\n SWIFT_KEY='<>'\n SWIFT_TENANT_NAME='<>'\n SWIFT_USER_DOMAIN_NAME='<>'\n SWIFT_PROJECT_DOMAIN_NAME='<>'\n\nTroubleshooting\n---------------\n\n- **I'm getting permission errors accessing my files**: If you are not\n using temporary URLs, you may need to make the container publically\n readable. See `this helpful\n discussion `__.\n If you are using temporary URLs, verify that your key is set\n correctly.\n- **I'm getting empty or truncated file uploads**: Issues with some content\n types may cause an incorrect `content_length` header to be sent with file\n uploads, resulting in 0 byte or truncated files. To avoid this, set\n `SWIFT_CONTENT_LENGTH_FROM_FD: True`.\n\n\nQuickstart\n----------\n\n.. code:: python\n\n # This was executed on a VM running a SAIO, for example with\n # https://github.com/swiftstack/vagrant-swift-all-in-one\n\n # Create two world-readable containers\n swift post -r \".r:*\" django\n swift post -r \".r:*\" django-static\n\n # A virtualenv to keep installation separated\n virtualenv sampleenv\n source sampleenv/bin/activate\n pip install django-storage-swift\n pip install django\n\n # Create a sample project\n django-admin startproject sampleproj\n export DJANGO_SETTINGS_MODULE=sampleproj.settings\n cd sampleproj/\n\n # A few required settings, using SAIO defaults\n cat <> sampleproj/settings.py\n DEFAULT_FILE_STORAGE='swift.storage.SwiftStorage'\n STATICFILES_STORAGE ='swift.storage.StaticSwiftStorage'\n SWIFT_AUTH_URL='http://127.0.0.1:8080/auth/v1.0'\n SWIFT_USERNAME='test:tester'\n SWIFT_KEY='testing'\n SWIFT_CONTAINER_NAME='django'\n SWIFT_STATIC_CONTAINER_NAME='django-static'\n EOF\n\n # Create the initial DB data\n python manage.py migrate\n\n # This uploads static files to Swift\n python manage.py collectstatic --noinput\n\n # Now open http://127.0.0.1:8000/admin/ in your browser\n # Static files like CSS are served by Swift\n python manage.py runserver\n\n\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/dennisv/django-storage-swift", "keywords": "", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "django-storage-swift", "package_url": "https://pypi.org/project/django-storage-swift/", "platform": "", "project_url": "https://pypi.org/project/django-storage-swift/", "project_urls": { "Homepage": "https://github.com/dennisv/django-storage-swift" }, "release_url": "https://pypi.org/project/django-storage-swift/1.2.19/", "requires_dist": [ "python-keystoneclient (>=0.2.3)", "python-magic (>=0.4.10)", "python-swiftclient (>=2.2.0)", "six" ], "requires_python": "", "summary": "OpenStack Swift storage backend for Django", "version": "1.2.19" }, "last_serial": 3705617, "releases": { "0.8": [ { "comment_text": "", "digests": { "md5": "85eb08df912c048dbe9233508b458ea7", "sha256": "93560ebc0d72639873edca1642885a1a8b30ea99f69d2c406fcff35376ec9041" }, "downloads": -1, "filename": "django-storage-swift-0.8.tar.gz", "has_sig": false, "md5_digest": "85eb08df912c048dbe9233508b458ea7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1768, "upload_time": "2013-08-15T13:12:16", "url": "https://files.pythonhosted.org/packages/6c/ab/bf5f9b1cd1338f99417c77e734326d9f73430e91229564fca3d1eacf4d7f/django-storage-swift-0.8.tar.gz" } ], "0.9": [ { "comment_text": "", "digests": { "md5": "1fc67ac06d5e7cda204e5676217afe6c", "sha256": "e0868ea0690fbe39bd1764bc1931c407594d7c6c77a395948677104561d08a60" }, "downloads": -1, "filename": "django-storage-swift-0.9.tar.gz", "has_sig": false, "md5_digest": "1fc67ac06d5e7cda204e5676217afe6c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1791, "upload_time": "2013-08-29T18:13:48", "url": "https://files.pythonhosted.org/packages/76/22/22cafead557a1f2cc5fb95aeaa6128ab647fc042ae4dcc600c26d4c33c6c/django-storage-swift-0.9.tar.gz" } ], "1.0": [ { "comment_text": "", "digests": { "md5": "c3159930a598845f1e46b9db8e120eb3", "sha256": "ef29d5ebe2117213d23fdfbb5e5bc0e6658cc1f03278e2241647db3089e6b3ff" }, "downloads": -1, "filename": "django-storage-swift-1.0.tar.gz", "has_sig": false, "md5_digest": "c3159930a598845f1e46b9db8e120eb3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2646, "upload_time": "2014-01-18T19:03:55", "url": "https://files.pythonhosted.org/packages/48/c8/785f0d0024240d4a02ee1f5b59a5b2e5f8594ebcdf03922505499d443b23/django-storage-swift-1.0.tar.gz" } ], "1.1": [ { "comment_text": "", "digests": { "md5": "de4903b63b85b863f3ce5840b5f88b62", "sha256": "9f823b8a5fbbb2affdca0ff37049b588e6fc21238333d453b4cc026c32981b33" }, "downloads": -1, "filename": "django-storage-swift-1.1.tar.gz", "has_sig": false, "md5_digest": "de4903b63b85b863f3ce5840b5f88b62", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2929, "upload_time": "2014-06-09T22:45:12", "url": "https://files.pythonhosted.org/packages/28/00/a8947412bc10f83a3bd60bdfb091578f6785f193220aacf4ceb95f22b3c8/django-storage-swift-1.1.tar.gz" } ], "1.2": [ { "comment_text": "", "digests": { "md5": "115cdcef39b52097ed35bcd884af068f", "sha256": "5a0336081baaf66ca2198aebd5806ee082f01e7b068d59ef54978113ca64fa7a" }, "downloads": -1, "filename": "django-storage-swift-1.2.tar.gz", "has_sig": false, "md5_digest": "115cdcef39b52097ed35bcd884af068f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3217, "upload_time": "2014-09-24T10:01:01", "url": "https://files.pythonhosted.org/packages/bb/71/208d170861da9fd98fbdde863eb8ca1a7bc9bf451a2821beeb3e88cfc5a7/django-storage-swift-1.2.tar.gz" } ], "1.2.1": [ { "comment_text": "", "digests": { "md5": "13654320053451f53c64a00b8f52005d", "sha256": "7b2fd82f5347c45a4f17391b5838d94755ac586b0984c8a078bcc8b5eae92e94" }, "downloads": -1, "filename": "django-storage-swift-1.2.1.tar.gz", "has_sig": false, "md5_digest": "13654320053451f53c64a00b8f52005d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3283, "upload_time": "2014-10-08T08:36:00", "url": "https://files.pythonhosted.org/packages/37/fa/d5a991e00e02174a37134c2d0e2b92bff8c77dbf6c7492744890726a739c/django-storage-swift-1.2.1.tar.gz" } ], "1.2.10": [ { "comment_text": "", "digests": { "md5": "73709348fa2d18a97027f8845b92468b", "sha256": "91fda18852a8d2ffe89cad0927b43084980d1b34fb4fff75ef15aa13bff8c282" }, "downloads": -1, "filename": "django_storage_swift-1.2.10-py2.py3-none-any.whl", "has_sig": true, "md5_digest": "73709348fa2d18a97027f8845b92468b", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 11974, "upload_time": "2016-07-05T14:35:23", "url": "https://files.pythonhosted.org/packages/6e/66/864235c8e5ae8f9855686e1da8e5a36deb8b31afa584d227f768ec86482c/django_storage_swift-1.2.10-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d58ff2d0eee97d8210c1db4165d2a1e2", "sha256": "50625866eb3786b8a2c3e80fc54a9d6ea26f50f26a6effde1132635032956ff9" }, "downloads": -1, "filename": "django-storage-swift-1.2.10.tar.gz", "has_sig": true, "md5_digest": "d58ff2d0eee97d8210c1db4165d2a1e2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8070, "upload_time": "2016-07-05T14:35:28", "url": "https://files.pythonhosted.org/packages/8d/b8/46b7b714aaa90f422404440b8ce77c87047755efdb6dc5754da7b7dbc0cc/django-storage-swift-1.2.10.tar.gz" } ], "1.2.11": [ { "comment_text": "", "digests": { "md5": "a406b90115fb694ab9841ab64f3c9ef8", "sha256": "4033e28c4218d63f0aeaf725339eaf01142619dc669e94bc308b72848505fdb4" }, "downloads": -1, "filename": "django_storage_swift-1.2.11-py2.py3-none-any.whl", "has_sig": true, "md5_digest": "a406b90115fb694ab9841ab64f3c9ef8", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 11998, "upload_time": "2016-09-15T12:28:46", "url": "https://files.pythonhosted.org/packages/5d/29/9fb6dd8a521f69782c105fa0ad5191f5bfd210e8bfec1a939033295e2aca/django_storage_swift-1.2.11-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c239d6139ab51308d607bdc52f7c07a1", "sha256": "1f4f83a4cb8e373158c4faef79c23ad4ee928d487d443d67bcc133d1e007c093" }, "downloads": -1, "filename": "django-storage-swift-1.2.11.tar.gz", "has_sig": true, "md5_digest": "c239d6139ab51308d607bdc52f7c07a1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8103, "upload_time": "2016-09-15T12:28:48", "url": "https://files.pythonhosted.org/packages/09/b2/493da37ee22a52c8a64c10f0c89c4eb92932ba46852e49301f5f5bfbb08f/django-storage-swift-1.2.11.tar.gz" } ], "1.2.12": [ { "comment_text": "", "digests": { "md5": "a78138659adbc12d279208a0c9d125a6", "sha256": "75d19f6e03fa182ecab1be0ac3c8f0ca2f18c0b9787c764e0530c6dd97895729" }, "downloads": -1, "filename": "django_storage_swift-1.2.12-py2.py3-none-any.whl", "has_sig": true, "md5_digest": "a78138659adbc12d279208a0c9d125a6", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 12421, "upload_time": "2016-10-10T11:06:14", "url": "https://files.pythonhosted.org/packages/01/b7/e497db0864391881c7d06ae0c7121660b1e5f50e568df8acae9d60d29d76/django_storage_swift-1.2.12-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f67e35e3323d2f16e0ada04c3c986572", "sha256": "526e40c59a96e7f61f450b5f69641c8bb6b466682c13e47117a0b3a00242e50e" }, "downloads": -1, "filename": "django-storage-swift-1.2.12.tar.gz", "has_sig": true, "md5_digest": "f67e35e3323d2f16e0ada04c3c986572", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8482, "upload_time": "2016-10-10T11:06:17", "url": "https://files.pythonhosted.org/packages/2b/b3/3720fdfde979c14fd18f6c47a67a3f9b9ade3e2f5fe0aefb38d075896ebe/django-storage-swift-1.2.12.tar.gz" } ], "1.2.13": [ { "comment_text": "", "digests": { "md5": "da9758f01cb16931c78db2b79d952a03", "sha256": "a2929dc741e4dd9032076beecfb8aef7160e22dfda08056110edbae351143bd1" }, "downloads": -1, "filename": "django_storage_swift-1.2.13-py2.py3-none-any.whl", "has_sig": true, "md5_digest": "da9758f01cb16931c78db2b79d952a03", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 12427, "upload_time": "2016-10-26T13:54:49", "url": "https://files.pythonhosted.org/packages/eb/a2/97e1cf161ee7660746a047d3a2dec15ad87be11a5d17718faa6dd44964b7/django_storage_swift-1.2.13-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "9b61d9218084e8fbbed85530255dc840", "sha256": "cc3525e754ba046c57c970b5529f8f73a1864d141a77137d2a2cb31934754210" }, "downloads": -1, "filename": "django-storage-swift-1.2.13.tar.gz", "has_sig": true, "md5_digest": "9b61d9218084e8fbbed85530255dc840", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8504, "upload_time": "2016-10-26T13:54:52", "url": "https://files.pythonhosted.org/packages/f3/a2/b170f3f6546a9fc9d7a661d50d4edba2d56eab5d8413806871e6cbdf1e07/django-storage-swift-1.2.13.tar.gz" } ], "1.2.14": [ { "comment_text": "", "digests": { "md5": "85aed068208cf52875bafd627893e153", "sha256": "c0c0b55cc40c26b5a6b4901a0b3d89d25e248d159120188fb37fc55682a503f4" }, "downloads": -1, "filename": "django_storage_swift-1.2.14-py2.py3-none-any.whl", "has_sig": true, "md5_digest": "85aed068208cf52875bafd627893e153", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 13779, "upload_time": "2016-11-23T11:12:45", "url": "https://files.pythonhosted.org/packages/5b/1e/87f8d8d8dc6a06f3b609679afdac69021fe4e4d92d086440d9081087ad78/django_storage_swift-1.2.14-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "1ac92a6e802a075a9461212a09407e63", "sha256": "7c2e2a5378faab5f1ed777237806a8d2e8f2fb967373d04603c7508c76cd590b" }, "downloads": -1, "filename": "django-storage-swift-1.2.14.tar.gz", "has_sig": true, "md5_digest": "1ac92a6e802a075a9461212a09407e63", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9486, "upload_time": "2016-11-23T11:12:48", "url": "https://files.pythonhosted.org/packages/be/03/03e4e03ac1644290685a7024d4b44c75781eaf2d5b7b3b69a32a953aeab5/django-storage-swift-1.2.14.tar.gz" } ], "1.2.15": [ { "comment_text": "", "digests": { "md5": "f0095ac6ead9732cc73fc0c279827f8b", "sha256": "2d9a94323d708489a783b77a56431afa8c4ae92160019faee4a31ef05d412076" }, "downloads": -1, "filename": "django_storage_swift-1.2.15-py2.py3-none-any.whl", "has_sig": true, "md5_digest": "f0095ac6ead9732cc73fc0c279827f8b", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 13888, "upload_time": "2017-01-11T10:06:02", "url": "https://files.pythonhosted.org/packages/7b/07/7f9eacd3aff8f3b9145738da81dbfda32d36be8da646f5010c3b878b209b/django_storage_swift-1.2.15-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f085431af20b87d4673d9af31211d78d", "sha256": "ac2ef187edadcb4f3f963eb1641c532673da8089a9de5a6129fe2383e014c97b" }, "downloads": -1, "filename": "django-storage-swift-1.2.15.tar.gz", "has_sig": true, "md5_digest": "f085431af20b87d4673d9af31211d78d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9592, "upload_time": "2017-01-11T10:06:07", "url": "https://files.pythonhosted.org/packages/c3/4c/d6552e928b90cce95a4d697a719fc6c5f092acf0c12d7a3f3c72492ee3c4/django-storage-swift-1.2.15.tar.gz" } ], "1.2.16": [ { "comment_text": "", "digests": { "md5": "e86b5e9e723e5a5157ed1ab832c5d3c3", "sha256": "3e1c5de324df848ec181eb52c72f838ec266eda37f60f4b19e1c8cd512038f25" }, "downloads": -1, "filename": "django_storage_swift-1.2.16-py2.py3-none-any.whl", "has_sig": true, "md5_digest": "e86b5e9e723e5a5157ed1ab832c5d3c3", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 13806, "upload_time": "2017-01-20T14:46:54", "url": "https://files.pythonhosted.org/packages/b5/75/3a6904d822c16038e70d8f1d2dc16dc0683567d589659cc0075d74e074b6/django_storage_swift-1.2.16-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d1fd22cc4d16b252b93da7697a60eedc", "sha256": "c6580fbfe218484c722f2bda56536dc26ed66875ef7fa2892fa3f090a2696443" }, "downloads": -1, "filename": "django-storage-swift-1.2.16.tar.gz", "has_sig": true, "md5_digest": "d1fd22cc4d16b252b93da7697a60eedc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9594, "upload_time": "2017-01-20T14:46:56", "url": "https://files.pythonhosted.org/packages/c2/f4/5bf00d00efb7bd78454a0a96f47bee6df36fedb846ad503d799dcc9a51ee/django-storage-swift-1.2.16.tar.gz" } ], "1.2.17": [ { "comment_text": "", "digests": { "md5": "9ca8ccae79814df6ec61f7de9c8a83fc", "sha256": "d06160aabcaab278159ae4b718c606d7a9b393504b24c4b03f8d5c4cef96d8e6" }, "downloads": -1, "filename": "django_storage_swift-1.2.17-py2.py3-none-any.whl", "has_sig": true, "md5_digest": "9ca8ccae79814df6ec61f7de9c8a83fc", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 13797, "upload_time": "2017-06-06T16:06:06", "url": "https://files.pythonhosted.org/packages/06/c1/3db7aad4406ff883366282db01e1f0f66fbe75b5ed9c959db02f23fc0400/django_storage_swift-1.2.17-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b1f31bee7630209536519fce827450a6", "sha256": "6a51ebd39ca6dcfdbdabbc70e8842da9ed8db59dfe03b914aabdc2922bd2dd61" }, "downloads": -1, "filename": "django-storage-swift-1.2.17.tar.gz", "has_sig": true, "md5_digest": "b1f31bee7630209536519fce827450a6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9590, "upload_time": "2017-06-06T16:06:08", "url": "https://files.pythonhosted.org/packages/c1/ac/9f0c09e388741df974e9da31d18f6298ebb02878ca8895a705d80ffeaa77/django-storage-swift-1.2.17.tar.gz" } ], "1.2.18": [ { "comment_text": "", "digests": { "md5": "14dc3fa29f41c32dd2950df69edab737", "sha256": "c7e830ed26350e03b6a652fe186f632f208d0815aa956a90f38748f0b14cefbc" }, "downloads": -1, "filename": "django_storage_swift-1.2.18-py2.py3-none-any.whl", "has_sig": true, "md5_digest": "14dc3fa29f41c32dd2950df69edab737", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 13930, "upload_time": "2018-02-15T10:03:55", "url": "https://files.pythonhosted.org/packages/0c/e5/3e9fd17f5c1cc78251e6c0566f1f4d8159e34217752c967a9aebd539ce3b/django_storage_swift-1.2.18-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "7a12af69b31fd43b8012376fa6e22b83", "sha256": "7daf970fb9b0e988075f6c8d235c8ebad3d513097da89cdd586bff2eff8e4dc4" }, "downloads": -1, "filename": "django-storage-swift-1.2.18.tar.gz", "has_sig": true, "md5_digest": "7a12af69b31fd43b8012376fa6e22b83", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9729, "upload_time": "2018-02-15T10:03:56", "url": "https://files.pythonhosted.org/packages/ff/36/c730f199b6723187d82ef9cd88d149d3f59ce39b66d42fc936f71cf3d027/django-storage-swift-1.2.18.tar.gz" } ], "1.2.19": [ { "comment_text": "", "digests": { "md5": "107db7e9b6f76a756acf530f6e07101a", "sha256": "4dbe5f211b0cdd34020bcf83c09332826e6cf0374c566b826a4459fe6f48ac10" }, "downloads": -1, "filename": "django_storage_swift-1.2.19-py2.py3-none-any.whl", "has_sig": true, "md5_digest": "107db7e9b6f76a756acf530f6e07101a", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 14164, "upload_time": "2018-03-26T09:00:20", "url": "https://files.pythonhosted.org/packages/0e/9c/bd2502dabd9d02652c908294096ae3cd16cea32f49f088d3ef6a4529bd29/django_storage_swift-1.2.19-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "dd80e28a0510a9638bfd98cb6e0aeb44", "sha256": "db3e2c231d927d17e1c25a4c2c3dda9aa82d001eaf6364d2b7447306cfc03e01" }, "downloads": -1, "filename": "django-storage-swift-1.2.19.tar.gz", "has_sig": true, "md5_digest": "dd80e28a0510a9638bfd98cb6e0aeb44", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9865, "upload_time": "2018-03-26T09:00:22", "url": "https://files.pythonhosted.org/packages/c1/bf/a4d0062ca84cc2627f350e6048ee0dc0f17de6f229d74e9f47f801037c82/django-storage-swift-1.2.19.tar.gz" } ], "1.2.3": [ { "comment_text": "", "digests": { "md5": "8af4dc942595ac47d51d4ed65ed03cdc", "sha256": "6df603db189612d26b7dc5f069c71138ff5cf7e8eb57e3a38e8384a99548e327" }, "downloads": -1, "filename": "django-storage-swift-1.2.3.tar.gz", "has_sig": false, "md5_digest": "8af4dc942595ac47d51d4ed65ed03cdc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3348, "upload_time": "2014-11-30T22:27:38", "url": "https://files.pythonhosted.org/packages/eb/32/39df3dde571c99f042035b7648dc6e2381265d3ba98b1f8d8ecd125b280c/django-storage-swift-1.2.3.tar.gz" } ], "1.2.4": [ { "comment_text": "", "digests": { "md5": "2eb42b197195294a1c3cf6c2867583cf", "sha256": "f13864f01274b403587b33d44f3d8960d8866f86dcbe0583f6491b0e6d07fef7" }, "downloads": -1, "filename": "django_storage_swift-1.2.4-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "2eb42b197195294a1c3cf6c2867583cf", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 5617, "upload_time": "2015-04-18T14:01:54", "url": "https://files.pythonhosted.org/packages/e4/3d/755fd7185e655c9185e646b96585e541d89eca5ad9eab95356198342a5c3/django_storage_swift-1.2.4-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d1a5340d73548206156c75c0866d59e5", "sha256": "a55e276f83731d318468ab8deee7bd32c03e05e704d7b6687a029b6e75766585" }, "downloads": -1, "filename": "django-storage-swift-1.2.4.tar.gz", "has_sig": false, "md5_digest": "d1a5340d73548206156c75c0866d59e5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3875, "upload_time": "2015-04-18T14:01:51", "url": "https://files.pythonhosted.org/packages/93/9e/ecf392b18a8678f530673d6b783477aa0e3078db7266d95a329d202a8c6c/django-storage-swift-1.2.4.tar.gz" } ], "1.2.5": [ { "comment_text": "", "digests": { "md5": "1a989ed4350c428177a8ebcd747f8479", "sha256": "d70edbedfb184156eaeb7813e5b13dd1ff2ef03f363bf569129e3ab8a653f24a" }, "downloads": -1, "filename": "django_storage_swift-1.2.5-py2.py3-none-any.whl", "has_sig": true, "md5_digest": "1a989ed4350c428177a8ebcd747f8479", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 11319, "upload_time": "2015-11-23T17:20:11", "url": "https://files.pythonhosted.org/packages/0f/ee/3d1fec290f9e781088cf9be60df5c966f0a0dace57a09a1b535d06d01314/django_storage_swift-1.2.5-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d3b267e19ee32d1d5294236dd53fbe3d", "sha256": "7bcd6c1030a18089e6ed34971289fb0f664e5f562fb4ca13f1f9a67e3885a4a8" }, "downloads": -1, "filename": "django-storage-swift-1.2.5.tar.gz", "has_sig": true, "md5_digest": "d3b267e19ee32d1d5294236dd53fbe3d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7509, "upload_time": "2015-11-23T17:20:24", "url": "https://files.pythonhosted.org/packages/92/68/72af4be03a360483a541b1e7046558594d940b5edac4fa4b29d0ae1b514f/django-storage-swift-1.2.5.tar.gz" } ], "1.2.6": [ { "comment_text": "", "digests": { "md5": "a6d44fcdf3903d8b0aa6a1a9f5f99268", "sha256": "9e9efd66f7da0eec302525f2fc1acbe634b3d30fbd0005afaa8fca72b95fedab" }, "downloads": -1, "filename": "django_storage_swift-1.2.6-py2.py3-none-any.whl", "has_sig": true, "md5_digest": "a6d44fcdf3903d8b0aa6a1a9f5f99268", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 11528, "upload_time": "2016-01-07T13:42:38", "url": "https://files.pythonhosted.org/packages/e4/5a/7036208cc47ea0d75fadc0da3312ad8eeb5d8d48db542b7f7a7c62f8a5ed/django_storage_swift-1.2.6-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "183b3a5c739de092a61f0e41f8749e41", "sha256": "fbd8b9f1362ff4c225f21c4b70ccfa6dabf05aaefcb1f0219547c8a6f84534bd" }, "downloads": -1, "filename": "django-storage-swift-1.2.6.tar.gz", "has_sig": true, "md5_digest": "183b3a5c739de092a61f0e41f8749e41", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7678, "upload_time": "2016-01-07T13:42:51", "url": "https://files.pythonhosted.org/packages/da/32/d0ec23c0e68f780e2e574455e971f7deca0d3fd9ff425f04de53bbb8399a/django-storage-swift-1.2.6.tar.gz" } ], "1.2.7": [ { "comment_text": "", "digests": { "md5": "7a226ce511eb9a4cc6060092daec89a0", "sha256": "b18f6be55ec33f494e5b9f521acc2e4aa5fa9ceae06f0956d5aa5a19a913aa84" }, "downloads": -1, "filename": "django_storage_swift-1.2.7-py2.py3-none-any.whl", "has_sig": true, "md5_digest": "7a226ce511eb9a4cc6060092daec89a0", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 11633, "upload_time": "2016-01-27T09:42:24", "url": "https://files.pythonhosted.org/packages/b6/fb/10f8b8b0b9b4c669fae5cb34fe2a1a7bb23ad3dfceffb858ba1f07a4ba3a/django_storage_swift-1.2.7-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "52dc4288007da582f40fc33602523743", "sha256": "9cf4fc31dc28f76d05e12f3c014d28c1b76dbf239cbb0f7855164d293e28103f" }, "downloads": -1, "filename": "django-storage-swift-1.2.7.tar.gz", "has_sig": true, "md5_digest": "52dc4288007da582f40fc33602523743", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7773, "upload_time": "2016-01-27T09:42:30", "url": "https://files.pythonhosted.org/packages/52/f5/152134f47741d6d0cf8a6b28cd548e633383f1e7691fbf4fd8f924245356/django-storage-swift-1.2.7.tar.gz" } ], "1.2.8": [ { "comment_text": "", "digests": { "md5": "071082574e44210b548090eb2ca4a08a", "sha256": "db8f3ac7d07bb7ec0b48f182401abb0ee78095d1b97a4ea9b9e9fe08d4734f32" }, "downloads": -1, "filename": "django_storage_swift-1.2.8-py2.py3-none-any.whl", "has_sig": true, "md5_digest": "071082574e44210b548090eb2ca4a08a", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 11922, "upload_time": "2016-02-02T15:35:14", "url": "https://files.pythonhosted.org/packages/1a/95/3a7c0289878679586f109353ec23c0e756a2ef05614586e4ef4056412297/django_storage_swift-1.2.8-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "41ea81609bb9e0cc852765a079e08fa6", "sha256": "5ee73c33b675a0d5f21de219fd2c0f4dc1593ef03952ade56314aa8a6b3ae80b" }, "downloads": -1, "filename": "django-storage-swift-1.2.8.tar.gz", "has_sig": true, "md5_digest": "41ea81609bb9e0cc852765a079e08fa6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8026, "upload_time": "2016-02-02T15:35:22", "url": "https://files.pythonhosted.org/packages/ed/e4/9ef13921f3907e91c2649dbb64ffabedb9160c22664d03a485c87ccbc215/django-storage-swift-1.2.8.tar.gz" } ], "1.2.9": [ { "comment_text": "", "digests": { "md5": "84b3c1eef0c4368dacb7f515cb65b4c8", "sha256": "6eeeb88207a313d2131b5274f59d9fb8378770e737f0afd673efa61570f5a3ed" }, "downloads": -1, "filename": "django_storage_swift-1.2.9-py2.py3-none-any.whl", "has_sig": true, "md5_digest": "84b3c1eef0c4368dacb7f515cb65b4c8", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 11921, "upload_time": "2016-02-16T10:20:57", "url": "https://files.pythonhosted.org/packages/9a/a8/d04a224da0acc5764251c605b74dc74c44c2b86eaf73d69701e3fcdbb8cd/django_storage_swift-1.2.9-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "07020c9901ab2133e46b44be08ac856f", "sha256": "fc103ddad7c1ce392b1199333dff14c0faf0997060ca8309464f5b49e476eb46" }, "downloads": -1, "filename": "django-storage-swift-1.2.9.tar.gz", "has_sig": true, "md5_digest": "07020c9901ab2133e46b44be08ac856f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8033, "upload_time": "2016-02-16T10:21:02", "url": "https://files.pythonhosted.org/packages/9f/98/1aac4bf1fa47200f2f7ae1c465d145c102dd144da6eee70b3dc5630623aa/django-storage-swift-1.2.9.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "107db7e9b6f76a756acf530f6e07101a", "sha256": "4dbe5f211b0cdd34020bcf83c09332826e6cf0374c566b826a4459fe6f48ac10" }, "downloads": -1, "filename": "django_storage_swift-1.2.19-py2.py3-none-any.whl", "has_sig": true, "md5_digest": "107db7e9b6f76a756acf530f6e07101a", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 14164, "upload_time": "2018-03-26T09:00:20", "url": "https://files.pythonhosted.org/packages/0e/9c/bd2502dabd9d02652c908294096ae3cd16cea32f49f088d3ef6a4529bd29/django_storage_swift-1.2.19-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "dd80e28a0510a9638bfd98cb6e0aeb44", "sha256": "db3e2c231d927d17e1c25a4c2c3dda9aa82d001eaf6364d2b7447306cfc03e01" }, "downloads": -1, "filename": "django-storage-swift-1.2.19.tar.gz", "has_sig": true, "md5_digest": "dd80e28a0510a9638bfd98cb6e0aeb44", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9865, "upload_time": "2018-03-26T09:00:22", "url": "https://files.pythonhosted.org/packages/c1/bf/a4d0062ca84cc2627f350e6048ee0dc0f17de6f229d74e9f47f801037c82/django-storage-swift-1.2.19.tar.gz" } ] }