{ "info": { "author": "Josh Schneier", "author_email": "josh.schneier@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Environment :: Web Environment", "Framework :: Django", "Framework :: Django :: 1.11", "Framework :: Django :: 2.0", "Framework :: Django :: 2.1", "Framework :: Django :: 2.2", "Intended Audience :: Developers", "License :: OSI Approved :: BSD License", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7" ], "description": ".. image:: https://raw.githubusercontent.com/jschneier/django-storages/master/docs/logos/horizontal.png\n :alt: Django-Storages\n :width: 100%\n\n.. image:: https://img.shields.io/pypi/v/django-storages.svg\n :target: https://pypi.org/project/django-storages/\n :alt: PyPI Version\n\n.. image:: https://travis-ci.org/jschneier/django-storages.svg?branch=master\n :target: https://travis-ci.org/jschneier/django-storages\n :alt: Build Status\n\nInstallation\n============\nInstalling from PyPI is as easy as doing:\n\n.. code-block:: bash\n\n pip install django-storages\n\nIf you'd prefer to install from source (maybe there is a bugfix in master that\nhasn't been released yet) then the magic incantation you are looking for is:\n\n.. code-block:: bash\n\n pip install -e 'git+https://github.com/jschneier/django-storages.git#egg=django-storages'\n\nOnce that is done set ``DEFAULT_FILE_STORAGE`` to the backend of your choice.\nIf, for example, you want to use the boto3 backend you would set:\n\n.. code-block:: python\n\n DEFAULT_FILE_STORAGE = 'storages.backends.s3boto3.S3Boto3Storage'\n\n\nIf you are using the ``FileSystemStorage`` as your storage management class in your models ``FileField`` fields, remove them\nand don't specify any storage parameter. That way, the ``DEFAULT_FILE_STORAGE`` class will be used by default in your field.\nFor example, if you have a `photo` field defined as:\n\n.. code-block:: python\n\n photo = models.FileField(\n storage=FileSystemStorage(location=settings.MEDIA_ROOT),\n upload_to='photos',\n )\n\nSet it to just:\n\n.. code-block:: python\n\n photo = models.FileField(\n upload_to='photos',\n )\n\nThere are also a number of settings available to control how each storage backend functions,\nplease consult the documentation for a comprehensive list.\n\nAbout\n=====\ndjango-storages is a project to provide a variety of storage backends in a single library.\n\nThis library is usually compatible with the currently supported versions of\nDjango. Check the Trove classifiers in setup.py to be sure.\n\nHistory\n=======\nThis repo began as a fork of the original library under the package name of django-storages-redux and\nbecame the official successor (releasing under django-storages on PyPI) in February of 2016.\n\nFound a Bug? Something Unsupported?\n===================================\nI suspect that a few of the storage engines in backends/ have been unsupported\nfor quite a long time. I personally only really need the S3Storage backend but\nwelcome bug reports (and especially) patches and tests for some of the other\nbackends.\n\nIssues are tracked via GitHub issues at the `project issue page\n`_.\n\nDocumentation\n=============\nDocumentation for django-storages is located at https://django-storages.readthedocs.io/.\n\nContributing\n============\n\n#. `Check for open issues\n `_ at the project\n issue page or open a new issue to start a discussion about a feature or bug.\n#. Fork the `django-storages repository on GitHub\n `_ to start making changes.\n#. Add a test case to show that the bug is fixed or the feature is implemented\n correctly.\n#. Bug me until I can merge your pull request. Also, don't forget to add\n yourself to ``AUTHORS``.\n\n\ndjango-storages CHANGELOG\n=========================\n\n1.7.2 (2019-09-10)\n******************\n\nS3\n--\n\n- Avoid misleading ``AWS_DEFAULT_ACL`` warning for insecure ``default_acl`` when\n overridden as a class variable (`#591_`)\n- Propagate file deletion to cache when ``preload_metadata`` is ``True``,\n (not the default) (`#743`_, `#749`_)\n- Fix exception raised on closed file (common if using ``ManifestFilesMixin`` or\n ``collectstatic``. (`#382`_, `#754`_)\n\nAzure\n-----\n\n- Pare down the required packages in ``extra_requires`` when installing the ``azure`` extra to only\n ``azure-storage-blob`` (`#680`_, `#684`_)\n- Fix compatability with ``generate_blob_shared_access_signature`` updated signature (`#705`_, `#723`_)\n- Fetching a file now uses the configured timeout rather than hardcoding one (`#727`_)\n- Add support for configuring all blobservice options: ``AZURE_EMULATED_MODE``, ``AZURE_ENDPOINT_SUFFIX``,\n ``AZURE_CUSTOM_DOMAIN``, ``AZURE_CONNECTION_STRING``, ``AZURE_CUSTOM_CONNECTION_STRING``,\n ``AZURE_TOKEN_CREDENTIAL``. See the docs for more info. Huge thanks once again to @nitely. (`#750`_)\n- Fix filename handling to not strip special characters (`#609`_, `#752`_)\n\n\nGoogle Cloud\n------------\n\n- Set the file acl in the same call that uploads it (`#698`_)\n- Reduce the number of queries and required permissions when ``GS_AUTO_CREATE_BUCKET`` is\n ``False`` (the default) (`#412`_, `#718`_)\n- Set the ``predefined_acl`` when creating a ``GoogleCloudFile`` using ``.write``\n (`#640`_, `#756`_)\n- Add ``GS_BLOB_CHUNK_SIZE`` setting to enable efficient uploading of large files (`#757`_)\n\nDropbox\n-------\n\n- Complete migration to v2 api with file fetching and metadata fixes (`#724`_)\n- Add ``DROPBOX_TIMEOUT`` to configure client timeout defaulting to 100 seconds\n to match the underlying sdk. (`#419`_, `#747`_)\n\nSFTP\n----\n\n- Fix reopening a file (`#746`_)\n\n.. _#591: https://github.com/jschneier/django-storages/pull/591\n.. _#680: https://github.com/jschneier/django-storages/issues/680\n.. _#684: https://github.com/jschneier/django-storages/pull/684\n.. _#698: https://github.com/jschneier/django-storages/pull/698\n.. _#705: https://github.com/jschneier/django-storages/issues/705\n.. _#723: https://github.com/jschneier/django-storages/pull/723\n.. _#727: https://github.com/jschneier/django-storages/pull/727\n.. _#746: https://github.com/jschneier/django-storages/pull/746\n.. _#724: https://github.com/jschneier/django-storages/pull/724\n.. _#412: https://github.com/jschneier/django-storages/pull/412\n.. _#718: https://github.com/jschneier/django-storages/pull/718\n.. _#743: https://github.com/jschneier/django-storages/issues/743\n.. _#749: https://github.com/jschneier/django-storages/pull/749\n.. _#750: https://github.com/jschneier/django-storages/pull/750\n.. _#609: https://github.com/jschneier/django-storages/issues/609\n.. _#752: https://github.com/jschneier/django-storages/pull/752\n.. _#382: https://github.com/jschneier/django-storages/issues/382\n.. _#754: https://github.com/jschneier/django-storages/pull/754\n.. _#419: https://github.com/jschneier/django-storages/issues/419\n.. _#747: https://github.com/jschneier/django-storages/pull/747\n.. _#640: https://github.com/jschneier/django-storages/issues/640\n.. _#756: https://github.com/jschneier/django-storages/pull/756\n.. _#757: https://github.com/jschneier/django-storages/pull/757\n\n1.7.1 (2018-09-06)\n******************\n\n- Fix off-by-1 error in ``get_available_name`` whenever ``file_overwrite`` or ``overwrite_files`` is ``True`` (`#588`_, `#589`_)\n- Change ``S3Boto3Storage.listdir()`` to use ``list_objects`` instead of ``list_objects_v2`` to restore\n compatability with services implementing the S3 protocol that do not yet support the new method (`#586`_, `#590`_)\n\n.. _#588: https://github.com/jschneier/django-storages/issues/588\n.. _#589: https://github.com/jschneier/django-storages/pull/589\n.. _#586: https://github.com/jschneier/django-storages/issues/586\n.. _#590: https://github.com/jschneier/django-storages/pull/590\n\n1.7 (2018-09-03)\n****************\n\n**Security**\n\n- The ``S3BotoStorage`` and ``S3Boto3Storage`` backends have an insecure\n default ACL of ``public-read``. It is recommended that all current users audit their bucket\n permissions. Support has been added for setting ``AWS_DEFAULT_ACL = None`` and ``AWS_BUCKET_ACL =\n None`` which causes all created files to inherit the bucket's ACL (and created buckets to inherit the\n Amazon account's default ACL). This will become the default in version 2.0 (for ``S3Boto3Storage`` only\n since ``S3BotoStorage`` will be removed in version 1.8, see below). Additionally, a warning is now\n raised if ``AWS_DEFAULT_ACL`` or ``AWS_BUCKET_ACL`` is not explicitly set. (`#381`_, `#535`_, `#579`_)\n\n**Breaking**\n\n- The ``AzureStorage`` backend and documentation has been completely rewritten. It now\n depends on ``azure`` and ``azure-storage-blob`` and is *vastly* improved. Big thanks to @nitely and all\n other contributors along the way (`#565`_)\n- The ``.url()`` method of ``GoogleCloudStorage`` has been completely reworked. Many use\n cases should require no changes and will experience a massive speedup. The ``.url()`` method no longer hits\n the network for public urls and generates signed urls (with a default of 1-day expiration, configurable\n via ``GS_EXPIRATION``) for non-public buckets. Check out the docs for more information. (`#570`_)\n- Various backends will now raise ``ImproperlyConfigured`` at runtime if their\n location (``GS_LOCATION``, ``AWS_LOCATION``) begins with a leading ``/`` rather than silently\n stripping it. Verify yours does not. (`#520`_)\n- The long deprecated ``GSBotoStorage`` backend is removed. (`#518`_)\n\n**Deprecation**\n\n- The insecure default of ``public-read`` for ``AWS_DEFAULT_ACL`` and\n ``AWS_BUCKET_ACL`` in ``S3Boto3Storage`` will change to inherit the bucket's setting in version 2.0 (`#579`_)\n- The legacy ``S3BotoBackend`` is deprecated and will be removed in version 1.8.\n It is strongly recommended to move to the ``S3Boto3Storage`` backend for performance,\n stability and bugfix reasons. See the `boto migration docs`_ for step-by-step guidelines. (`#578`_, `#584`_)\n- The long aliased arguments to ``S3Boto3Storage`` of ``acl`` and ``bucket`` are\n deprecated in favor of ``bucket_name`` and ``default_acl`` (`#516`_)\n- The minimum required version of ``boto3`` will be increasing to ``1.4.4`` in\n the next major version of ``django-storages``. (`#583`_)\n\n**Features**\n\n- Add support for a file to inherit its bucket's ACL by setting ``AWS_DEFAULT_ACL = None`` (`#535`_)\n- Add ``GS_CACHE_CONTROL`` setting for ``GoogleCloudStorage`` backend (`#411`_, `#505`_)\n- Add documentation around using django-storages with Digital Ocean Spaces (`#521`_)\n- Add support for Django 2.1 and Python 3.7 (`#530`_)\n- Make ``S3Boto3Storage`` pickleable (`#551`_)\n- Add automatic reconnection to ``SFTPStorage`` (`#563`_, `#564`_)\n- Unconditionally set the security token in the boto backends (`b13efd`_)\n- Improve efficiency of ``.listdir`` on ``S3Boto3Storage`` (`#352`_)\n- Add ``AWS_S3_VERIFY`` to support custom certificates and disabling certificate verification\n to ``S3Boto3Storage`` (`#486`_, `#580`_)\n- Add ``AWS_S3_PROXIES`` setting to ``S3Boto3Storage`` (`#583`_)\n- Add a snazzy new logo. Big thanks to @reallinfo\n\n**Bugfixes**\n\n- Reset file read offset before passing to ``GoogleCloudStorage`` and ``AzureStorage`` (`#481`_, `#581`_, `#582`_)\n- Fix various issues with multipart uploads in the S3 backends\n (`#169`_, `#160`_, `#364`_, `#449`_, `#504`_, `#506`_, `#546`_)\n- Fix ``S3Boto3Storage`` to stream down large files (also disallow `r+w` mode) (`#383`_, `#548`_)\n- Fix ``SFTPStorageFile`` to align with the core ``File`` abstraction (`#487`_, `#568`_)\n- Catch ``IOError`` in ``SFTPStorage.delete`` (`#568`_)\n- ``AzureStorage``, ``GoogleCloudStorage``, ``S3Boto3Storage`` and ``S3BotoStorage`` now\n respect ``max_length`` when ``file_overwrite = True`` (`#513`_, `#554`_)\n- The S3 backends now consistently use ``compresslevel=9`` (the Python stdlib default)\n for gzipped content (`#572`_, `#576`_)\n- Improve error message of ``S3Boto3Storage`` during an unexpected exception when automatically\n creating a bucket (`#574`_, `#577`_)\n\n.. _#381: https://github.com/jschneier/django-storages/issues/381\n.. _#535: https://github.com/jschneier/django-storages/pull/535\n.. _#579: https://github.com/jschneier/django-storages/pull/579\n.. _#565: https://github.com/jschneier/django-storages/pull/565\n.. _#520: https://github.com/jschneier/django-storages/pull/520\n.. _#518: https://github.com/jschneier/django-storages/pull/518\n.. _#516: https://github.com/jschneier/django-storages/pull/516\n.. _#481: https://github.com/jschneier/django-storages/pull/481\n.. _#581: https://github.com/jschneier/django-storages/pull/581\n.. _#582: https://github.com/jschneier/django-storages/pull/582\n.. _#411: https://github.com/jschneier/django-storages/issues/411\n.. _#505: https://github.com/jschneier/django-storages/pull/505\n.. _#521: https://github.com/jschneier/django-storages/pull/521\n.. _#169: https://github.com/jschneier/django-storages/pull/169\n.. _#160: https://github.com/jschneier/django-storages/issues/160\n.. _#364: https://github.com/jschneier/django-storages/pull/364\n.. _#449: https://github.com/jschneier/django-storages/issues/449\n.. _#504: https://github.com/jschneier/django-storages/pull/504\n.. _#530: https://github.com/jschneier/django-storages/pull/530\n.. _#506: https://github.com/jschneier/django-storages/pull/506\n.. _#546: https://github.com/jschneier/django-storages/pull/546\n.. _#383: https://github.com/jschneier/django-storages/issues/383\n.. _#548: https://github.com/jschneier/django-storages/pull/548\n.. _b13efd: https://github.com/jschneier/django-storages/commit/b13efd92b3bf3e9967b8e7819224bfcf9abb977e\n.. _#551: https://github.com/jschneier/django-storages/pull/551\n.. _#563: https://github.com/jschneier/django-storages/issues/563\n.. _#564: https://github.com/jschneier/django-storages/pull/564\n.. _#487: https://github.com/jschneier/django-storages/issues/487\n.. _#568: https://github.com/jschneier/django-storages/pull/568\n.. _#513: https://github.com/jschneier/django-storages/issues/513\n.. _#554: https://github.com/jschneier/django-storages/pull/554\n.. _#570: https://github.com/jschneier/django-storages/pull/570\n.. _#572: https://github.com/jschneier/django-storages/issues/572\n.. _#576: https://github.com/jschneier/django-storages/pull/576\n.. _#352: https://github.com/jschneier/django-storages/pull/352\n.. _#574: https://github.com/jschneier/django-storages/issues/574\n.. _#577: https://github.com/jschneier/django-storages/pull/577\n.. _#486: https://github.com/jschneier/django-storages/pull/486\n.. _#580: https://github.com/jschneier/django-storages/pull/580\n.. _#583: https://github.com/jschneier/django-storages/pull/583\n.. _boto migration docs: https://django-storages.readthedocs.io/en/latest/backends/amazon-S3.html#migrating-boto-to-boto3\n.. _#578: https://github.com/jschneier/django-storages/pull/578\n.. _#584: https://github.com/jschneier/django-storages/pull/584\n\n1.6.6 (2018-03-26)\n******************\n\n* You can now specify the backend you are using to install the necessary dependencies using\n ``extra_requires``. For example ``pip install django-storages[boto3]`` (`#417`_)\n* Add additional content-type detection fallbacks (`#406`_, `#407`_)\n* Add ``GS_LOCATION`` setting to specify subdirectory for ``GoogleCloudStorage`` (`#355`_)\n* Add support for uploading large files to ``DropBoxStorage``, fix saving files (`#379`_, `#378`_, `#301`_)\n* Drop support for Django 1.8 and Django 1.10 (and hence Python 3.3) (`#438`_)\n* Implement ``get_created_time`` for ``GoogleCloudStorage`` (`#464`_)\n\n.. _#417: https://github.com/jschneier/django-storages/pull/417\n.. _#407: https://github.com/jschneier/django-storages/pull/407\n.. _#406: https://github.com/jschneier/django-storages/issues/406\n.. _#355: https://github.com/jschneier/django-storages/pull/355\n.. _#379: https://github.com/jschneier/django-storages/pull/379\n.. _#378: https://github.com/jschneier/django-storages/issues/378\n.. _#301: https://github.com/jschneier/django-storages/issues/301\n.. _#438: https://github.com/jschneier/django-storages/issues/438\n.. _#464: https://github.com/jschneier/django-storages/pull/464\n\n1.6.5 (2017-08-01)\n******************\n\n* Fix Django 1.11 regression with gzipped content being saved twice\n resulting in empty files (`#367`_, `#371`_, `#373`_)\n* Fix the ``mtime`` when gzipping content on ``S3Boto3Storage`` (`#374`_)\n\n.. _#367: https://github.com/jschneier/django-storages/issues/367\n.. _#371: https://github.com/jschneier/django-storages/pull/371\n.. _#373: https://github.com/jschneier/django-storages/pull/373\n.. _#374: https://github.com/jschneier/django-storages/pull/374\n\n1.6.4 (2017-07-27)\n******************\n\n* Files uploaded with ``GoogleCloudStorage`` will now set their appropriate mimetype (`#320`_)\n* Fix ``DropBoxStorage.url`` to work. (`#357`_)\n* Fix ``S3Boto3Storage`` when ``AWS_PRELOAD_METADATA = True`` (`#366`_)\n* Fix ``S3Boto3Storage`` uploading file-like objects without names (`#195`_, `#368`_)\n* ``S3Boto3Storage`` is now threadsafe - a separate session is created on a\n per-thread basis (`#268`_, `#358`_)\n\n.. _#320: https://github.com/jschneier/django-storages/pull/320\n.. _#357: https://github.com/jschneier/django-storages/pull/357\n.. _#366: https://github.com/jschneier/django-storages/pull/366\n.. _#195: https://github.com/jschneier/django-storages/pull/195\n.. _#368: https://github.com/jschneier/django-storages/pull/368\n.. _#268: https://github.com/jschneier/django-storages/issues/268\n.. _#358: https://github.com/jschneier/django-storages/pull/358\n\n1.6.3 (2017-06-23)\n******************\n\n* Revert default ``AWS_S3_SIGNATURE_VERSION`` to V2 to restore backwards\n compatability in ``S3Boto3``. It's recommended that all new projects set\n this to be ``'s3v4'``. (`#344`_)\n\n.. _#344: https://github.com/jschneier/django-storages/pull/344\n\n1.6.2 (2017-06-22)\n******************\n\n* Fix regression in ``safe_join()`` to handle a trailing slash in an\n intermediate path. (`#341`_)\n* Fix regression in ``gs.GSBotoStorage`` getting an unexpected kwarg.\n (`#342`_)\n\n.. _#341: https://github.com/jschneier/django-storages/pull/341\n.. _#342: https://github.com/jschneier/django-storages/pull/342\n\n1.6.1 (2017-06-22)\n******************\n\n* Drop support for Django 1.9 (`e89db45`_)\n* Fix regression in ``safe_join()`` to allow joining a base path with an empty\n string. (`#336`_)\n\n.. _e89db45: https://github.com/jschneier/django-storages/commit/e89db451d7e617638b5991e31df4c8de196546a6\n.. _#336: https://github.com/jschneier/django-storages/pull/336\n\n1.6 (2017-06-21)\n******************\n\n* **Breaking:** Remove backends deprecated in v1.5.1 (`#280`_)\n* **Breaking:** ``DropBoxStorage`` has been upgrade to support v2 of the API, v1 will be shut off at the\n end of the month - upgrading is recommended (`#273`_)\n* **Breaking:** The ``SFTPStorage`` backend now checks for the existence of the fallback ``~/.ssh/known_hosts``\n before attempting to load it. If you had previously been passing in a path to a non-existent file it will no longer\n attempt to load the fallback. (`#118`_, `#325`_)\n* **Breaking:** The default version value for ``AWS_S3_SIGNATURE_VERSION`` is now ``'s3v4'``. No changes should\n be required (`#335`_)\n* **Deprecation:** The undocumented ``gs.GSBotoStorage`` backend. See the new ``gcloud.GoogleCloudStorage``\n or ``apache_libcloud.LibCloudStorage`` backends instead. (`#236`_)\n* Add a new backend, ``gcloud.GoogleCloudStorage`` based on the ``google-cloud`` bindings. (`#236`_)\n* Pass in the location constraint when auto creating a bucket in ``S3Boto3Storage`` (`#257`_, `#258`_)\n* Add support for reading ``AWS_SESSION_TOKEN`` and ``AWS_SECURITY_TOKEN`` from the environment\n to ``S3Boto3Storage`` and ``S3BotoStorage``. (`#283`_)\n* Fix Boto3 non-ascii filenames on Python 2.7 (`#216`_, `#217`_)\n* Fix ``collectstatic`` timezone handling in and add ``get_modified_time`` to ``S3BotoStorage`` (`#290`_)\n* Add support for Django 1.11 (`#295`_)\n* Add ``project`` keyword support to GCS in ``LibCloudStorage`` backend (`#269`_)\n* Files that have a guessable encoding (e.g. gzip or compress) will be uploaded with that Content-Encoding in\n the ``s3boto3`` backend (`#263`_, `#264`_)\n* The Dropbox backend now properly translates backslashes in Windows paths into forward slashes (`e52a127`_)\n* The S3 backends now permit colons in the keys (`#248`_, `#322`_)\n\n.. _#217: https://github.com/jschneier/django-storages/pull/217\n.. _#273: https://github.com/jschneier/django-storages/pull/273\n.. _#216: https://github.com/jschneier/django-storages/issues/216\n.. _#283: https://github.com/jschneier/django-storages/pull/283\n.. _#280: https://github.com/jschneier/django-storages/pull/280\n.. _#257: https://github.com/jschneier/django-storages/issues/257\n.. _#258: https://github.com/jschneier/django-storages/pull/258\n.. _#290: https://github.com/jschneier/django-storages/pull/290\n.. _#295: https://github.com/jschneier/django-storages/pull/295\n.. _#269: https://github.com/jschneier/django-storages/pull/269\n.. _#263: https://github.com/jschneier/django-storages/issues/263\n.. _#264: https://github.com/jschneier/django-storages/pull/264\n.. _e52a127: https://github.com/jschneier/django-storages/commit/e52a127523fdd5be50bb670ccad566c5d527f3d1\n.. _#236: https://github.com/jschneier/django-storages/pull/236\n.. _#118: https://github.com/jschneier/django-storages/issues/118\n.. _#325: https://github.com/jschneier/django-storages/pull/325\n.. _#248: https://github.com/jschneier/django-storages/issues/248\n.. _#322: https://github.com/jschneier/django-storages/pull/322\n.. _#335: https://github.com/jschneier/django-storages/pull/335\n\n1.5.2 (2017-01-13)\n******************\n\n* Actually use ``SFTP_STORAGE_HOST`` in ``SFTPStorage`` backend (`#204`_)\n* Fix ``S3Boto3Storage`` to avoid race conditions in a multi-threaded WSGI environment (`#238`_)\n* Fix trying to localize a naive datetime when ``settings.USE_TZ`` is ``False`` in ``S3Boto3Storage.modified_time``.\n (`#235`_, `#234`_)\n* Fix automatic bucket creation in ``S3Boto3Storage`` when ``AWS_AUTO_CREATE_BUCKET`` is ``True`` (`#196`_)\n* Improve the documentation for the S3 backends\n\n.. _#204: https://github.com/jschneier/django-storages/pull/204\n.. _#238: https://github.com/jschneier/django-storages/pull/238\n.. _#234: https://github.com/jschneier/django-storages/issues/234\n.. _#235: https://github.com/jschneier/django-storages/pull/235\n.. _#196: https://github.com/jschneier/django-storages/pull/196\n\n1.5.1 (2016-09-13)\n******************\n\n* **Breaking:** Drop support for Django 1.7 (`#185`_)\n* **Deprecation:** hashpath, image, overwrite, mogile, symlinkorcopy, database, mogile, couchdb.\n See (`#202`_) to discuss maintenance going forward\n* Use a fixed ``mtime`` argument for ``GzipFile`` in ``S3BotoStorage`` and ``S3Boto3Storage`` to ensure\n a stable output for gzipped files\n* Use ``.putfileobj`` instead of ``.put`` in ``S3Boto3Storage`` to use the transfer manager,\n allowing files greater than 5GB to be put on S3 (`#194`_ , `#201`_)\n* Update ``S3Boto3Storage`` for Django 1.10 (`#181`_) (``get_modified_time`` and ``get_accessed_time``)\n* Fix bad kwarg name in ``S3Boto3Storage`` when `AWS_PRELOAD_METADATA` is `True` (`#189`_, `#190`_)\n\n.. _#202: https://github.com/jschneier/django-storages/issues/202\n.. _#201: https://github.com/jschneier/django-storages/pull/201\n.. _#194: https://github.com/jschneier/django-storages/issues/194\n.. _#190: https://github.com/jschneier/django-storages/pull/190\n.. _#189: https://github.com/jschneier/django-storages/issues/189\n.. _#185: https://github.com/jschneier/django-storages/pull/185\n.. _#181: https://github.com/jschneier/django-storages/pull/181\n\n1.5.0 (2016-08-02)\n******************\n\n* Add new backend ``S3Boto3Storage`` (`#179`_)\n* Add a `strict` option to `utils.setting` (`#176`_)\n* Tests, documentation, fixing ``.close`` for ``SFTPStorage`` (`#177`_)\n* Tests, documentation, add `.readlines` for ``FTPStorage`` (`#175`_)\n* Tests and documentation for ``DropBoxStorage`` (`#174`_)\n* Fix ``MANIFEST.in`` to not ship ``.pyc`` files. (`#145`_)\n* Enable CI testing of Python 3.5 and fix test failure from api change (`#171`_)\n\n.. _#145: https://github.com/jschneier/django-storages/pull/145\n.. _#171: https://github.com/jschneier/django-storages/pull/171\n.. _#174: https://github.com/jschneier/django-storages/pull/174\n.. _#175: https://github.com/jschneier/django-storages/pull/175\n.. _#177: https://github.com/jschneier/django-storages/pull/177\n.. _#176: https://github.com/jschneier/django-storages/pull/176\n.. _#179: https://github.com/jschneier/django-storages/pull/179\n\n1.4.1 (2016-04-07)\n******************\n\n* Files that have a guessable encoding (e.g. gzip or compress) will be uploaded with that Content-Encoding\n in the ``s3boto`` backend. Compressable types such as ``application/javascript`` will still be gzipped.\n PR `#122`_\n* Fix ``DropBoxStorage.exists`` check and add ``DropBoxStorage.url`` (`#127`_)\n* Add ``GS_HOST`` setting (with a default of ``GSConnection.DefaultHost``) to fix ``GSBotoStorage``.\n (`#124`_, `#125`_)\n\n.. _#122: https://github.com/jschneier/django-storages/pull/122\n.. _#127: https://github.com/jschneier/django-storages/pull/127\n.. _#124: https://github.com/jschneier/django-storages/issues/124\n.. _#125: https://github.com/jschneier/django-storages/pull/125\n\n1.4 (2016-02-07)\n****************\n\n* This package is now released on PyPI as `django-storages`. Please update your requirements files to\n `django-storages==1.4`.\n\n1.3.2 (2016-01-26)\n******************\n\n* Fix memory leak from not closing underlying temp file in ``s3boto`` backend (`#106`_)\n* Allow easily specifying a custom expiry time when generating a url for ``S3BotoStorage`` (`#96`_)\n* Check for bucket existence when the empty path ('') is passed to ``storage.exists`` in ``S3BotoStorage`` -\n this prevents a crash when running ``collectstatic -c`` on Django 1.9.1 (`#112`_) fixed in `#116`_\n\n.. _#106: https://github.com/jschneier/django-storages/pull/106\n.. _#96: https://github.com/jschneier/django-storages/pull/96\n.. _#112: https://github.com/jschneier/django-storages/issues/112\n.. _#116: https://github.com/jschneier/django-storages/pull/116\n\n\n1.3.1 (2016-01-12)\n******************\n\n* A few Azure Storage fixes [pass the content-type to Azure, handle chunked content, fix ``url``] (`#45`__)\n* Add support for a Dropbox (``dropbox``) storage backend\n* Various fixes to the ``apache_libcloud`` backend [return the number of bytes asked for by ``.read``, make ``.name`` non-private, don't\n initialize to an empty ``BytesIO`` object] (`#55`_)\n* Fix multi-part uploads in ``s3boto`` backend not respecting ``AWS_S3_ENCRYPTION`` (`#94`_)\n* Automatically gzip svg files (`#100`_)\n\n.. __: https://github.com/jschneier/django-storages/pull/45\n.. _#76: https://github.com/jschneier/django-storages/pull/76\n.. _#55: https://github.com/jschneier/django-storages/pull/55\n.. _#94: https://github.com/jschneier/django-storages/pull/94\n.. _#100: https://github.com/jschneier/django-storages/pull/100\n\n\n1.3 (2015-08-14)\n****************\n\n* **Breaking:** Drop Support for Django 1.5 and Python 2.6\n* **Breaking:** Remove previously deprecated mongodb backend\n* **Breaking:** Remove previously deprecated ``parse_ts_extended`` from s3boto storage\n* Add support for Django 1.8+ (`#36`__)\n* Add ``AWS_S3_PROXY_HOST`` and ``AWS_S3_PROXY_PORT`` settings for s3boto backend (`#41`_)\n* Fix Python3K compat issue in apache_libcloud (`#52`_)\n* Fix Google Storage backend not respecting ``GS_IS_GZIPPED`` setting (`#51`__, `#60`_)\n* Rename FTP ``_name`` attribute to ``name`` which is what the Django ``File`` api is expecting (`#70`_)\n* Put ``StorageMixin`` first in inheritance to maintain backwards compat with older versions of Django (`#63`_)\n\n.. __: https://github.com/jschneier/django-storages/pull/36\n.. _#41: https://github.com/jschneier/django-storages/pull/41\n.. _#52: https://github.com/jschneier/django-storages/issues/52\n.. __: https://github.com/jschneier/django-storages/pull/51\n.. _#60: https://github.com/jschneier/django-storages/pull/60\n.. _#70: https://github.com/jschneier/django-storages/pull/70\n.. _#63: https://github.com/jschneier/django-storages/pull/63\n\n\n1.2.3 (2015-03-14)\n******************\n\n* Variety of FTP backend fixes (fix ``exists``, add ``modified_time``, remove call to non-existent function) (`#26`_)\n* Apparently the year changed to 2015\n\n.. _#26: https://github.com/jschneier/django-storages/pull/26\n\n\n1.2.2 (2015-01-28)\n******************\n\n* Remove always show all warnings filter (`#21`_)\n* Release package as a wheel\n* Avoid resource warning during install (`#20`__)\n* Made ``S3BotoStorage`` deconstructible (previously only ``S3BotoStorageFile`` was deconstructible) (`#19`_)\n\n.. _#21: https://github.com/jschneier/django-storages/pull/21\n.. __: https://github.com/jschneier/django-storages/issues/20\n.. _#19: https://github.com/jschneier/django-storages/pull/19\n\n\n1.2.1 (2014-12-31)\n******************\n\n* **Deprecation:** Issue warning about ``parse_ts_extended``\n* **Deprecation:** mongodb backend - django-mongodb-engine now ships its own storage backend\n* Fix ``storage.modified_time`` crashing on new files when ``AWS_PRELOAD_METADATA=True`` (`#11`_, `#12`__, `#14`_)\n\n.. _#11: https://github.com/jschneier/django-storages/pull/11\n__ https://github.com/jschneier/django-storages/issues/12\n.. _#14: https://github.com/jschneier/django-storages/pull/14\n\n\n1.2 (2014-12-14)\n****************\n\n* **Breaking:** Remove legacy S3 storage (`#1`_)\n* **Breaking:** Remove mosso files backend (`#2`_)\n* Add text/javascript mimetype to S3BotoStorage gzip allowed defaults\n* Add support for Django 1.7 migrations in S3BotoStorage and ApacheLibCloudStorage (`#5`_, `#8`_)\n* Python3K (3.3+) now available for S3Boto backend (`#4`_)\n\n.. _#8: https://github.com/jschneier/django-storages/pull/8\n.. _#5: https://github.com/jschneier/django-storages/pull/5\n.. _#4: https://github.com/jschneier/django-storages/pull/4\n.. _#1: https://github.com/jschneier/django-storages/issues/1\n.. _#2: https://github.com/jschneier/django-storages/issues/2\n\n\n**NOTE**: Version 1.1.9 is the first release of django-storages after the fork.\nIt represents the current (2014-12-08) state of the original django-storages in\nmaster with no additional changes. This is the first release of the code base\nsince March 2013.\n\n1.1.9 (2014-12-08)\n******************\n\n* Fix syntax for Python3 with pull-request `#91`_\n* Support pushing content type from File object to GridFS with pull-request `#90`_\n* Support passing a region to the libcloud driver with pull-request `#86`_\n* Handle trailing slash paths fixes `#188`_ fixed by pull-request `#85`_\n* Use a SpooledTemporaryFile to conserve memory in S3BotoFile pull-request `#69`_\n* Guess content-type for S3BotoStorageFile the same way that _save() in S3BotoStorage does\n* Pass headers and response_headers through from url to generate_url in S3BotoStorage pull-request `#65`_\n* Added AWS_S3_HOST, AWS_S3_PORT and AWS_S3_USE_SSL settings to specify host, port and is_secure in pull-request `#66`_\n\n.. _#91: https://bitbucket.org/david/django-storages/pull-request/91/\n.. _#90: https://bitbucket.org/david/django-storages/pull-request/90/\n.. _#86: https://bitbucket.org/david/django-storages/pull-request/86/\n.. _#188: https://bitbucket.org/david/django-storages/issue/188/s3boto-_clean_name-is-broken-and-leads-to\n.. _#85: https://bitbucket.org/david/django-storages/pull-request/85/\n.. _#69: https://bitbucket.org/david/django-storages/pull-request/69/\n.. _#66: https://bitbucket.org/david/django-storages/pull-request/66/\n.. _#65: https://bitbucket.org/david/django-storages/pull-request/65/\n\n\n**Everything Below Here Was Previously Released on PyPI under django-storages**\n\n\n1.1.8 (2013-03-31)\n******************\n\n* Fixes `#156`_ regarding date parsing, ValueError when running collectstatic\n* Proper handling of boto dev version parsing\n* Made SFTP URLs accessible, now uses settings.MEDIA_URL instead of sftp://\n\n.. _#156: https://bitbucket.org/david/django-storages/issue/156/s3boto-backend-valueerror-time-data-thu-07\n\n1.1.7 (2013-03-20)\n******************\n\n* Listing of huge buckets on S3 is now prevented by using the prefix argument to boto's list() method\n* Initial support for Windows Azure Storage\n* Switched to useing boto's parse_ts date parser getting last modified info when using S3boto backend\n* Fixed key handling in S3boto and Google Storage backends\n* Account for lack of multipart upload in Google Storage backend\n* Fixed seek() issue when using AWS_IS_GZIPPED by darkness51 with pull-request `#50`_\n* Improvements to S3BotoStorage and GSBotoStorage\n\n.. _#50: https://bitbucket.org/david/django-storages/pull-request/50/\n\n1.1.6 (2013-01-06)\n******************\n\n* Merged many changes from Jannis Leidel (mostly regarding gzipping)\n* Fixed tests by Ian Lewis\n* Added support for Google Cloud Storage backend by Jannis Leidel\n* Updated license file by Dan Loewenherz, fixes `#133`_ with pull-request `#44`_\n* Set Content-Type header for use in upload_part_from_file by Gerardo Curiel\n* Pass the rewind parameter to Boto's set_contents_from_file method by Jannis Leidel with pull-request `#45`_\n* Fix for FTPStorageFile close() method by Mathieu Comandon with pull-request `#43`_\n* Minor refactoring by Oktay Sancak with pull-request `#48`_\n* Ungzip on download based on Content-Encoding by Gavin Wahl with pull-request `#46`_\n* Add support for S3 server-side encryption by Tobias McNulty with pull-request `#17`_\n* Add an optional setting to the boto storage to produce protocol-relative URLs, fixes `#105`_\n\n.. _#133: https://bitbucket.org/david/django-storages/issue/133/license-file-refers-to-incorrect-project\n.. _#44: https://bitbucket.org/david/django-storages/pull-request/44/\n.. _#45: https://bitbucket.org/david/django-storages/pull-request/45/\n.. _#43: https://bitbucket.org/david/django-storages/pull-request/43/\n.. _#48: https://bitbucket.org/david/django-storages/pull-request/48/\n.. _#46: https://bitbucket.org/david/django-storages/pull-request/46/\n.. _#17: https://bitbucket.org/david/django-storages/pull-request/17/\n.. _#105: https://bitbucket.org/david/django-storages/issue/105/add-option-to-produce-protocol-relative\n\n\n1.1.5 (2012-07-18)\n******************\n\n* Merged pull request `#36`_ from freakboy3742 Keith-Magee, improvements to Apache Libcloud backend and docs\n* Merged pull request `#35`_ from atodorov, allows more granular S3 access settings\n* Add support for SSL in Rackspace Cloudfiles backend\n* Fixed the listdir() method in s3boto backend, fixes `#57`_\n* Added base url tests for safe_join in s3boto backend\n* Merged pull request `#20`_ from alanjds, fixed SuspiciousOperation warning if AWS_LOCATION ends with '/'\n* Added FILE_BUFFER_SIZE setting to s3boto backend\n* Merged pull request `#30`_ from pendletongp, resolves `#108`_, `#109`_ and `#110`_\n* Updated the modified_time() method so that it doesn't require dateutil. fixes `#111`_\n* Merged pull request `#16`_ from chamal, adds Apache Libcloud backend\n* When preloading the S3 metadata make sure we reset the files key during saving to prevent stale metadata\n* Merged pull request `#24`_ from tobias.mcnulty, fixes bug where s3boto backend returns modified_time in wrong time zone\n* Fixed HashPathStorage.location to no longer use settings.MEDIA_ROOT\n* Remove download_url from setup file so PyPI dist is used\n\n.. _#36: https://bitbucket.org/david/django-storages/pull-request/36/\n.. _#35: https://bitbucket.org/david/django-storages/pull-request/35/\n.. _#57: https://bitbucket.org/david/django-storages/issue/57\n.. _#20: https://bitbucket.org/david/django-storages/pull-request/20/\n.. _#30: https://bitbucket.org/david/django-storages/pull-request/30/\n.. _#108: https://bitbucket.org/david/django-storages/issue/108\n.. _#109: https://bitbucket.org/david/django-storages/issue/109\n.. _#110: https://bitbucket.org/david/django-storages/issue/110\n.. _#111: https://bitbucket.org/david/django-storages/issue/111\n.. _#16: https://bitbucket.org/david/django-storages/pull-request/16/\n.. _#24: https://bitbucket.org/david/django-storages/pull-request/24/\n\n1.1.4 (2012-01-06)\n******************\n\n* Added PendingDeprecationWarning for mosso backend\n* Merged pull request `#13`_ from marcoala, adds ``SFTP_KNOWN_HOST_FILE`` setting to SFTP storage backend\n* Merged pull request `#12`_ from ryankask, fixes HashPathStorage tests that delete remote media\n* Merged pull request `#10`_ from key, adds support for django-mongodb-engine 0.4.0 or later, fixes GridFS file deletion bug\n* Fixed S3BotoStorage performance problem calling modified_time()\n* Added deprecation warning for s3 backend, refs `#40`_\n* Fixed CLOUDFILES_CONNECTION_KWARGS import error, fixes `#78`_\n* Switched to sphinx documentation, set official docs up on https://django-storages.readthedocs.io/\n* HashPathStorage uses self.exists now, fixes `#83`_\n\n.. _#13: https://bitbucket.org/david/django-storages/pull-request/13/a-version-of-sftp-storage-that-allows-you\n.. _#12: https://bitbucket.org/david/django-storages/pull-request/12/hashpathstorage-tests-deleted-my-projects\n.. _#10: https://bitbucket.org/david/django-storages/pull-request/10/support-django-mongodb-engine-040\n.. _#40: https://bitbucket.org/david/django-storages/issue/40/deprecate-s3py-backend\n.. _#78: https://bitbucket.org/david/django-storages/issue/78/import-error\n.. _#83: https://bitbucket.org/david/django-storages/issue/6/symlinkorcopystorage-new-custom-storage\n\n1.1.3 (2011-08-15)\n******************\n\n* Created this lovely change log\n* Fixed `#89`_: broken StringIO import in CloudFiles backend\n* Merged `pull request #5`_: HashPathStorage path bug\n\n.. _#89: https://bitbucket.org/david/django-storages/issue/89/112-broke-the-mosso-backend\n.. _pull request #5: https://bitbucket.org/david/django-storages/pull-request/5/fixed-path-bug-and-added-testcase-for\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/jschneier/django-storages", "keywords": "", "license": "BSD", "maintainer": "", "maintainer_email": "", "name": "django-storages", "package_url": "https://pypi.org/project/django-storages/", "platform": "", "project_url": "https://pypi.org/project/django-storages/", "project_urls": { "Homepage": "https://github.com/jschneier/django-storages" }, "release_url": "https://pypi.org/project/django-storages/1.7.2/", "requires_dist": [ "Django (>=1.11)", "azure-storage-blob (>=1.3.1) ; extra == 'azure'", "boto (>=2.32.0) ; extra == 'boto'", "boto3 (>=1.4.4) ; extra == 'boto3'", "dropbox (>=7.2.1) ; extra == 'dropbox'", "google-cloud-storage (>=0.22.0) ; extra == 'google'", "apache-libcloud ; extra == 'libcloud'", "paramiko ; extra == 'sftp'" ], "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*", "summary": "Support for many storage backends in Django", "version": "1.7.2" }, "last_serial": 5823990, "releases": { "1.0": [ { "comment_text": "", "digests": { "md5": "ab2cb54332f163bea55b2fd61b18aa12", "sha256": "190a35fa688f0c0f167d41db41490a0c2df94b5cfe4a316aa156c0300cd8197c" }, "downloads": -1, "filename": "django-storages-1.0.tar.gz", "has_sig": false, "md5_digest": "ab2cb54332f163bea55b2fd61b18aa12", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 763322, "upload_time": "2009-08-20T15:57:41", "url": "https://files.pythonhosted.org/packages/c8/d6/cb23cbda39ffe01a43842197c69b1d1bde024899b2eb67e57890efb8d905/django-storages-1.0.tar.gz" } ], "1.1": [ { "comment_text": "", "digests": { "md5": "b861a21933ba20e3395f3934501de330", "sha256": "b082e1a01192d7c803d6abc5b23b74377e38abb351ae6b8de9a281fda457d310" }, "downloads": -1, "filename": "django-storages-1.1.tar.gz", "has_sig": false, "md5_digest": "b861a21933ba20e3395f3934501de330", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 26409, "upload_time": "2010-03-27T02:34:06", "url": "https://files.pythonhosted.org/packages/74/da/64c8f155d5dedf99c6cedfcf104f08244783f6f3f18bac3ba7ad69c68378/django-storages-1.1.tar.gz" } ], "1.1.1": [ { "comment_text": "", "digests": { "md5": "c9e56f170aef64cd51e12a9445be0dbf", "sha256": "f2a91674172bc57ff188b3284c6aaa20ec6c6657d25a77ddd3c378567e3cf403" }, "downloads": -1, "filename": "django-storages-1.1.1.tar.gz", "has_sig": false, "md5_digest": "c9e56f170aef64cd51e12a9445be0dbf", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 17986, "upload_time": "2010-03-27T03:08:59", "url": "https://files.pythonhosted.org/packages/f6/41/aee260eaa1b732f0eba1214c184cdf5d32b7b6db5334d2ce7ee8f5604cb2/django-storages-1.1.1.tar.gz" } ], "1.1.2": [ { "comment_text": "", "digests": { "md5": "932ae30749f0f121b8a4f25d187e1a1f", "sha256": "5de212f1e56cb2a5d8863a41c149b03e6906b4f1560e79c8538c0beca062df71" }, "downloads": -1, "filename": "django-storages-1.1.2.tar.gz", "has_sig": false, "md5_digest": "932ae30749f0f121b8a4f25d187e1a1f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 23158, "upload_time": "2011-08-11T17:15:45", "url": "https://files.pythonhosted.org/packages/d1/1c/5ab0671bb6045b7f8be4d2785add2af5187d60c4d0047f475bc41597a2d0/django-storages-1.1.2.tar.gz" } ], "1.1.3": [ { "comment_text": "", "digests": { "md5": "4de41057b2a1711b43ca8600904d6008", "sha256": "1dfbc0e2ca9368c658fb5bdbd868314fa952e711360c497f54da5cb0a305489c" }, "downloads": -1, "filename": "django-storages-1.1.3.tar.gz", "has_sig": false, "md5_digest": "4de41057b2a1711b43ca8600904d6008", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 23597, "upload_time": "2011-08-15T20:00:54", "url": "https://files.pythonhosted.org/packages/f0/3f/ed94f0ab96acd4ee4888959cee00f55034d1fcf644b01a277505a94dd189/django-storages-1.1.3.tar.gz" } ], "1.1.4": [ { "comment_text": "", "digests": { "md5": "959ba1749b4fbbe6b5cfe6d59e7de385", "sha256": "ab27396535e41ec40708433c0448d31e80d06bb9759964389b11da8b23cf1e74" }, "downloads": -1, "filename": "django-storages-1.1.4.tar.gz", "has_sig": false, "md5_digest": "959ba1749b4fbbe6b5cfe6d59e7de385", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 24166, "upload_time": "2012-01-06T19:55:12", "url": "https://files.pythonhosted.org/packages/0e/52/1c59a6fdd5b3b94229bdc23d57dfa32b24ac71caa5148a2282d9d07bb3a2/django-storages-1.1.4.tar.gz" } ], "1.1.5": [ { "comment_text": "", "digests": { "md5": "a5b19bc2f3c19e253dff69514d689a39", "sha256": "267eb8089e45fccf845ccdaec625a53276ca8d113d2187439f09a98bbcdd3adb" }, "downloads": -1, "filename": "django-storages-1.1.5.tar.gz", "has_sig": false, "md5_digest": "a5b19bc2f3c19e253dff69514d689a39", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 24178, "upload_time": "2012-07-18T13:41:25", "url": "https://files.pythonhosted.org/packages/ab/30/53957a3a2e4c98580ac76edb9a673a424031e6e57f37e34d8d7530f603ec/django-storages-1.1.5.tar.gz" } ], "1.1.6": [ { "comment_text": "", "digests": { "md5": "5434beea0d9f18a0b9261f0731e70fca", "sha256": "5491872a8adc03e865e274d5b104862328c0dde405c7eada77aedf66d8ceabf6" }, "downloads": -1, "filename": "django-storages-1.1.6.tar.gz", "has_sig": false, "md5_digest": "5434beea0d9f18a0b9261f0731e70fca", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 24735, "upload_time": "2013-01-06T10:57:38", "url": "https://files.pythonhosted.org/packages/f3/26/9e8a23552c9fdec40736dbebb1705c44805226a468992f8a92b4498bb038/django-storages-1.1.6.tar.gz" } ], "1.1.7": [ { "comment_text": "", "digests": { "md5": "18cd3d4589337d5f15c59f160374444d", "sha256": "a5f98a36598a621a7dc2aa95b71b356dff27563a6374cefec1d368b373017647" }, "downloads": -1, "filename": "django-storages-1.1.7.tar.gz", "has_sig": false, "md5_digest": "18cd3d4589337d5f15c59f160374444d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 26093, "upload_time": "2013-03-20T22:00:33", "url": "https://files.pythonhosted.org/packages/47/f3/2216a084de023d9d5603a13c614facd2b11922a3f32742e235bae8d51462/django-storages-1.1.7.tar.gz" } ], "1.1.8": [ { "comment_text": "", "digests": { "md5": "1b551bbe2adc8e7dddf2043da3238d6a", "sha256": "0c71f7719c0009648cde1f346975359565fb0af33bc4b5fc69cb0bbf597d93ee" }, "downloads": -1, "filename": "django-storages-1.1.8.tar.gz", "has_sig": false, "md5_digest": "1b551bbe2adc8e7dddf2043da3238d6a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 26342, "upload_time": "2013-03-31T14:12:32", "url": "https://files.pythonhosted.org/packages/4b/b3/f8c4018ea66a66b28dda2f973d1b8032111504af2cb3cf4b945207e856e1/django-storages-1.1.8.tar.gz" } ], "1.4": [ { "comment_text": "", "digests": { "md5": "135c3be20d6d9070e87fd3f8122d07d4", "sha256": "3bd2c476d98d2316c9961d3c39108619d42608ce6a4b393def40a6aa23ec57d9" }, "downloads": -1, "filename": "django_storages-1.4-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "135c3be20d6d9070e87fd3f8122d07d4", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 41255, "upload_time": "2016-02-08T00:36:26", "url": "https://files.pythonhosted.org/packages/68/b7/5237cc1151be1ef9beee293cc83d05cd6cdecfbda3cc753fc95ed6ff5ca0/django_storages-1.4-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b3f5756591a12bdbd6ccea28871052a6", "sha256": "097be0675782ee3b33488b24b92b8312b11c67a84caf4dcf903f49e03496ad7c" }, "downloads": -1, "filename": "django-storages-1.4.tar.gz", "has_sig": false, "md5_digest": "b3f5756591a12bdbd6ccea28871052a6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 55992, "upload_time": "2016-02-08T00:35:24", "url": "https://files.pythonhosted.org/packages/b9/a3/89810dbd005aad57068d16ee12d49e795d6515c251149e635f8a7f3707d6/django-storages-1.4.tar.gz" } ], "1.4.1": [ { "comment_text": "", "digests": { "md5": "2b14b7282bcb7771faa2a8ceb02e4e3d", "sha256": "0ad7049caa7148b846906a7e114e5d245dba714a7a1ef895150234ae25788c46" }, "downloads": -1, "filename": "django_storages-1.4.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "2b14b7282bcb7771faa2a8ceb02e4e3d", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 41910, "upload_time": "2016-04-07T04:00:42", "url": "https://files.pythonhosted.org/packages/14/94/0a90cd3e36a0db7a46126aad0c91a5365b0fbb94de378c198afae9740645/django_storages-1.4.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "38af1fab500e4e0a2f262ca5bfe40df6", "sha256": "b7d324f5a37fc107454abfb5ebe4f7ee1fcb165d9358c93bdd494ff59214400b" }, "downloads": -1, "filename": "django-storages-1.4.1.tar.gz", "has_sig": false, "md5_digest": "38af1fab500e4e0a2f262ca5bfe40df6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 63079, "upload_time": "2016-04-07T04:00:15", "url": "https://files.pythonhosted.org/packages/39/f7/5e145b319afd0e47fa2ac1fc83062fa59014774fa6666534ffc72bee433e/django-storages-1.4.1.tar.gz" } ], "1.5.0": [ { "comment_text": "", "digests": { "md5": "601161cb71573eaf1951dc3124e30f06", "sha256": "2d5804d36e66314b8039ff608465767898995f57a55a4fc8c83963a3014bbb4c" }, "downloads": -1, "filename": "django_storages-1.5.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "601161cb71573eaf1951dc3124e30f06", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 48796, "upload_time": "2016-08-02T13:02:32", "url": "https://files.pythonhosted.org/packages/0b/96/9c4e0a1f874ae40eeec94df7d0fe2d86975e7273a9ba4f3b29f7531bb2bf/django_storages-1.5.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "07945b705f110c2faa599894962cd072", "sha256": "fb749ca94b6f7b65b72f6a0638163dc7d4fed0c400e0a024e76844b0cf6cae32" }, "downloads": -1, "filename": "django-storages-1.5.0.tar.gz", "has_sig": false, "md5_digest": "07945b705f110c2faa599894962cd072", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 58959, "upload_time": "2016-08-02T13:01:57", "url": "https://files.pythonhosted.org/packages/48/4f/38ffe0394e6c6c84e6bb2f4d0ec0f4b8c6c70afa270bb0481a58146ba40b/django-storages-1.5.0.tar.gz" } ], "1.5.1": [ { "comment_text": "", "digests": { "md5": "b94e268d1a00294d22628c540b0664ff", "sha256": "6a90273cb61c966274f9ceb0de7fe2e1c0763cc3cfbc1af89069f6aaad84605b" }, "downloads": -1, "filename": "django_storages-1.5.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "b94e268d1a00294d22628c540b0664ff", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 50493, "upload_time": "2016-09-14T01:29:57", "url": "https://files.pythonhosted.org/packages/4a/ce/c4d23439b913c14ace0b5836087bd851fdf6920f53e9d6e17a2b247ad755/django_storages-1.5.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "aa809d2daccd204450098fcd4a0d6580", "sha256": "e2779eecc4dabab6b6c614790df9f26fe87416626491e0ec6c38148a3c6472bc" }, "downloads": -1, "filename": "django-storages-1.5.1.tar.gz", "has_sig": false, "md5_digest": "aa809d2daccd204450098fcd4a0d6580", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 60184, "upload_time": "2016-09-14T01:29:39", "url": "https://files.pythonhosted.org/packages/04/2c/0b3eb7835835900c4fb2cd23b41fcf885815675a8774a6a5cb22c4b9dec1/django-storages-1.5.1.tar.gz" } ], "1.5.2": [ { "comment_text": "", "digests": { "md5": "89714d34c4822354fbe3f20ac3d53cac", "sha256": "470b67b325abfd7f82362cfcb09cceba19f1f9499b42ace0f998aa75a05297c7" }, "downloads": -1, "filename": "django_storages-1.5.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "89714d34c4822354fbe3f20ac3d53cac", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 51152, "upload_time": "2017-01-13T17:59:49", "url": "https://files.pythonhosted.org/packages/f7/57/385bac5fdb4ee24d0c833f01e98516834d352f44786b5d4f4b16932206f9/django_storages-1.5.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "1dde984c6d950af2569077416f3443d5", "sha256": "60fe20cbf31eeda4e6065039646b6abecc45d6cc41246dd198c477031d848ffa" }, "downloads": -1, "filename": "django-storages-1.5.2.tar.gz", "has_sig": false, "md5_digest": "1dde984c6d950af2569077416f3443d5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 61260, "upload_time": "2017-01-13T18:00:11", "url": "https://files.pythonhosted.org/packages/96/06/62cb8d92de6e61a3ea1ea3931b46be4acc69fb22b20dc60a645f8b4dc183/django-storages-1.5.2.tar.gz" } ], "1.6": [ { "comment_text": "", "digests": { "md5": "871b48e8596fa1e3738f9ef6fd4ad948", "sha256": "3196ad94cf8c5172d451d6e65b601f5e37c5fdcd0438c3e5040aa6f5ae908a09" }, "downloads": -1, "filename": "django_storages-1.6-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "871b48e8596fa1e3738f9ef6fd4ad948", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 46266, "upload_time": "2017-06-21T15:24:07", "url": "https://files.pythonhosted.org/packages/da/4d/1ea020dbcc56add0dc0b63b38aec0532d2ad49f9b1389f50cdcaec68d845/django_storages-1.6-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "71c525a66d066a956ffcb5db344f9e6e", "sha256": "8166b3dcb894bb3bb22c4a14bdb2ac02af0b87f1c957c4274c186e10a2810f99" }, "downloads": -1, "filename": "django-storages-1.6.tar.gz", "has_sig": false, "md5_digest": "71c525a66d066a956ffcb5db344f9e6e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 59579, "upload_time": "2017-06-21T15:24:05", "url": "https://files.pythonhosted.org/packages/63/2b/136d39dafe00999d6b8dc8e789d8570a9dd7c93c12d305b78d5a0fdaf8e6/django-storages-1.6.tar.gz" } ], "1.6.1": [ { "comment_text": "", "digests": { "md5": "684616c974eddf8971c21006522e164b", "sha256": "f21647338a962583dee4a896cea77f078830e379da3cd238fcbac11ff9d0c823" }, "downloads": -1, "filename": "django_storages-1.6.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "684616c974eddf8971c21006522e164b", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 46537, "upload_time": "2017-06-22T05:22:52", "url": "https://files.pythonhosted.org/packages/e2/e2/fb5600fedbeb51607e65973fe5ab90e46a848d29b78cfab1900f07c1461c/django_storages-1.6.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "7ae6ea2692ecd010f386e5ff27233971", "sha256": "9a36264f0a67b59bb7a3e897e90067f3ee0863ad809489c75fa1375fb492f99b" }, "downloads": -1, "filename": "django-storages-1.6.1.tar.gz", "has_sig": false, "md5_digest": "7ae6ea2692ecd010f386e5ff27233971", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 59889, "upload_time": "2017-06-22T05:22:50", "url": "https://files.pythonhosted.org/packages/23/56/7c91fdab640ec9cda978520fe06805463aa472b840473882a1c071309e32/django-storages-1.6.1.tar.gz" } ], "1.6.2": [ { "comment_text": "", "digests": { "md5": "e5442cbe4030af96e3c9e0c864c884fd", "sha256": "f01a250e12502e7b0bfb54406ecbc934b52ea189b7ef51099a7f0c3130c0e8dc" }, "downloads": -1, "filename": "django_storages-1.6.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "e5442cbe4030af96e3c9e0c864c884fd", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 46780, "upload_time": "2017-06-22T19:44:28", "url": "https://files.pythonhosted.org/packages/d3/7a/3bbcad0cb1eccf1bbab83a98d512908a71a309d3d7ca6147ad391ce417ce/django_storages-1.6.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f50956ad214f0b9a367b7d15fde9212c", "sha256": "f5d285a0a3c421e80a3cf71ce9411fef0bd465c29a2d281e00a7137f76dafdd3" }, "downloads": -1, "filename": "django-storages-1.6.2.tar.gz", "has_sig": false, "md5_digest": "f50956ad214f0b9a367b7d15fde9212c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 60194, "upload_time": "2017-06-22T19:44:27", "url": "https://files.pythonhosted.org/packages/6a/b5/3d11dc2638bb533d7161848116098ae154251263267f32a0a1dbb939ad50/django-storages-1.6.2.tar.gz" } ], "1.6.3": [ { "comment_text": "", "digests": { "md5": "e2a059f5757d82ad76b1b1b33004c7c8", "sha256": "7c99fda8a4f39818ffee3cf6699fce5ecb4d763adb0bc89c33eed206e94054d3" }, "downloads": -1, "filename": "django_storages-1.6.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "e2a059f5757d82ad76b1b1b33004c7c8", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 46402, "upload_time": "2017-06-23T05:01:41", "url": "https://files.pythonhosted.org/packages/9b/ef/3c0f267e85e5eae1e3671faff59ff18cc9f0d939c12bcf3a83a08fd13468/django_storages-1.6.3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "7f38106bea371793f103aa2bce4b3ad8", "sha256": "c8e33caf6270a1d64958361923fdd1a5e8b20207fe12a694f8787529794fe4b8" }, "downloads": -1, "filename": "django-storages-1.6.3.tar.gz", "has_sig": false, "md5_digest": "7f38106bea371793f103aa2bce4b3ad8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 59961, "upload_time": "2017-06-23T05:01:39", "url": "https://files.pythonhosted.org/packages/04/db/ee081b6291c37bc5081feeabf3c17314cec18dfdf612e06d3ecb35156302/django-storages-1.6.3.tar.gz" } ], "1.6.4": [ { "comment_text": "", "digests": { "md5": "883134026783e71edf90582d13542f18", "sha256": "67e9e50516c911623577f2ee80888f7924f13d033d21ef22451272845ec63879" }, "downloads": -1, "filename": "django_storages-1.6.4-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "883134026783e71edf90582d13542f18", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 47025, "upload_time": "2017-07-27T21:59:04", "url": "https://files.pythonhosted.org/packages/04/e8/bdc91b33e4b79f730eb72acd0ca4f7840c399cd274d92ed11ed0c6092e55/django_storages-1.6.4-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "9f3c6873b1247ec75a27b50ac8a91fa1", "sha256": "ef8d95b1ca5acfa616a55ed94a149e18230c89ec68f38c8c007db3386b4d3390" }, "downloads": -1, "filename": "django-storages-1.6.4.tar.gz", "has_sig": false, "md5_digest": "9f3c6873b1247ec75a27b50ac8a91fa1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 61003, "upload_time": "2017-07-27T21:59:02", "url": "https://files.pythonhosted.org/packages/9a/c4/af689a04492513d3a0faff2f32042b2c642e2244f230207dcead1938f31f/django-storages-1.6.4.tar.gz" } ], "1.6.5": [ { "comment_text": "", "digests": { "md5": "b5d8012f25d891ba66ef5a988d47e84d", "sha256": "ab6be1538cf29511400bce83d0e5ca74d2e935cad82086063bcf5e7edacc1661" }, "downloads": -1, "filename": "django_storages-1.6.5-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "b5d8012f25d891ba66ef5a988d47e84d", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 47398, "upload_time": "2017-08-01T07:12:25", "url": "https://files.pythonhosted.org/packages/97/71/10c4c8c62b6fecca1960dcf828a7639baafddf088976a89b8dedc9124a39/django_storages-1.6.5-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a703ab688192b79860fb2aa29983bf30", "sha256": "bc8e4c1f483608c5dd1212072fd41042f3ef2d2a2896ec4fb12dbc62c82996a0" }, "downloads": -1, "filename": "django-storages-1.6.5.tar.gz", "has_sig": false, "md5_digest": "a703ab688192b79860fb2aa29983bf30", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 61346, "upload_time": "2017-08-01T07:12:21", "url": "https://files.pythonhosted.org/packages/20/3e/6732f31257193714137dd561aa82f5a0c7a14305baf5f2855cb7df114168/django-storages-1.6.5.tar.gz" } ], "1.6.6": [ { "comment_text": "", "digests": { "md5": "4aceaf8d57d5a71f391b14c72e1b122a", "sha256": "f1dd5668a4df9a23aff56c8321ea3aac3fda23d9d17473158d308d1b13e5363e" }, "downloads": -1, "filename": "django_storages-1.6.6-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "4aceaf8d57d5a71f391b14c72e1b122a", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 48636, "upload_time": "2018-03-26T21:22:00", "url": "https://files.pythonhosted.org/packages/93/35/5debbc49aedbb16af70f794569b50ea55718b24c5e3d0cb5a8f24ad8abff/django_storages-1.6.6-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "3f7b02f71e533cc3248a5e2ca7f42875", "sha256": "7339070cf0c8042f5a885783a0a909175a8dbb68e7f5697d597571c830a460c4" }, "downloads": -1, "filename": "django-storages-1.6.6.tar.gz", "has_sig": false, "md5_digest": "3f7b02f71e533cc3248a5e2ca7f42875", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 71436, "upload_time": "2018-03-26T21:22:01", "url": "https://files.pythonhosted.org/packages/54/e0/12e721b4887dfc039781d6e620ac5363365ea929f0452b862a153cd2410b/django-storages-1.6.6.tar.gz" } ], "1.7": [ { "comment_text": "", "digests": { "md5": "da4cfdcfb1dfadff3ce583bbe8aecdc3", "sha256": "9e0f3423cdf8fabe74c174380de6cd65b9343b5c83c08f35ace57213f17fb083" }, "downloads": -1, "filename": "django_storages-1.7-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "da4cfdcfb1dfadff3ce583bbe8aecdc3", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*", "size": 44019, "upload_time": "2018-09-03T05:00:26", "url": "https://files.pythonhosted.org/packages/25/a7/e5125d24ec7b93dacc2378c20a017134e2c7e83b9857dc1c069260f87996/django_storages-1.7-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "de161c7b8a701fa97ce086e5f5ba4f6a", "sha256": "e021ae94c0ca39c683260fa0065cae0df041d795dd79fee8f7bf4ba31798640d" }, "downloads": -1, "filename": "django-storages-1.7.tar.gz", "has_sig": false, "md5_digest": "de161c7b8a701fa97ce086e5f5ba4f6a", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*", "size": 89959, "upload_time": "2018-09-03T05:00:28", "url": "https://files.pythonhosted.org/packages/2b/e0/e9d61eca2194ed622879d28a3151a2694e1d3aaa4eb187e20bf25f799e71/django-storages-1.7.tar.gz" } ], "1.7.1": [ { "comment_text": "", "digests": { "md5": "23b2c8244a437da9cf09d12e34471003", "sha256": "b1a63cd5ea286ee5a9fb45de6c3c5c0ae132d58308d06f1ce9865cfcd5e470a7" }, "downloads": -1, "filename": "django_storages-1.7.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "23b2c8244a437da9cf09d12e34471003", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*", "size": 44197, "upload_time": "2018-09-06T06:33:40", "url": "https://files.pythonhosted.org/packages/a0/00/b15822dbc3ea8ea3b80dca394fafc758f5ced6bf4aa357f636f43e08de8d/django_storages-1.7.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "44a76171e26981807e7fee10b063cb13", "sha256": "8e35d2c7baeda5dc6f0b4f9a0fc142d25f9a1bf72b8cebfcbc5db4863abc552d" }, "downloads": -1, "filename": "django-storages-1.7.1.tar.gz", "has_sig": false, "md5_digest": "44a76171e26981807e7fee10b063cb13", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*", "size": 89548, "upload_time": "2018-09-06T06:33:41", "url": "https://files.pythonhosted.org/packages/71/58/fb7cdc08ca4e872ea30b5d9b100afc60331e36d1db124a23bc29302dfea7/django-storages-1.7.1.tar.gz" } ], "1.7.2": [ { "comment_text": "", "digests": { "md5": "3ae3c40ea20383ca3a9f92fab5d07519", "sha256": "87287b7ad2e789cd603373439994e1ac6f94d9dc2e5f8173d2a87aa3ed458bd9" }, "downloads": -1, "filename": "django_storages-1.7.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "3ae3c40ea20383ca3a9f92fab5d07519", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*", "size": 45195, "upload_time": "2019-09-10T08:19:39", "url": "https://files.pythonhosted.org/packages/bb/e3/f63efefa33c62fbb700b9a5af40791b4d7c75d50b4cd604065c894e780fd/django_storages-1.7.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "5a52bdfc7330da2c028e1883640285b7", "sha256": "f3b3def96493d3ccde37b864cea376472baf6e8a596504b209278801c510b807" }, "downloads": -1, "filename": "django-storages-1.7.2.tar.gz", "has_sig": false, "md5_digest": "5a52bdfc7330da2c028e1883640285b7", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*", "size": 89652, "upload_time": "2019-09-10T08:19:41", "url": "https://files.pythonhosted.org/packages/aa/e4/c69836e7197222b229c6f49bb0cc2574b661bd5f71a6a46064b768c25946/django-storages-1.7.2.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "3ae3c40ea20383ca3a9f92fab5d07519", "sha256": "87287b7ad2e789cd603373439994e1ac6f94d9dc2e5f8173d2a87aa3ed458bd9" }, "downloads": -1, "filename": "django_storages-1.7.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "3ae3c40ea20383ca3a9f92fab5d07519", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*", "size": 45195, "upload_time": "2019-09-10T08:19:39", "url": "https://files.pythonhosted.org/packages/bb/e3/f63efefa33c62fbb700b9a5af40791b4d7c75d50b4cd604065c894e780fd/django_storages-1.7.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "5a52bdfc7330da2c028e1883640285b7", "sha256": "f3b3def96493d3ccde37b864cea376472baf6e8a596504b209278801c510b807" }, "downloads": -1, "filename": "django-storages-1.7.2.tar.gz", "has_sig": false, "md5_digest": "5a52bdfc7330da2c028e1883640285b7", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*", "size": 89652, "upload_time": "2019-09-10T08:19:41", "url": "https://files.pythonhosted.org/packages/aa/e4/c69836e7197222b229c6f49bb0cc2574b661bd5f71a6a46064b768c25946/django-storages-1.7.2.tar.gz" } ] }