{ "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" ], "description": "django-herokuapp\n================\n\n**django-herokuapp** is a set of utilities and a project template for running\nDjango sites on `Heroku `_.\n\n\nWhy not just use Heroku's Django guide?\n---------------------------------------\n\nHeroku provides `a guide `_\nthat describes a reasonable Django project setup. The django-herokuapp project suggests a more advanced approach\nwith the following benefits:\n\n- `waitress `_ is used as an app server instead of\n `gunicorn `_. Gunicorn is not recommended for use as a public-facing server,\n whereas waitress is hardened for production use.\n- Amazon S3 is used to serve static files instead of `django-static `_.\n Django `does not recommend `_\n serving static files using a Python app server.\n- Various minor security and logging improvements.\n\n\nStarting from scratch\n---------------------\n\nIf you're creating a new Django site for hosting on Heroku, then you can give youself a headstart by running\nthe ``herokuapp_startproject.py`` script that's bundled with this package from within a fresh virtual environment.\n\n::\n\n $ mkdir your/project/location\n $ cd your/project/location\n $ git init\n $ virtualenv venv\n $ source venv/bin/activate\n $ pip install django-herokuapp\n $ herokuapp_startproject.py \n\n\nThe rest of this guide describes the process of adapting an existing Django site to run on Heroku. Even if\nyou've started from scratch using ``herokuapp_startproject.py``, it's still worth reading, as it will\ngive you a better understanding of the way your site has been configured.\n\n\nInstalling in an existing project\n---------------------------------\n\n1. Install django-herokuapp using pip ``pip install django-herokuapp``.\n2. Add ``'herokuapp'`` to your ``INSTALLED_APPS`` setting.\n3. Read the rest of this README for pointers on setting up your Heroku site. \n\n\nSite hosting - waitress\n^^^^^^^^^^^^^^^^^^^^^^^\n\nA site hosted on Heroku has to handle traffic without the benefit of a buffering reverse proxy like nginx, which means\nthat the normal approach of using a small pool of worker threads won't scale in production, particularly if\nserving clients over a slow connection.\n\nThe solution is to use a buffering async master thread with sync workers instead, and the\n`waitress `_ project provides an excellent implementation of this approach. \n\nSimply create a file called ``Procfile`` in the root of your project, and add the following line to it:\n\n::\n\n web: waitress-serve --port=$PORT .wsgi:application\n\n\nDatabase hosting - Heroku Postgres\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n\nHeroku provides an excellent `Postgres Add-on `_ that you can use for your site.\nThe recommended settings for using Heroku Postgres are as follows:\n\n::\n\n import dj_database_url\n DATABASES = {\n \"default\": dj_database_url.config(default='postgres://localhost'),\n }\n\nThis configuration relies on the `dj-database-url `_ package, which\nis included in the dependencies for django-herokuapp.\n\nYou can provision a starter package with Heroku Postgres using the following Heroku command:\n\n::\n\n $ heroku addons:add heroku-postgresql:dev\n\n\nStatic file hosting - Amazon S3\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n\nA pure-python webserver like waitress isn't best suited to serving high volumes of static files. For this, a cloud-based\nservice like `Amazon S3 `_ is ideal.\n\nThe recommended settings for hosting your static content with Amazon S3 is as follows:\n\n::\n\n # Use Amazon S3 for storage for uploaded media files.\n DEFAULT_FILE_STORAGE = \"storages.backends.s3boto.S3BotoStorage\"\n\n # Use Amazon S3 for static files storage.\n STATICFILES_STORAGE = \"require_s3.storage.OptimizedCachedStaticFilesStorage\"\n\n # Amazon S3 settings.\n AWS_ACCESS_KEY_ID = os.environ.get(\"AWS_ACCESS_KEY_ID\", \"\")\n AWS_SECRET_ACCESS_KEY = os.environ.get(\"AWS_SECRET_ACCESS_KEY\", \"\")\n AWS_STORAGE_BUCKET_NAME = os.environ.get(\"AWS_STORAGE_BUCKET_NAME\", \"\")\n AWS_AUTO_CREATE_BUCKET = True\n AWS_HEADERS = {\n \"Cache-Control\": \"public, max-age=86400\",\n }\n AWS_S3_FILE_OVERWRITE = False\n AWS_QUERYSTRING_AUTH = False\n AWS_S3_SECURE_URLS = True\n AWS_REDUCED_REDUNDANCY = False\n AWS_IS_GZIPPED = False\n\n # Cache settings.\n CACHES = {\n # Long cache timeout for staticfiles, since this is used heavily by the optimizing storage.\n \"staticfiles\": {\n \"BACKEND\": \"django.core.cache.backends.locmem.LocMemCache\",\n \"TIMEOUT\": 60 * 60 * 24 * 365,\n \"LOCATION\": \"staticfiles\",\n },\n }\n\nYou can set your AWS account details by running the following command:\n\n::\n\n $ heroku config:set AWS_ACCESS_KEY_ID=your_key_id \\\n AWS_SECRET_ACCESS_KEY=your_secret_access_key \\\n AWS_STORAGE_BUCKET_NAME=your_bucket_name\n\nThis configuration relies on the `django-require-s3 `_ package, which\nis included in the dependencies for django-herokuapp. In particular, the use of `django-require `_\nto compress and serve your assets is recommended, since it allows assets to be precompiled during the project's\nbuild step, rather than on-the-fly as the site is running.\n\n\nEmail hosting - SendGrid\n^^^^^^^^^^^^^^^^^^^^^^^^\n\nHeroku does not provide an SMTP server in its default package. Instead, it's recommended that you use\nthe `SendGrid Add-on `_ to send your site's emails.\n\n::\n\n # Email settings.\n EMAIL_HOST = \"smtp.sendgrid.net\"\n EMAIL_HOST_USER = os.environ.get(\"SENDGRID_USERNAME\", \"\")\n EMAIL_HOST_PASSWORD = os.environ.get(\"SENDGRID_PASSWORD\", \"\")\n EMAIL_PORT = 25\n EMAIL_USE_TLS = False\n\nYou can provision a starter package with SendGrid using the following Heroku command:\n\n::\n\n $ heroku addons:add sendgrid:starter\n\n\nOptimizing compiled slug size\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n\nThe smaller the size of your compiled project, the faster it can be redeployed on Heroku servers. To this end,\ndjango-herokuapp provides a suggested `.slugignore `_\nfile that should be placed in the root of your project. If you've used the ``herokuapp_startproject.py`` script\nto set up your project, then this will have already been taken care of for you.\n\n\nImproving site security\n^^^^^^^^^^^^^^^^^^^^^^^\n\nIdeally, you should not store your site's ``SECRET_KEY`` setting in version control. Instead, it should be read\nfrom the Heroku config as follows:\n\n::\n\n from django.utils.crypto import get_random_string\n SECRET_KEY = os.environ.get(\"SECRET_KEY\", get_random_string(50, \"abcdefghijklmnopqrstuvwxyz0123456789!@#$%^&*(-_=+)\"))\n\nYou can then generate a secret key in your Heroku config with the following command:\n\n::\n\n $ heroku config:set SECRET_KEY=`openssl rand -base64 32`\n\nIt's also recommended that you configure Python to generate a new random seed every time it boots.\n\n::\n\n $ heroku config:set PYTHONHASHSEED=random\n\n\nAdding support for Heroku SSL\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n\nHeroku provides a free `piggyback SSL `_\nservice for all of its apps, as well as a `SSL endpoint addon `_\nfor custom domains. It order to detect when a request is made via SSL in Django (for use in `request.is_secure()`),\nyou should add the following setting to your app:\n\n::\n\n SECURE_PROXY_SSL_HEADER = (\"HTTP_X_FORWARDED_PROTO\", \"https\")\n\nIf you intend to serve your entire app over SSL, then it's a good idea to force all requests to use SSL. The\n`django-sslify `_ app provides a middleware for this. Simply `pip install django-sslify`,\nthen add ``\"sslify.middleware.SSLifyMiddleware\"`` to the start of your ``MIDDLEWARE_CLASSES``.\n\n\nOutputting logs to Heroku logplex\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n\nBy default, Django does not log errors to STDERR in production, which is the correct behaviour for most WSGI\napps. Heroku, however, provides an excellent logging service that expects to receive error messages on STDERR.\nYou can take advantage of this by updating your logging configuration to the following:\n\n::\n\n LOGGING = {\n \"version\": 1,\n \"disable_existing_loggers\": False,\n \"handlers\": {\n \"console\": {\n \"level\": \"INFO\",\n \"class\": \"logging.StreamHandler\",\n },\n },\n \"loggers\": {\n \"django\": {\n \"handlers\": [\"console\"],\n }\n }\n }\n\n\nRunning your site in the Heroku environment\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n\nBecause your site is setup to read some of its configuration from environmental variables stored on\nHeroku, running a development server can be tricky. django-herokuapp provides a configuration utility\nthat should be added to your project to load the heroku config dynamically. Simply add\nthe following lines to your ``manage.py`` script, at the top of the run block:\n\n::\n\n if __name__ == \"__main__\": # << This line will already be present in manage.py\n\n # Load the Heroku environment.\n from herokuapp.env import load_env\n load_env(__file__, \"your-app-name\")\n\nDjango management commands can then be run normally:\n\n::\n\n $ python manage.py runserver\n\nAccessing the live Heroku Postgres database is a bad idea. Instead, you should provide a local settings file,\nexclude it from version control, and connect to a local PostgreSQL server. If you're\non OSX, then the excellent `Postgres.app `_ will make this very easy.\n\nA suggested settings file layout, including the appropriate local settings, can be found in the `django-herokuapp\ntemplate project settings directory `_.\n\n\nValidating your Heroku setup\n----------------------------\n\nOnce you've completed the above steps, and are confident that your site is suitable to deploy to Heroku,\nyou can validate against common errors by running the ``heroku_audit`` management command.\n\n::\n\n $ python manage.py heroku_audit\n\nMany of the issues detected by ``heroku_audit`` have simple fixes. For a guided walkthrough of solutions, try\nrunning:\n\n::\n\n $ python manage.py heroku_audit --fix\n\n\nCommon error messages\n---------------------\n\nThings don't always go right first time. Here are some common error messages you may encounter:\n\n\n\"No app specified\" when running Heroku commands\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n\nThe Heroku CLI looks up your app's name from a git remote named ``heroku``. You can either specify the app\nto manage by adding ``-a your-app-name`` every time you call a Heroku command, or update your git repo with a\nHeroku remote using the following command:\n\n::\n\n $ git remote add heroku git@heroku.com:your-app-name.git\n\n\n\"AttributeError: 'Settings' object has no attribute 'BASE_DIR'\"\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n\nMany django-herokuapp commands need to know the root of the project's file stucture. Django 1.6 provides\nthis setting automatically as ``settings.BASE_DIR``. If this setting is not present in your settings file,\nit should be added as an absolute path. You can look it up dynamically from the settings file like this:\n\n::\n\n import os.path\n # Assumes the settings file is located in `your_project.settings` package.\n BASE_DIR = os.path.abspath(os.path.join(__file__, \"..\", \"..\"))\n\n\nSupport and announcements\n-------------------------\n\nDownloads and bug tracking can be found at the `main project website `_.\n\n \nMore information\n----------------\n\nThe django-herokuapp project was developed by Dave Hall. You can get the code\nfrom the `django-herokuapp 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-herokuapp", "keywords": null, "license": "BSD", "maintainer": null, "maintainer_email": null, "name": "django-herokuapp", "package_url": "https://pypi.org/project/django-herokuapp/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/django-herokuapp/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://github.com/etianen/django-herokuapp" }, "release_url": "https://pypi.org/project/django-herokuapp/0.9.20/", "requires_dist": null, "requires_python": null, "summary": "A set of utilities and a project template for running Django sites on heroku.", "version": "0.9.20" }, "last_serial": 1533662, "releases": { "0.9.0": [ { "comment_text": "", "digests": { "md5": "707e994b92d8cb36e57468373cd57584", "sha256": "2edd565cbf71adb62e721bb5ebda536a52b2669f71192847abc7692ce77dbeb2" }, "downloads": -1, "filename": "django-herokuapp-0.9.0.tar.gz", "has_sig": false, "md5_digest": "707e994b92d8cb36e57468373cd57584", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8348, "upload_time": "2012-11-02T15:41:26", "url": "https://files.pythonhosted.org/packages/e6/e6/0cb568c4bc515dbbcf980c4d8d526534ae8d7f70d2630e631905f47931a5/django-herokuapp-0.9.0.tar.gz" } ], "0.9.1": [ { "comment_text": "", "digests": { "md5": "a6b1926866155a5da0f006ea8779e17f", "sha256": "4cc642cfb266e30a7963605ad27b1737f89cea75308e0420b036cd22d5620bbb" }, "downloads": -1, "filename": "django-herokuapp-0.9.1.tar.gz", "has_sig": false, "md5_digest": "a6b1926866155a5da0f006ea8779e17f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8355, "upload_time": "2012-11-02T16:45:29", "url": "https://files.pythonhosted.org/packages/77/63/f4ff7b7ccbd19e45e7e064987d81826e72a379ae8796a6e6ff51fca0f02c/django-herokuapp-0.9.1.tar.gz" } ], "0.9.10": [ { "comment_text": "", "digests": { "md5": "5403047edd5f9e07b815bb30ff0bc9f4", "sha256": "5efe7d90bf6cdbd2ff45ddbc1ad848b337829d3e5474366a7213cf5ca3a558b6" }, "downloads": -1, "filename": "django-herokuapp-0.9.10.tar.gz", "has_sig": false, "md5_digest": "5403047edd5f9e07b815bb30ff0bc9f4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11484, "upload_time": "2013-01-18T16:27:39", "url": "https://files.pythonhosted.org/packages/ce/3b/f83b642e04d496f595dff7a0a5b295878da4c5f700225e4c13cafd61670e/django-herokuapp-0.9.10.tar.gz" } ], "0.9.11": [ { "comment_text": "", "digests": { "md5": "7af0e197758b1640c0e47f6481fb2db6", "sha256": "235d174624e2daadbfb2e576151a1bbc9f9d83ffc280378f1e3e01f5c196ce1b" }, "downloads": -1, "filename": "django-herokuapp-0.9.11.tar.gz", "has_sig": false, "md5_digest": "7af0e197758b1640c0e47f6481fb2db6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11407, "upload_time": "2013-02-20T13:08:44", "url": "https://files.pythonhosted.org/packages/1a/bd/89448886ce0be702c0a645ea1a37284d30939146b938652af2caf3a1786d/django-herokuapp-0.9.11.tar.gz" } ], "0.9.12": [ { "comment_text": "", "digests": { "md5": "3bd965d6ef28e3c991464ab0534888d7", "sha256": "d9470a671ce39ad6edb97fdee990c3d3db9acd0199fd6ff8280d5c70680f865f" }, "downloads": -1, "filename": "django-herokuapp-0.9.12.tar.gz", "has_sig": false, "md5_digest": "3bd965d6ef28e3c991464ab0534888d7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15799, "upload_time": "2014-01-03T15:41:09", "url": "https://files.pythonhosted.org/packages/93/0f/23e1aa96825fa2f6a0eedaca05bd5cd1e6d57bc09fc7fe9c80bbc143698f/django-herokuapp-0.9.12.tar.gz" } ], "0.9.13": [ { "comment_text": "", "digests": { "md5": "55ad86e2a0d846cf6c66a29b897c758b", "sha256": "4736f7a4324c6b76d53e9f55bf8f73ec5b84ec366ff20ac93f407b8a59398616" }, "downloads": -1, "filename": "django-herokuapp-0.9.13.tar.gz", "has_sig": false, "md5_digest": "55ad86e2a0d846cf6c66a29b897c758b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16135, "upload_time": "2014-01-03T16:39:21", "url": "https://files.pythonhosted.org/packages/d0/8d/b779887e868eb8199bb34e3cc1e3209ea48e9420e18640d41d9b4a43c1e7/django-herokuapp-0.9.13.tar.gz" } ], "0.9.14": [ { "comment_text": "", "digests": { "md5": "7650de7b18ee661cf3133530a6c03fd9", "sha256": "21bc1525832b602bad2f23d386a657f32245e8140409ef2ee4159369edf76432" }, "downloads": -1, "filename": "django-herokuapp-0.9.14.tar.gz", "has_sig": false, "md5_digest": "7650de7b18ee661cf3133530a6c03fd9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 17814, "upload_time": "2014-01-10T11:51:45", "url": "https://files.pythonhosted.org/packages/60/3a/01602ead0cd7a7acc7de28d52f0d7488ac7f9719105e95364dcb661b48e5/django-herokuapp-0.9.14.tar.gz" } ], "0.9.15": [ { "comment_text": "", "digests": { "md5": "4c7d71869826f42152d52f8cdd9d2e0f", "sha256": "7373121331726106e2906f03b17d68d2a999a328d58fd40ec36d4bbf1396d8a2" }, "downloads": -1, "filename": "django-herokuapp-0.9.15.tar.gz", "has_sig": false, "md5_digest": "4c7d71869826f42152d52f8cdd9d2e0f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 17818, "upload_time": "2014-01-13T12:49:57", "url": "https://files.pythonhosted.org/packages/20/65/c8c6f4cc5afe22343a7fc77af2234fd1694e62e2c399c58fcae486cf957f/django-herokuapp-0.9.15.tar.gz" } ], "0.9.16": [ { "comment_text": "", "digests": { "md5": "d54489ecab735c4ff3b9cc11eeff1ce0", "sha256": "8b5bc0295fe3bb2e0371afac0b499d5afbe0288103508a39ce5d3e27b28da411" }, "downloads": -1, "filename": "django-herokuapp-0.9.16.tar.gz", "has_sig": false, "md5_digest": "d54489ecab735c4ff3b9cc11eeff1ce0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 20203, "upload_time": "2014-01-14T15:00:23", "url": "https://files.pythonhosted.org/packages/a6/3b/e7c8152146079f77486497348b20a709c8e18ba3e96c29fa36222b9e8d8d/django-herokuapp-0.9.16.tar.gz" } ], "0.9.17": [ { "comment_text": "", "digests": { "md5": "3da530491dc79e2483dd1cd560dc0d47", "sha256": "55a2def5b280f0a610f3cd227bf4bbd1dbe5b24e50dda027a860617c26f41bd8" }, "downloads": -1, "filename": "django-herokuapp-0.9.17.tar.gz", "has_sig": false, "md5_digest": "3da530491dc79e2483dd1cd560dc0d47", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 20638, "upload_time": "2014-01-19T20:32:53", "url": "https://files.pythonhosted.org/packages/6a/0a/8ea98e9e0396836b701ad1dab4a0de7c3f15ee5b2aa493b63fd41b845a5d/django-herokuapp-0.9.17.tar.gz" } ], "0.9.18": [ { "comment_text": "", "digests": { "md5": "ea8eadb8f1cf0782362df2aaaf74b648", "sha256": "9d46df640e31789306644e9fe65dea4653f99b0e143df37d52358773ce9b2940" }, "downloads": -1, "filename": "django-herokuapp-0.9.18.tar.gz", "has_sig": false, "md5_digest": "ea8eadb8f1cf0782362df2aaaf74b648", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 20741, "upload_time": "2014-01-21T11:41:26", "url": "https://files.pythonhosted.org/packages/6c/6e/f1ec9eef7950b060966e19411c019feb9b543cb77b7bad12241fa0bdd168/django-herokuapp-0.9.18.tar.gz" } ], "0.9.19": [ { "comment_text": "", "digests": { "md5": "3d6b98f23ab50ff27663721bddcb8a83", "sha256": "777a01417d63c2cb4cdd2571f5a8077148e0e911b9b069934e581c2b243e3a69" }, "downloads": -1, "filename": "django-herokuapp-0.9.19.tar.gz", "has_sig": false, "md5_digest": "3d6b98f23ab50ff27663721bddcb8a83", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19811, "upload_time": "2014-12-05T11:04:15", "url": "https://files.pythonhosted.org/packages/84/60/c2e7937b008963055ba94755b183873512314331a73b51f16f0b411a64af/django-herokuapp-0.9.19.tar.gz" } ], "0.9.2": [ { "comment_text": "", "digests": { "md5": "927fdf72d474b2d4f37939b157d9cdca", "sha256": "5a5f2c4e6046ed80bcc390d88a67b090fe790c31a3a6f05aa0823232cea349ae" }, "downloads": -1, "filename": "django-herokuapp-0.9.2.tar.gz", "has_sig": false, "md5_digest": "927fdf72d474b2d4f37939b157d9cdca", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8459, "upload_time": "2012-11-09T13:50:19", "url": "https://files.pythonhosted.org/packages/54/ef/fa1977dcb7e9b79f57f7427347f186ae72612387e2fcfa9a661ef6653f53/django-herokuapp-0.9.2.tar.gz" } ], "0.9.20": [ { "comment_text": "", "digests": { "md5": "4ebd402886f3443589eb201bcce84b5f", "sha256": "72a6a7f9bb3aea11e2bbc98528f4c79fab42fe3fc474ffc73621badd7b72ac41" }, "downloads": -1, "filename": "django-herokuapp-0.9.20.tar.gz", "has_sig": false, "md5_digest": "4ebd402886f3443589eb201bcce84b5f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15222, "upload_time": "2015-05-05T08:52:19", "url": "https://files.pythonhosted.org/packages/31/b1/6368e63c4ded0e0cfe552e8c71ccc9206ecdb663afd84a6cdcda9811aef5/django-herokuapp-0.9.20.tar.gz" } ], "0.9.3": [ { "comment_text": "", "digests": { "md5": "023a8eef5cb981ac5f74b9a28c85ab3c", "sha256": "a78c2bcfee4f85f91b0c6df3d7334b4a54a9bae5598809f353f055192992c290" }, "downloads": -1, "filename": "django-herokuapp-0.9.3.tar.gz", "has_sig": false, "md5_digest": "023a8eef5cb981ac5f74b9a28c85ab3c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8451, "upload_time": "2012-11-28T10:57:19", "url": "https://files.pythonhosted.org/packages/2d/0a/63fff94c2773ea7e3ad0eb7be52b4876c12eb46ebc7d0d6d2902e064c9eb/django-herokuapp-0.9.3.tar.gz" } ], "0.9.4": [ { "comment_text": "", "digests": { "md5": "71e56dbcb1ea6a533c901ba9d865229e", "sha256": "d09e6af1adc8f73a773870b030ba4ec8474fd74f9a8d4b5a1c8fa6c1dddd702d" }, "downloads": -1, "filename": "django-herokuapp-0.9.4.tar.gz", "has_sig": false, "md5_digest": "71e56dbcb1ea6a533c901ba9d865229e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8404, "upload_time": "2012-12-19T14:24:01", "url": "https://files.pythonhosted.org/packages/54/72/37a6379676de75c45f8701e4d970a24db3cc7a7a4b81d59afe9b5867402b/django-herokuapp-0.9.4.tar.gz" } ], "0.9.5": [ { "comment_text": "", "digests": { "md5": "899c0a388fbcea0cf5ffc6bd8698e6c4", "sha256": "cd670c2ce24a22ca5e6648cd489f80bd8e2f0d8c9ddf7c01ea6cd61332542494" }, "downloads": -1, "filename": "django-herokuapp-0.9.5.tar.gz", "has_sig": false, "md5_digest": "899c0a388fbcea0cf5ffc6bd8698e6c4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8711, "upload_time": "2012-12-26T17:30:02", "url": "https://files.pythonhosted.org/packages/21/37/f6d63373f04942d5ead5cb05d3665f9655e0fa40f05d7e4c5c4ce07bf024/django-herokuapp-0.9.5.tar.gz" } ], "0.9.6": [ { "comment_text": "", "digests": { "md5": "4d1987f77396b5e1c1f7f31fde224a0e", "sha256": "03e1751a694d1b581fd43448d5b5273dc59f6e526d1a866a197b38b12f62bbcb" }, "downloads": -1, "filename": "django-herokuapp-0.9.6.tar.gz", "has_sig": false, "md5_digest": "4d1987f77396b5e1c1f7f31fde224a0e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8786, "upload_time": "2012-12-27T15:28:40", "url": "https://files.pythonhosted.org/packages/fd/ab/3e38e4657cc77955ff4d72b59abef2a419818b4b5b738c19fff397c69f48/django-herokuapp-0.9.6.tar.gz" } ], "0.9.7": [ { "comment_text": "", "digests": { "md5": "524d66febe51553345a31975264149b3", "sha256": "787a64a1bb5aac5e785a78b7028cf042d69ad4baa38e2544785e9d59fb663712" }, "downloads": -1, "filename": "django-herokuapp-0.9.7.tar.gz", "has_sig": false, "md5_digest": "524d66febe51553345a31975264149b3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10792, "upload_time": "2013-01-09T15:05:59", "url": "https://files.pythonhosted.org/packages/16/e1/90ab8ec881a6b7480e457d8a42656afa6d23552aa4ff90dbe01a1ff15f91/django-herokuapp-0.9.7.tar.gz" } ], "0.9.8": [ { "comment_text": "", "digests": { "md5": "db4a423a701ebfd0dfc3b3b5cbe47572", "sha256": "ad440fe3410b6013eb43c12058112642f482801a903ccd23ac34ff1b10bd7594" }, "downloads": -1, "filename": "django-herokuapp-0.9.8.tar.gz", "has_sig": false, "md5_digest": "db4a423a701ebfd0dfc3b3b5cbe47572", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10424, "upload_time": "2013-01-14T16:58:17", "url": "https://files.pythonhosted.org/packages/40/e3/9eddd85630a2be75972be6edbf5aed1cc37fb028241c39df2c28ca5000bc/django-herokuapp-0.9.8.tar.gz" } ], "0.9.9": [ { "comment_text": "", "digests": { "md5": "0cf8fa77705286d8462af25fcee83018", "sha256": "947593c6df839e3ed4b202fbd66099f5e330536f246839357ae9ac64f7075b8e" }, "downloads": -1, "filename": "django-herokuapp-0.9.9.tar.gz", "has_sig": false, "md5_digest": "0cf8fa77705286d8462af25fcee83018", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10555, "upload_time": "2013-01-15T12:09:07", "url": "https://files.pythonhosted.org/packages/f7/d6/d4191a24aaf093013a2aa5f0f7ae7c7a4ba7a5a9a4df5a19089358d68607/django-herokuapp-0.9.9.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "4ebd402886f3443589eb201bcce84b5f", "sha256": "72a6a7f9bb3aea11e2bbc98528f4c79fab42fe3fc474ffc73621badd7b72ac41" }, "downloads": -1, "filename": "django-herokuapp-0.9.20.tar.gz", "has_sig": false, "md5_digest": "4ebd402886f3443589eb201bcce84b5f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15222, "upload_time": "2015-05-05T08:52:19", "url": "https://files.pythonhosted.org/packages/31/b1/6368e63c4ded0e0cfe552e8c71ccc9206ecdb663afd84a6cdcda9811aef5/django-herokuapp-0.9.20.tar.gz" } ] }