{ "info": { "author": "Dave Hall", "author_email": "dave@etianen.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Environment :: Web Environment", "Framework :: Django", "Intended Audience :: Developers", "License :: OSI Approved :: BSD License", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3.3", "Programming Language :: Python :: 3.4" ], "description": "django-s3-storage\n=================\n\n**django-s3-storage** provides a Django Amazon S3 file storage.\n\n\nFeatures\n--------\n\n- Django file storage for Amazon S3.\n- Django static file storage for Amazon S3.\n- Works in Python 3!\n\n\nInstallation\n------------\n\n1. Install using ``pip install django-s3-storage``.\n2. Add ``'django_s3_storage'`` to your ``INSTALLED_APPS`` setting.\n3. Set your ``DEFAULT_FILE_STORAGE`` setting to ``\"django_s3_storage.storage.S3Storage\"``.\n4. Set your ``STATICFILES_STORAGE`` setting to ``\"django_s3_storage.storage.StaticS3Storage\"`` or ``\"django_s3_storage.storage.ManifestStaticS3Storage\"``.\n5. Configure your Amazon S3 settings (see Available settings, below).\n\n\nAvailable settings\n------------------\n\n.. code:: python\n\n # The region to connect to when storing files.\n AWS_REGION = \"us-east-1\"\n\n # The AWS access key used to access the storage buckets.\n AWS_ACCESS_KEY_ID = \"\"\n\n # The AWS secret access key used to access the storage buckets.\n AWS_SECRET_ACCESS_KEY = \"\"\n\n # The S3 bucket used to store uploaded files.\n AWS_S3_BUCKET_NAME = \"\"\n\n # The S3 calling format to use to connect to the bucket.\n AWS_S3_CALLING_FORMAT = \"boto.s3.connection.OrdinaryCallingFormat\"\n\n # A prefix to add to the start of all uploaded files.\n AWS_S3_KEY_PREFIX = \"\"\n\n # Whether to enable querystring authentication for uploaded files.\n AWS_S3_BUCKET_AUTH = True\n\n # The expire time used to access uploaded files.\n AWS_S3_MAX_AGE_SECONDS = 60*60 # 1 hour.\n\n # A custom URL prefix to use for public-facing URLs for uploaded files.\n AWS_S3_PUBLIC_URL = \"\"\n\n # Whether to set the storage class of uploaded files to REDUCED_REDUNDANCY.\n AWS_S3_REDUCED_REDUNDANCY = False\n\n # The S3 bucket used to store static files.\n AWS_S3_BUCKET_NAME_STATIC = \"\"\n\n # The S3 calling format to use to connect to the static bucket.\n AWS_S3_CALLING_FORMAT_STATIC = \"boto.s3.connection.OrdinaryCallingFormat\"\n\n # Whether to enable querystring authentication for static files.\n AWS_S3_BUCKET_AUTH_STATIC = False\n\n # A prefix to add to the start of all static files.\n AWS_S3_KEY_PREFIX_STATIC = \"\"\n\n # The expire time used to access static files.\n AWS_S3_MAX_AGE_SECONDS_STATIC = 60*60*24*365 # 1 year.\n\n # A custom URL prefix to use for public-facing URLs for static files.\n AWS_S3_PUBLIC_URL_STATIC = \"\"\n\n # Whether to set the storage class of static files to REDUCED_REDUNDANCY.\n AWS_S3_REDUCED_REDUNDANCY_STATIC = False\n\n\n**Important:** If you change any of the ``AWS_S3_BUCKET_AUTH`` or ``AWS_S3_MAX_AGE_SECONDS`` settings, you will need\nto run ``./manage.py s3_sync_meta path.to.your.storage`` before the changes will be applied to existing media files.\n\n\nHow it works\n------------\n\nBy default, uploaded user files are stored on Amazon S3 using the private access control level. When a URL for the file\nis generated, querystring auth with a timeout of 1 hour is used to secure access to the file.\n\nBy default, static files are stored on Amazon S3 using the public access control level and aggressive caching.\n\nText-based files, such as HTML, XML and JSON, are stored using gzip to save space and improve download\nperformance.\n\nAt the moment, files stored on S3 can only be opened in read-only mode.\n\n\nOptimizing media file caching\n-----------------------------\n\nThe default settings assume that user-uploaded file are private. This means that\nthey are only accessible via S3 authenticated URLs, which is bad for browser caching.\n\nTo make user-uploaded files public, and enable aggressive caching, make the following changes to your ``settings.py``.\n\n.. code:: python\n\n AWS_S3_BUCKET_AUTH = False\n\n AWS_S3_MAX_AGE_SECONDS = 60*60*24*365 # 1 year.\n\n**Important:** By making these changes, all user-uploaded files will be public. Ensure they do not contain confidential information.\n\n**Important:** If you change any of the ``AWS_S3_BUCKET_AUTH`` or ``AWS_S3_MAX_AGE_SECONDS`` settings, you will need\nto run ``./manage.py s3_sync_meta path.to.your.storage`` before the changes will be applied to existing media files.\n\n\nManagement commands\n-------------------\n\n`s3_sync_meta`\n~~~~~~~~~~~~~~\n\nSyncronizes the meta information on S3 files.\n\nIf you change any of the ``AWS_S3_BUCKET_AUTH`` or ``AWS_S3_MAX_AGE_SECONDS`` settings, you will need\nto run this command before the changes will be applied to existing media files.\n\nExample usage: ``./manage.py s3_sync_meta django.core.files.storage.default_storage``\n\n\nHow does django-s3-storage compare with django-storages?\n--------------------------------------------------------\n\nThe `django-storages-redux `_ fork of django-storages appears to be\nthe most widely used S3 storage backend for Django. It also supports a variety of other storage backends.\n\ndjango-s3-storage provides similar features, but only supports S3. It was originally written to support Python 3\nat a time when the future of django-storages was unclear. It's a small, well-tested and self-contained library\nthat aims to do one thing very well.\n\nThe author of django-s3-storage is not aware of significant differences in functionality with django-storages-redux.\nIf you notice some differences, please file an issue!\n\n\nBuild status\n------------\n\nThis project is built on every push using the Travis-CI service.\n\n.. image:: https://travis-ci.org/etianen/django-s3-storage.svg?branch=master\n :target: https://travis-ci.org/etianen/django-s3-storage\n\n\nSupport and announcements\n-------------------------\n\nDownloads and bug tracking can be found at the `main project\nwebsite `_.\n\n\nMore information\n----------------\n\nThe django-s3-storage project was developed by Dave Hall. You can get the code\nfrom the `django-s3-storage project site `_.\n\nDave Hall is a freelance web developer, based in Cambridge, UK. You can usually\nfind him on the Internet in a number of different places:\n\n- `Website `_\n- `Twitter `_\n- `Google Profile `_\n", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/etianen/django-s3-storage", "keywords": null, "license": "BSD", "maintainer": null, "maintainer_email": null, "name": "django-s3-storage-patched", "package_url": "https://pypi.org/project/django-s3-storage-patched/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/django-s3-storage-patched/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://github.com/etianen/django-s3-storage" }, "release_url": "https://pypi.org/project/django-s3-storage-patched/0.9.6.2/", "requires_dist": null, "requires_python": null, "summary": "Django Amazon S3 file storage.", "version": "0.9.6.2" }, "last_serial": 1859569, "releases": { "0.9.6": [ { "comment_text": "", "digests": { "md5": "86ba858b168d0e6cd3785d008593fe7b", "sha256": "da05ad6361e4ac9499b5025556ed9e10cf343445011ed38b4de5b19b1ec9dff7" }, "downloads": -1, "filename": "django_s3_storage_patched-0.9.6-py3.4.egg", "has_sig": false, "md5_digest": "86ba858b168d0e6cd3785d008593fe7b", "packagetype": "bdist_egg", "python_version": "3.4", "requires_python": null, "size": 48075, "upload_time": "2015-11-24T08:37:34", "url": "https://files.pythonhosted.org/packages/0c/9f/168b87efa12cea6958b93de82441cbc6b8e65382d0d752c608b591a2b6d6/django_s3_storage_patched-0.9.6-py3.4.egg" }, { "comment_text": "", "digests": { "md5": "42667fe5e7eaccacf5e83e46546845de", "sha256": "c4eec19c31f89d5e68cdaac620cd4ea77596869b474335ecd26bf26ef1864d07" }, "downloads": -1, "filename": "django-s3-storage-patched-0.9.6.tar.gz", "has_sig": false, "md5_digest": "42667fe5e7eaccacf5e83e46546845de", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11207, "upload_time": "2015-11-24T08:37:44", "url": "https://files.pythonhosted.org/packages/3e/bf/e03d1aa698ee3e34adbef64e3fa93d0eeef165cc6a1143aa48937792f08c/django-s3-storage-patched-0.9.6.tar.gz" } ], "0.9.6.2": [ { "comment_text": "", "digests": { "md5": "51db09fc82f637f540fc6c4dbbb6cb05", "sha256": "489f83503d7b9d412055a4b7020441a756a3420587f13dafced5b94e8b8a17ff" }, "downloads": -1, "filename": "django_s3_storage_patched-0.9.6.2-py3.4.egg", "has_sig": false, "md5_digest": "51db09fc82f637f540fc6c4dbbb6cb05", "packagetype": "bdist_egg", "python_version": "3.4", "requires_python": null, "size": 48096, "upload_time": "2015-11-24T10:34:57", "url": "https://files.pythonhosted.org/packages/47/0e/8b0b9c66e98decb34437a25b1decda2e664648574766bbaa96682a2e5ab8/django_s3_storage_patched-0.9.6.2-py3.4.egg" }, { "comment_text": "", "digests": { "md5": "04f8bf4a9afccb57b9e2c586c61b9911", "sha256": "c148549f53300c88d60c54a4bec81248b1d05254a993aa9f5382de62bc826e84" }, "downloads": -1, "filename": "django-s3-storage-patched-0.9.6.2.tar.gz", "has_sig": false, "md5_digest": "04f8bf4a9afccb57b9e2c586c61b9911", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11223, "upload_time": "2015-11-24T10:35:13", "url": "https://files.pythonhosted.org/packages/1e/11/1f0ef01d0ed1f1ccac9c87ce59294c7498f3cbfa92e1dee6c9eea82c7555/django-s3-storage-patched-0.9.6.2.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "51db09fc82f637f540fc6c4dbbb6cb05", "sha256": "489f83503d7b9d412055a4b7020441a756a3420587f13dafced5b94e8b8a17ff" }, "downloads": -1, "filename": "django_s3_storage_patched-0.9.6.2-py3.4.egg", "has_sig": false, "md5_digest": "51db09fc82f637f540fc6c4dbbb6cb05", "packagetype": "bdist_egg", "python_version": "3.4", "requires_python": null, "size": 48096, "upload_time": "2015-11-24T10:34:57", "url": "https://files.pythonhosted.org/packages/47/0e/8b0b9c66e98decb34437a25b1decda2e664648574766bbaa96682a2e5ab8/django_s3_storage_patched-0.9.6.2-py3.4.egg" }, { "comment_text": "", "digests": { "md5": "04f8bf4a9afccb57b9e2c586c61b9911", "sha256": "c148549f53300c88d60c54a4bec81248b1d05254a993aa9f5382de62bc826e84" }, "downloads": -1, "filename": "django-s3-storage-patched-0.9.6.2.tar.gz", "has_sig": false, "md5_digest": "04f8bf4a9afccb57b9e2c586c61b9911", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11223, "upload_time": "2015-11-24T10:35:13", "url": "https://files.pythonhosted.org/packages/1e/11/1f0ef01d0ed1f1ccac9c87ce59294c7498f3cbfa92e1dee6c9eea82c7555/django-s3-storage-patched-0.9.6.2.tar.gz" } ] }