{ "info": { "author": "Kyle Rockman", "author_email": "kyle.rockman@mac.com", "bugtrack_url": null, "classifiers": [ "Environment :: Console", "Intended Audience :: Developers", "Intended Audience :: Information Technology", "License :: OSI Approved :: Apache Software License", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 3 :: Only" ], "description": "django-alexa\n============\n\n.. image:: https://badge.fury.io/py/django-alexa.svg\n :target: https://badge.fury.io/py/django-alexa\n :alt: Current Version\n\n.. image:: https://travis-ci.org/pycontribs/django-alexa.svg?branch=master\n :target: https://travis-ci.org/pycontribs/django-alexa\n :alt: Build Status\n\n.. image:: https://coveralls.io/repos/github/pycontribs/django-alexa/badge.svg?branch=master\n :target: https://coveralls.io/github/pycontribs/django-alexa?branch=master\n\n.. image:: https://requires.io/github/lingster/django-alexa/requirements.svg?branch=master\n :target: https://requires.io/github/lingster/django-alexa/requirements/?branch=master\n :alt: Requirements Status\n\n.. image:: https://snyk.io/test/github/pycontribs/django-alexa/badge.svg?targetFile=requirements.txt\n :target: https://snyk.io/test/github/pycontribs/django-alexa/?targetFile=requirements.txt\n :alt: Vulnerbilities Status\n\n.. image:: https://img.shields.io/badge/code%20style-black-000000.svg\n :target: https://github.com/ambv/black\n :alt: Code Style: black\n\nAmazon Alexa Skills Kit integration for Django\n\nThe django-alexa framework leverages the django-rest-framework package to support\nthe REST API that alexa skills need to use, but wraps up the bolierplate for intent\nrouting and response creation that you'd need to write yourself.\n\nFreeing you up to just write your alexa intents and utterances.\n\nQuickstart\n----------\n\nFeeling impatient? I like your style.\n\n.. code-block:: bash\n\n $ pip install django-alexa\n\nIn your django settings.py add the following:\n\n.. code-block:: python\n\n INSTALLED_APPS = [\n 'django_alexa',\n 'rest_framework', # don't forget to add this too\n ...\n ]\n\nIn your django urls.py add the following:\n\n.. code-block:: python\n\n urlpatterns = [\n url(r'^', include('django_alexa.urls')),\n ...\n ]\n\nYour django app will now have a new REST api endpoint at `/alexa/ask/`\nthat will handle all the incoming request and route them to the intents defined\nin any \"alexa.py\" file.\n\nSet environment variables to configure the validation needs:\n\n.. code-block:: bash\n\n ALEXA_APP_ID_DEFAULT=\"Your Amazon Alexa App ID DEFAULT\"\n ALEXA_APP_ID_OTHER=\"Your Amazon Alexa App ID OTHER\" # for each app\n ALEXA_REQUEST_VERIFICATON=True # Enables/Disable request verification\n\n\nYou can service multiple alexa skills by organizing your intents by an app name.\nSee the intent decorator's \"app\" argument for more information.\n\nIf you set your django project to DEBUG=True django-alexa will also do some\nhelpful debugging for you during request ingestion, such as catch all exceptions\nand give you back a stacktrace and error type in the alexa phone app.\n\ndjango-alexa is also configured to log useful information such as request body,\nrequest headers, validation as well as response data, this is all configured\nthrough the standard python logging setup using the logger 'django-alexa'\n\nIn your django project make an `alexa.py` file.\nThis file is where you define all your alexa intents and utterances.\nEach intent must return a valid alexa response dictionary. To aid in this the\ndjango-alexa api provides a helper class called `ResponseBuilder`.\nThis class has a function to speed up building these dictionaries for responses.\n\nPlease see the documentation on the class for a summary of the details or head\nto https://developer.amazon.com/public/solutions/alexa/alexa-skills-kit/docs/alexa-skills-kit-interface-reference\nand checkout the more verbose documentation on proper alexa responses\n\nExample:\n\n.. code-block:: python\n\n from django_alexa.api import fields, intent, ResponseBuilder\n\n HOUSES = (\"gryffindor\", \"hufflepuff\", \"ravenclaw\", \"slytherin\")\n\n @intent\n def LaunchRequest(session):\n \"\"\"\n Hogwarts is a go\n ---\n launch\n start\n run\n begin\n open\n \"\"\"\n return ResponseBuilder.create_response(message=\"Welcome to Hog warts school of witchcraft and wizardry!\",\n reprompt=\"What house would you like to give points to?\",\n end_session=False,\n launched=True)\n\n\n class PointsForHouseSlots(fields.AmazonSlots):\n house = fields.AmazonCustom(label=\"HOUSE_LIST\", choices=HOUSES)\n points = fields.AmazonNumber()\n\n\n @intent(slots=PointsForHouseSlots)\n def AddPointsToHouse(session, house, points):\n \"\"\"\n Direct response to add points to a house\n ---\n {points} {house}\n {points} points {house}\n add {points} points to {house}\n give {points} points to {house}\n \"\"\"\n kwargs = {}\n kwargs['message'] = \"{0} points added to house {1}.\".format(points, house)\n if session.get('launched'):\n kwargs['reprompt'] = \"What house would you like to give points to?\"\n kwargs['end_session'] = False\n kwargs['launched'] = session['launched']\n return ResponseBuilder.create_response(**kwargs)\n\nThe django-alexa framework also provides two django management commands that\nwill build your intents and utterances schema for you by inspecting the code.\nThe django-alexa framework also defines some best practice intents to help\nget you up and running even faster, but allows you to easily override them,\nas seen above with the custom LaunchRequest.\n\n.. code-block:: bash\n\n >>> python manage.py alexa_intents\n {\n \"intents\": [\n {\n \"intent\": \"StopIntent\",\n \"slots\": []\n },\n {\n \"intent\": \"PointsForHouse\",\n \"slots\": [\n {\n \"name\": \"points\",\n \"type\": \"AMAZON.NUMBER\"\n },\n {\n \"name\": \"house\",\n \"type\": \"HOUSE_LIST\"\n }\n ]\n },\n {\n \"intent\": \"HelpIntent\",\n \"slots\": []\n },\n {\n \"intent\": \"LaunchRequest\",\n \"slots\": []\n },\n {\n \"intent\": \"SessionEndedRequest\",\n \"slots\": []\n },\n {\n \"intent\": \"UnforgivableCurses\",\n \"slots\": []\n },\n {\n \"intent\": \"CancelIntent\",\n \"slots\": []\n }\n ]\n }\n\n.. code-block:: bash\n\n >>> python manage.py alexa_utterances\n StopIntent stop\n StopIntent end\n HelpIntent help\n HelpIntent info\n HelpIntent information\n LaunchRequest launch\n LaunchRequest start\n LaunchRequest run\n LaunchRequest begin\n LaunchRequest open\n PointsForHouse {points} {house}\n PointsForHouse {points} points {house}\n PointsForHouse add {points} points to {house}\n PointsForHouse give {points} points to {house}\n SessionEndedRequest quit\n SessionEndedRequest nevermind\n CancelIntent cancel\n\n.. code-block:: bash\n\n >>> python manage.py alexa_custom_slots\n HOUSE_LIST:\n gryffindor\n hufflepuff\n ravenclaw\n slytherin\n\nThere is also a convience that will print each of this grouped by app name\n\n.. code-block:: bash\n\n >>> python manage.py alexa\n ... All of the above data output ...\n\n\n\nUtterances can be added to your function's docstring seperating them from the\nregular docstring by placing them after '---'.\n\nEach line after '---' will be added as an utterance.\n\nWhen defining utterances with variables in them make sure all of the requested\nvariables in any of the utterances are defined as fields in the slots\nfor that intent.\n\nThe django-alexa framework will throw errors when these management commands run\nif things seem to be out of place or incorrect.\n\n\nContributing\n------------\n\n- The master branch is meant to be stable. I usually work on unstable stuff on a personal branch.\n- Fork the master branch ( https://github.com/pycontribs/django-alexa/fork )\n- Create your branch (`git checkout -b my-branch`)\n- Install required dependencies via pipenv install\n- Run the unit tests via pytest or tox\n- Run `tox`, this will run black (for formatting code), flake8 for linting and pytests\n- Commit your changes (git commit -am 'added fixes for something')\n- Push to the branch (git push origin my-branch)\n- If you want to merge code from the master branch you can set the upstream like this: \n `git remote add upstream https://github.com/pycontribs/django-alexa.git`\n- Create a new Pull Request (Travis CI will test your changes)\n- And you're done!\n\n- Features, Bug fixes, bug reports and new documentation are all appreciated!\n- See the github issues page for outstanding things that could be worked on.\n\n\nCredits: Kyle Rockman 2016\n\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/pycontribs/django-alexa", "keywords": "", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "django-alexa", "package_url": "https://pypi.org/project/django-alexa/", "platform": "", "project_url": "https://pypi.org/project/django-alexa/", "project_urls": { "Homepage": "https://github.com/pycontribs/django-alexa" }, "release_url": "https://pypi.org/project/django-alexa/0.0.9/", "requires_dist": [ "alabaster (==0.7.12)", "ansimarkup (==1.4.0)", "asn1crypto (==0.24.0)", "babel (==2.6.0)", "better-exceptions-fork (==0.2.1.post6)", "certifi (==2018.11.29)", "cffi (==1.11.5)", "chardet (==3.0.4)", "coverage (==4.5.2)", "coveralls (==1.5.1)", "cryptography (==2.4.2)", "django (==2.1.5)", "djangorestframework (==3.9.0)", "docopt (==0.6.2)", "docutils (==0.14)", "idna (==2.8)", "imagesize (==1.1.0)", "jinja2 (==2.10)", "loguru (==0.2.4)", "markupsafe (==1.1.0)", "packaging (==18.0)", "pbr (==5.1.1)", "pycparser (==2.19)", "pycryptodome (==3.7.2)", "pygments (==2.3.1)", "pyopenssl (==18.0.0)", "pyparsing (==2.3.0)", "pytz (==2018.9)", "pyversion3 (==0.5.12)", "requests (==2.21.0)", "six (==1.12.0)", "snowballstemmer (==1.2.1)", "sphinx-rtd-theme (==0.4.2)", "sphinx (==1.8.3)", "sphinxcontrib-websupport (==1.1.0)", "urllib3 (==1.24.1)", "colorama (==0.4.1) ; (sys_platform == 'win32')" ], "requires_python": "", "summary": "Amazon Alexa Skills Kit integration for Django", "version": "0.0.9" }, "last_serial": 4704918, "releases": { "0.0.1": [], "0.0.2": [ { "comment_text": "", "digests": { "md5": "5eb09cee5fc47b6043f4431b36861f30", "sha256": "b31e33c920a28cf05b4e0f3602f34bb776e6cae2b2e75ea4981161c6ebd445af" }, "downloads": -1, "filename": "django_alexa-0.0.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "5eb09cee5fc47b6043f4431b36861f30", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 15849, "upload_time": "2015-11-24T20:00:51", "url": "https://files.pythonhosted.org/packages/f5/14/590890b76c6a6555f6cf61936c7aa5ae3b7a9c8cf6af4933294bb9374b75/django_alexa-0.0.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b2d299080c6b34ca6459b5222ae52039", "sha256": "857a0a6244c2ba562dcaf1287935af4c5d139a44c98d007f61d269051e2c1557" }, "downloads": -1, "filename": "django-alexa-0.0.2.tar.gz", "has_sig": false, "md5_digest": "b2d299080c6b34ca6459b5222ae52039", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9508, "upload_time": "2015-11-24T20:00:44", "url": "https://files.pythonhosted.org/packages/f3/94/015733ea99ef694c25e401ae6a0ef225a42dd690454b30a80d00903d7e7a/django-alexa-0.0.2.tar.gz" } ], "0.0.3": [ { "comment_text": "", "digests": { "md5": "dc11b42ffe5445eb70caf6986fcd02bc", "sha256": "039b7da468df778956f9c4bc9e3b7049d0a537d8d8aebeab16936c4cc8616d2f" }, "downloads": -1, "filename": "django_alexa-0.0.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "dc11b42ffe5445eb70caf6986fcd02bc", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 15551, "upload_time": "2015-11-24T20:13:28", "url": "https://files.pythonhosted.org/packages/03/16/4925d081eae93db30aae10467fdf4dea1a87340f317f613c70cd4aed2f83/django_alexa-0.0.3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "da3ea1835d513d647867b811f32daac1", "sha256": "d6e0bdcc9e1db3733a9c62b2b22f62a77523b0874b09819dde39d2a10fba4559" }, "downloads": -1, "filename": "django-alexa-0.0.3.tar.gz", "has_sig": false, "md5_digest": "da3ea1835d513d647867b811f32daac1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9497, "upload_time": "2015-11-24T20:13:15", "url": "https://files.pythonhosted.org/packages/cb/60/43ab147871b3803ba81cf11346a1e69f8c2c98c7a6866543befcda5734a1/django-alexa-0.0.3.tar.gz" } ], "0.0.4": [ { "comment_text": "", "digests": { "md5": "c95fb1f122bcd6c380b5797f33af5040", "sha256": "7dd14e1897c4d03aa4c890f3c1ad2cfb8901847b1e3dcf4a9d1a01b5e5e4da6e" }, "downloads": -1, "filename": "django_alexa-0.0.4-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "c95fb1f122bcd6c380b5797f33af5040", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 12056, "upload_time": "2015-11-24T20:26:18", "url": "https://files.pythonhosted.org/packages/a2/c8/a8909ee04d02822ea92eda7f6faf07a4130c3808874b2cc7eb3416bddd0a/django_alexa-0.0.4-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "1a09b60eca1bcb7cfae067101604d7f7", "sha256": "ee573e9f53e95b3369e3d4878104a19824d953459d3bb3d809f8fcc99d1a6323" }, "downloads": -1, "filename": "django-alexa-0.0.4.tar.gz", "has_sig": false, "md5_digest": "1a09b60eca1bcb7cfae067101604d7f7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9265, "upload_time": "2015-11-24T20:26:14", "url": "https://files.pythonhosted.org/packages/f4/9f/e68c29084ef4830360b86a1f3ae989e3979c5dd54743625d3bbbe8552147/django-alexa-0.0.4.tar.gz" } ], "0.0.5": [ { "comment_text": "", "digests": { "md5": "2fa6db203e66c46ce46d2b765451de28", "sha256": "cc181be62301aa1d408abffc6fa8b65aba55aeb0c66cc85749c9238ab9af4ece" }, "downloads": -1, "filename": "django_alexa-0.0.5-py2.7.egg", "has_sig": false, "md5_digest": "2fa6db203e66c46ce46d2b765451de28", "packagetype": "bdist_egg", "python_version": "2.7", "requires_python": null, "size": 23110, "upload_time": "2015-12-23T17:16:34", "url": "https://files.pythonhosted.org/packages/12/11/a609b25f0f30a222a66af313498f10e388a666b8dc93ad9437a427d300b0/django_alexa-0.0.5-py2.7.egg" }, { "comment_text": "", "digests": { "md5": "7cc8c22e8f790dc15c8e5136438cb371", "sha256": "81647b42e7b548d0e087db078a7435ec0f55820797db0dff8df7125ba6f711ce" }, "downloads": -1, "filename": "django_alexa-0.0.5-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "7cc8c22e8f790dc15c8e5136438cb371", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 12029, "upload_time": "2015-12-23T17:16:51", "url": "https://files.pythonhosted.org/packages/38/a2/b2f5914413c733abf34cad01ccd61113576e3edf0891045de15ebbe32127/django_alexa-0.0.5-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "119548097bc4e79cad8c9acc3b81fe40", "sha256": "84cb3eb86138aacc50926ad3c80777aeb81673c99593b982240092b4df27a91a" }, "downloads": -1, "filename": "django-alexa-0.0.5.tar.gz", "has_sig": false, "md5_digest": "119548097bc4e79cad8c9acc3b81fe40", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10049, "upload_time": "2015-12-23T17:16:18", "url": "https://files.pythonhosted.org/packages/43/1d/fe82aa714fd45be9d1727b98fb6e55c5daca8304f4a0b7ca3ee94db607e8/django-alexa-0.0.5.tar.gz" } ], "0.0.6": [ { "comment_text": "", "digests": { "md5": "9066e25ff9a37011a853a33a52c4e0c1", "sha256": "0b2cfd63eb323c622033e973d8089f74ecdb8b4f3a508fd4fbf21df81ba877df" }, "downloads": -1, "filename": "django_alexa-0.0.6-py2.7.egg", "has_sig": false, "md5_digest": "9066e25ff9a37011a853a33a52c4e0c1", "packagetype": "bdist_egg", "python_version": "2.7", "requires_python": null, "size": 43971, "upload_time": "2016-01-29T00:04:54", "url": "https://files.pythonhosted.org/packages/5e/eb/ed48d0249c03fc88f5d3c99c80e2ddd984bb53c15bf1b1cb986fc584ec91/django_alexa-0.0.6-py2.7.egg" }, { "comment_text": "", "digests": { "md5": "f193b158273c87a43d12e3a808f432e3", "sha256": "b5b3f3237275a3878868c4ca049e591d992a1d79a18e8f71b4b8f28d31f6be5f" }, "downloads": -1, "filename": "django_alexa-0.0.6-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "f193b158273c87a43d12e3a808f432e3", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 20425, "upload_time": "2016-01-29T00:05:03", "url": "https://files.pythonhosted.org/packages/b1/bc/1020107e96397c41afb7e8c9a93320a131b8b070be0dac64e96be911ecf9/django_alexa-0.0.6-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "76a066e12e8db098717d1a522ec2a360", "sha256": "190884426dd7bf6fcf09f1ed3b9296076ee1d6142577da4577d3a1711da0b182" }, "downloads": -1, "filename": "django-alexa-0.0.6.tar.gz", "has_sig": false, "md5_digest": "76a066e12e8db098717d1a522ec2a360", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13960, "upload_time": "2016-01-29T00:04:34", "url": "https://files.pythonhosted.org/packages/bc/ce/a81746cd80c3b45cbf1afbcb94618191794f45ff0624dc7b507fe175620f/django-alexa-0.0.6.tar.gz" } ], "0.0.7": [ { "comment_text": "", "digests": { "md5": "3b02af5a783b0cecca83b3d26067c8d4", "sha256": "f6c35b96cee4fb4784efc3f3c0132c63ebf0643ecaf583a045cbc216ffe449f7" }, "downloads": -1, "filename": "django_alexa-0.0.7-py2.7.egg", "has_sig": false, "md5_digest": "3b02af5a783b0cecca83b3d26067c8d4", "packagetype": "bdist_egg", "python_version": "2.7", "requires_python": null, "size": 35674, "upload_time": "2016-10-04T19:45:16", "url": "https://files.pythonhosted.org/packages/9d/46/ea572c1b1f9a4cf43cf782069ef00faa433e76b44015f468f31a3b89c699/django_alexa-0.0.7-py2.7.egg" }, { "comment_text": "", "digests": { "md5": "cee77f0b2c01a2318dee147d3b2935a9", "sha256": "7cddc39309de28341d1d9546c0590d147151bff152798d8b334ddd464a4e7a5a" }, "downloads": -1, "filename": "django_alexa-0.0.7-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "cee77f0b2c01a2318dee147d3b2935a9", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 17076, "upload_time": "2016-10-04T19:45:19", "url": "https://files.pythonhosted.org/packages/07/c8/61ed8e2535d5a90d522e6b5fdb73a69b9de61bfa82a4d803d64dca701583/django_alexa-0.0.7-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "63aa7ea89f678e5d16dba10a9c9b5fc3", "sha256": "8a85849d188e71d14477f63e090cc24db6df7facaefd52f07c5aba2ba1d509df" }, "downloads": -1, "filename": "django-alexa-0.0.7.tar.gz", "has_sig": false, "md5_digest": "63aa7ea89f678e5d16dba10a9c9b5fc3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14628, "upload_time": "2016-10-04T19:45:13", "url": "https://files.pythonhosted.org/packages/2c/40/6a193b0969233b2a8880f7dc37e86076bfe4e2d48159ce0fd15800c61aad/django-alexa-0.0.7.tar.gz" } ], "0.0.8": [ { "comment_text": "", "digests": { "md5": "89440f23ef85b0c3ae6002be3495988e", "sha256": "862a80d07f829311f89f364bab6c55cc67e94f751533f1175dccfc02fd574689" }, "downloads": -1, "filename": "django_alexa-0.0.8-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "89440f23ef85b0c3ae6002be3495988e", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 19782, "upload_time": "2019-01-15T23:13:41", "url": "https://files.pythonhosted.org/packages/6a/e1/6faba59ce543c582117c0e475b417f4a06e0fb77bd6d14b42f97ddc3c415/django_alexa-0.0.8-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a7984cc08979183f9ddf1af8d1c77993", "sha256": "a6a7d0dc3f4366f84822c9920212ddd45535fdaf8a3a40e02b579ee8602f7a1a" }, "downloads": -1, "filename": "django_alexa-0.0.8-py3.6.egg", "has_sig": false, "md5_digest": "a7984cc08979183f9ddf1af8d1c77993", "packagetype": "bdist_egg", "python_version": "3.6", "requires_python": null, "size": 40529, "upload_time": "2019-01-15T23:13:44", "url": "https://files.pythonhosted.org/packages/6e/8f/42986580ad1fbf5db364f2db05bb97648d8c86d257662fece4f8af2989b0/django_alexa-0.0.8-py3.6.egg" }, { "comment_text": "", "digests": { "md5": "5cbf834d58da3b65978ba84e4a494661", "sha256": "34d3b0f5795bd2bd84a9307e2016bcd51e03edcafc10171308816934526efc95" }, "downloads": -1, "filename": "django-alexa-0.0.8.tar.gz", "has_sig": false, "md5_digest": "5cbf834d58da3b65978ba84e4a494661", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 37228, "upload_time": "2019-01-15T23:13:42", "url": "https://files.pythonhosted.org/packages/78/79/5e83853607b286f8de0fd86b595c2fd7ef6fffff2d67ba72a04cbcc710b4/django-alexa-0.0.8.tar.gz" } ], "0.0.9": [ { "comment_text": "", "digests": { "md5": "5f03af542dc88cdd5ec866e632b753a0", "sha256": "3892f18975fcd341161a7dca2d4a7a4476a24058213e720b6ffd2b3870aeac79" }, "downloads": -1, "filename": "django_alexa-0.0.9-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "5f03af542dc88cdd5ec866e632b753a0", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 20125, "upload_time": "2019-01-16T19:56:24", "url": "https://files.pythonhosted.org/packages/b5/69/a2c354e0c434860d72f64d088026180215f4e092d1fd1de2fb34aee3068e/django_alexa-0.0.9-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "772ce3ec41cb31dcf4f8e647bd769ae8", "sha256": "fffa2cedeebfd0dff421b52ab0d535af160d92bc6f4d4ea731a1400c3eeb0451" }, "downloads": -1, "filename": "django_alexa-0.0.9-py3.6.egg", "has_sig": false, "md5_digest": "772ce3ec41cb31dcf4f8e647bd769ae8", "packagetype": "bdist_egg", "python_version": "3.6", "requires_python": null, "size": 40845, "upload_time": "2019-01-16T19:56:28", "url": "https://files.pythonhosted.org/packages/6e/fb/2ff47b02fa034fbf178f7b7ce41c1cc31e1a85e27d2a4cb0b32c05fe8466/django_alexa-0.0.9-py3.6.egg" }, { "comment_text": "", "digests": { "md5": "32ba9ecb4f15d00c7b9f7192b457898f", "sha256": "fa8f264da108a03e33b5b3dd018ee666c49328208ed181f4a1a539ade9f3f8fb" }, "downloads": -1, "filename": "django-alexa-0.0.9.tar.gz", "has_sig": false, "md5_digest": "32ba9ecb4f15d00c7b9f7192b457898f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 38005, "upload_time": "2019-01-16T19:56:26", "url": "https://files.pythonhosted.org/packages/89/db/35d2399c2dd9df294abf724b9eaeeb65d149c0bd9872b60590049a4e6e16/django-alexa-0.0.9.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "5f03af542dc88cdd5ec866e632b753a0", "sha256": "3892f18975fcd341161a7dca2d4a7a4476a24058213e720b6ffd2b3870aeac79" }, "downloads": -1, "filename": "django_alexa-0.0.9-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "5f03af542dc88cdd5ec866e632b753a0", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 20125, "upload_time": "2019-01-16T19:56:24", "url": "https://files.pythonhosted.org/packages/b5/69/a2c354e0c434860d72f64d088026180215f4e092d1fd1de2fb34aee3068e/django_alexa-0.0.9-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "772ce3ec41cb31dcf4f8e647bd769ae8", "sha256": "fffa2cedeebfd0dff421b52ab0d535af160d92bc6f4d4ea731a1400c3eeb0451" }, "downloads": -1, "filename": "django_alexa-0.0.9-py3.6.egg", "has_sig": false, "md5_digest": "772ce3ec41cb31dcf4f8e647bd769ae8", "packagetype": "bdist_egg", "python_version": "3.6", "requires_python": null, "size": 40845, "upload_time": "2019-01-16T19:56:28", "url": "https://files.pythonhosted.org/packages/6e/fb/2ff47b02fa034fbf178f7b7ce41c1cc31e1a85e27d2a4cb0b32c05fe8466/django_alexa-0.0.9-py3.6.egg" }, { "comment_text": "", "digests": { "md5": "32ba9ecb4f15d00c7b9f7192b457898f", "sha256": "fa8f264da108a03e33b5b3dd018ee666c49328208ed181f4a1a539ade9f3f8fb" }, "downloads": -1, "filename": "django-alexa-0.0.9.tar.gz", "has_sig": false, "md5_digest": "32ba9ecb4f15d00c7b9f7192b457898f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 38005, "upload_time": "2019-01-16T19:56:26", "url": "https://files.pythonhosted.org/packages/89/db/35d2399c2dd9df294abf724b9eaeeb65d149c0bd9872b60590049a4e6e16/django-alexa-0.0.9.tar.gz" } ] }