{ "info": { "author": "Patrick Smith", "author_email": "pjs482@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Topic :: Utilities" ], "description": "``pylexa``\n==========\n\n|Build Status|\n\n``pylexa`` is a library that aims to ease development of an `Alexa\nSkills\nKits `__.\n\n``pylexa`` allows one to define a simple Flask application that will be\nable to accept requests and return appropriate responses to the Alexa\nservice.\n\nExample\n-------\n\nLet's say you want to define an Alexa Skill that echoes whatever the\nuser says. So far, you've:\n\n- created a skill in the `Amazon Developer\n Console `__\n- Added an ``Echo`` intent with a single slot, ``message``:\n\n .. code:: javascript\n\n {\n \"intent\": \"Echo\",\n \"slots\": [\n {\n \"name\": \"message\",\n \"type\": \"AMAZON.LITERAL\"\n }\n ]\n }\n\n- Added an utterance to allow users to interact with the skill:\n\n ``Echo echo { something | message }``\n\nNow, you're ready to create a server that will accept the request and\nreturn a response echoing the input. Using ``pylexa``, we'd need only\nthe following code to accomplish this:\n\n.. code:: python\n\n from flask import Flask\n\n from pylexa.app import alexa_blueprint\n from pylexa.intent import handle_intent\n from pylexa.response import PlainTextSpeech\n\n\n app = Flask(__name__)\n app.config['app_id'] = 'amzn1.echo-sdk-ams.app.my_app_id'\n app.register_blueprint(alexa_blueprint)\n\n\n @handle_intent('Echo')\n def handle_echo_intent(request):\n return PlainTextSpeech(request.slots.get('message', 'Nothing to echo'))\n\nAnd that's it! You can push the above code, configure the skill to point\nto the server running the ``flask`` app and use the service simulator to\ntest your skill.\n\nTesting\n-------\n\nAfter installing requirements with ``pip install -r requirements.pip``,\ntests can be run with ``nosetests``.\n\nAlexa Configuration\n-------------------\n\nConfiguration of an Alexa Skill is done in three parts in the developer\nconsole:\n\n- the intent schema\n- list of utterances\n- custom slot definitions\n\n``pylexa`` comes with a command line tool that aims to simplify this\nconfiguration by allowing one to define a YAML file with the necessary\ninformation and generate the intent schema, utterances, and custom slots\nfrom that.\n\nFor example, let's say you had the following YAML schema defined:\n\n.. code:: yaml\n\n intents:\n - TestIntent:\n foo: AMAZON.NUMBER\n bar: CUSTOM_SLOT\n - OtherIntent\n - AMAZON.YesIntent\n\n utterances:\n TestIntent:\n - 'do something with {foo} and {bar}'\n - '{foo} {bar}'\n OtherIntent:\n - 'do something else'\n\n slots:\n CUSTOM_SLOT:\n - value 1\n - value 2\n\nThis defines a skill that handles three intents (``TestIntent``,\n``OtherIntent``, and ``AMAZON.YesIntent``), specifies utterances for\n``TestIntent`` and ``OtherIntent``, and contains a custom slot\ndefinition.\n\nIf we have that YAML definition in ``conf/schema.yml``:\n\n.. code:: bash\n\n $ tree conf\n conf\n \u2514\u2500\u2500 schema.yml\n\n 0 directories, 1 file\n\nWe can then run the command line tool ``generate-alexa-conf`` to create\nthe requisite files:\n\n.. code:: bash\n\n $ generate-alexa-conf conf/schema.yml\n\nWe now have the intent schema, utterances, and slots defined in their\nown files:\n\n.. code:: bash\n\n $ tree conf\n conf\n \u251c\u2500\u2500 intent_schema.json\n \u251c\u2500\u2500 schema.yml\n \u251c\u2500\u2500 slots\n \u2502\u00a0\u00a0 \u251c\u2500\u2500 CUSTOM_SLOT\n \u2514\u2500\u2500 utterances.txt\n\n 1 directory, 4 files\n\nThe contents of each file can then be copied + pasted in to the\nappropriate sections of the Alexa Skill configuration.\n\n.. |Build Status| image:: https://travis-ci.org/patricksmith/pylexa.svg?branch=master\n :target: https://travis-ci.org/patricksmith/pylexa", "description_content_type": null, "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://www.github.com/patricksmith/pylexa", "keywords": "amazon alexa ask", "license": "", "maintainer": "", "maintainer_email": "", "name": "pylexa", "package_url": "https://pypi.org/project/pylexa/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/pylexa/", "project_urls": { "Homepage": "http://www.github.com/patricksmith/pylexa" }, "release_url": "https://pypi.org/project/pylexa/1.0.0/", "requires_dist": [ "flask", "pycrypto", "pyopenssl", "python-dateutil", "pyyaml", "requests" ], "requires_python": "", "summary": "A library to ease creation of an Alexa Skills Kit", "version": "1.0.0" }, "last_serial": 2186940, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "a456f3eef196633695a6f0e5fb05a33f", "sha256": "eb9d2eaa2df10483a979d8a25284a01c7bcf5d0239d7ab6770cc05bbbdf1c3c4" }, "downloads": -1, "filename": "pylexa-0.0.1-py2-none-any.whl", "has_sig": false, "md5_digest": "a456f3eef196633695a6f0e5fb05a33f", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 3907, "upload_time": "2016-04-19T19:19:40", "url": "https://files.pythonhosted.org/packages/ac/41/f7ccffe33da3c04fc27481afe1cd1661301060995ecdb628585156420d84/pylexa-0.0.1-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "43d6093fc9adb9e596d8858994f7ce72", "sha256": "28ae9c6845d8bc5f9439cc4177d7c906e17ce48cb09a936b2528f24e3854ea36" }, "downloads": -1, "filename": "pylexa-0.0.1.tar.gz", "has_sig": false, "md5_digest": "43d6093fc9adb9e596d8858994f7ce72", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2101, "upload_time": "2016-04-19T19:19:50", "url": "https://files.pythonhosted.org/packages/5e/34/238ac713d54d2c22cf4eae54b6f2aabda7bf797769086238465a6434f16c/pylexa-0.0.1.tar.gz" } ], "0.0.10": [ { "comment_text": "", "digests": { "md5": "ac39bec1a4d540cc75f2a1c85943193c", "sha256": "ad94ed91a20ed6680d25b677ed1e19db7ca0caba9eb3f95ebf8d1b590b3b6165" }, "downloads": -1, "filename": "pylexa-0.0.10-py2-none-any.whl", "has_sig": false, "md5_digest": "ac39bec1a4d540cc75f2a1c85943193c", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 8355, "upload_time": "2016-05-12T18:07:26", "url": "https://files.pythonhosted.org/packages/9b/6a/01c4d9f6bf545a818168494ca3860e2428605cbd9db6627eccbb8df7a1d4/pylexa-0.0.10-py2-none-any.whl" } ], "0.0.11": [ { "comment_text": "", "digests": { "md5": "3ff832ca038c1986d45bd8ae76dc8f26", "sha256": "5ae9b63b5b74dd1a2f220edfefe8cbbf9d8a413b1de40f53571a9390124351e6" }, "downloads": -1, "filename": "pylexa-0.0.11-py2-none-any.whl", "has_sig": false, "md5_digest": "3ff832ca038c1986d45bd8ae76dc8f26", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 6586, "upload_time": "2016-05-13T14:46:45", "url": "https://files.pythonhosted.org/packages/f0/7a/25e3ddf6688323a3d4c6d6fde2136f185485cb60b4a92ca63e957387802b/pylexa-0.0.11-py2-none-any.whl" } ], "0.0.12": [ { "comment_text": "", "digests": { "md5": "82e6864d04561b0473a834c9a362c412", "sha256": "2be9207a5eac00f548cb23ec433161230544b82376189a2c9b90d11d51e92aa7" }, "downloads": -1, "filename": "pylexa-0.0.12-py2-none-any.whl", "has_sig": false, "md5_digest": "82e6864d04561b0473a834c9a362c412", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 8404, "upload_time": "2016-05-13T14:51:12", "url": "https://files.pythonhosted.org/packages/75/a6/e6d6836457dc2eb17a313b1f9c629f25d2f5fd7541b7039b2a66f515c2a5/pylexa-0.0.12-py2-none-any.whl" } ], "0.0.13": [ { "comment_text": "", "digests": { "md5": "f0ceca9ff8e6c40fef855e0a2e70d0cb", "sha256": "fe848f413c3aca06806ec31d0687653c1b457788779700330247784fe9cd566d" }, "downloads": -1, "filename": "pylexa-0.0.13-py2-none-any.whl", "has_sig": false, "md5_digest": "f0ceca9ff8e6c40fef855e0a2e70d0cb", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 8422, "upload_time": "2016-05-13T15:00:36", "url": "https://files.pythonhosted.org/packages/59/c3/a8140d7e019a580191e642c980dd3aa8a46a7a533a2261fe1c737d22bb7c/pylexa-0.0.13-py2-none-any.whl" } ], "0.0.14": [ { "comment_text": "", "digests": { "md5": "f29506ef96ee9e84f3ab91813f47295f", "sha256": "fdca9d95a95816b86f7c52edae9faf6ff281de677f2afe797f0d208f3330486e" }, "downloads": -1, "filename": "pylexa-0.0.14-py2-none-any.whl", "has_sig": false, "md5_digest": "f29506ef96ee9e84f3ab91813f47295f", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 22229, "upload_time": "2016-05-16T17:35:48", "url": "https://files.pythonhosted.org/packages/b1/ce/adf8a6e0216bb2318418c0cc034223e690f0131114188677173ee9587592/pylexa-0.0.14-py2-none-any.whl" } ], "0.0.15": [ { "comment_text": "", "digests": { "md5": "2a9bfa9fbda15a02118befe0cbd6e90b", "sha256": "291f28085df4031c3aea48e6a673dd20ed629b135079f8f0939dc73b13edc249" }, "downloads": -1, "filename": "pylexa-0.0.15-py2-none-any.whl", "has_sig": false, "md5_digest": "2a9bfa9fbda15a02118befe0cbd6e90b", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 22256, "upload_time": "2016-05-22T17:57:34", "url": "https://files.pythonhosted.org/packages/b0/e6/76882be4b9c8f272792932e2aa8a41b70bb368a94f2703f2b4f35ee05a27/pylexa-0.0.15-py2-none-any.whl" } ], "0.0.2": [ { "comment_text": "", "digests": { "md5": "16fe0292bba38392ea0ba06ead31efb0", "sha256": "fe6724c9bc23260dff8acd0550fb279519a23e623bf1789978be7ee292867220" }, "downloads": -1, "filename": "pylexa-0.0.2-py2-none-any.whl", "has_sig": false, "md5_digest": "16fe0292bba38392ea0ba06ead31efb0", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 4255, "upload_time": "2016-04-21T20:30:11", "url": "https://files.pythonhosted.org/packages/67/29/e741b28aca9295f492ebf681d2af65ef6505e9fa6d850942ad3bb6991804/pylexa-0.0.2-py2-none-any.whl" } ], "0.0.3": [ { "comment_text": "", "digests": { "md5": "094432fdc75a061e81f14ee5adf4d59b", "sha256": "a950e00fae52127716148afd75b7d7582133b1c597cf17e48bc29cac054ab223" }, "downloads": -1, "filename": "pylexa-0.0.3-py2-none-any.whl", "has_sig": false, "md5_digest": "094432fdc75a061e81f14ee5adf4d59b", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 4285, "upload_time": "2016-04-22T14:41:34", "url": "https://files.pythonhosted.org/packages/70/98/5fe8ab33cac9ebfc95e9731a9e016b6028f269988c5939befce24b24c8df/pylexa-0.0.3-py2-none-any.whl" } ], "0.0.4": [ { "comment_text": "", "digests": { "md5": "cf21c9a8904f6ec7d6500b39b5f45638", "sha256": "383fc3f9b2f0f035c4939ae3f2059c9691116f75e527730153b77927bb6a42b5" }, "downloads": -1, "filename": "pylexa-0.0.4-py2-none-any.whl", "has_sig": false, "md5_digest": "cf21c9a8904f6ec7d6500b39b5f45638", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 4297, "upload_time": "2016-04-25T14:09:24", "url": "https://files.pythonhosted.org/packages/ac/20/97483ec44746827c75fa646b37bdff59abf9d60087195b5aa51a6dd78b23/pylexa-0.0.4-py2-none-any.whl" } ], "0.0.5": [ { "comment_text": "", "digests": { "md5": "d9a33378a57e4200b32a18654a17c44a", "sha256": "6c03b1ad5d2e5fdc7f92a94d87a3d8a328f7bbed45ab1a858824aa23305c9705" }, "downloads": -1, "filename": "pylexa-0.0.5-py2-none-any.whl", "has_sig": false, "md5_digest": "d9a33378a57e4200b32a18654a17c44a", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 4302, "upload_time": "2016-04-27T20:47:46", "url": "https://files.pythonhosted.org/packages/6c/36/88f307fdadb2bfbee90c582103d4eb42261c75abc12c25c8b42d20594ed1/pylexa-0.0.5-py2-none-any.whl" } ], "0.0.6": [ { "comment_text": "", "digests": { "md5": "4f2d5cc0338eb6c62da55e50ece81891", "sha256": "f0ac91e954301ebd3e682383e6480a3bfb2359d118d8325fbf3a7c2e43c422db" }, "downloads": -1, "filename": "pylexa-0.0.6-py2-none-any.whl", "has_sig": false, "md5_digest": "4f2d5cc0338eb6c62da55e50ece81891", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 4772, "upload_time": "2016-04-29T15:39:04", "url": "https://files.pythonhosted.org/packages/3d/02/4ed80914d456e4aaa280a8d0d0564fdd1ebcd5e1c3458bea098fcd0bfb41/pylexa-0.0.6-py2-none-any.whl" } ], "0.0.7": [ { "comment_text": "", "digests": { "md5": "d9ef06417ad5d8b3b383dec04af91387", "sha256": "8741a9f22bf3361b1986f3f05a74180e6e4299f8dd3f5ee5c3e3943b29c4d79b" }, "downloads": -1, "filename": "pylexa-0.0.7-py2-none-any.whl", "has_sig": false, "md5_digest": "d9ef06417ad5d8b3b383dec04af91387", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 6472, "upload_time": "2016-04-29T18:13:46", "url": "https://files.pythonhosted.org/packages/9c/aa/98822e99bb5f13444621154ed0aa5e41f967eb111a68f4a462ee90cbcb5b/pylexa-0.0.7-py2-none-any.whl" } ], "0.0.8": [ { "comment_text": "", "digests": { "md5": "ebda7fc5ac5500a783ef7d8e21aa7633", "sha256": "6145c1392f01ade79f665ea87a20523be7a8489b4969eba008ef0040f7111617" }, "downloads": -1, "filename": "pylexa-0.0.8-py2-none-any.whl", "has_sig": false, "md5_digest": "ebda7fc5ac5500a783ef7d8e21aa7633", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 8137, "upload_time": "2016-05-05T20:04:56", "url": "https://files.pythonhosted.org/packages/65/32/4736ed2d85e55d830d2ddd900d2c31101c6f661c8d3113a124b50f90edb9/pylexa-0.0.8-py2-none-any.whl" } ], "0.0.9": [ { "comment_text": "", "digests": { "md5": "568ed97ad8d93c0be9dbced98ca51ac8", "sha256": "9a93886acfdc3562e1d420c1debe8122706d609375fe337a355a2ed37151b9ef" }, "downloads": -1, "filename": "pylexa-0.0.9-py2-none-any.whl", "has_sig": false, "md5_digest": "568ed97ad8d93c0be9dbced98ca51ac8", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 8210, "upload_time": "2016-05-11T14:54:51", "url": "https://files.pythonhosted.org/packages/07/c9/4df974f59ec4249e5c4a47f20e5fb3a0c823f6e7ed8c05e8bc9dbc583763/pylexa-0.0.9-py2-none-any.whl" } ], "1.0.0": [ { "comment_text": "", "digests": { "md5": "298c8bbfadda830463bab86a55361d56", "sha256": "b7d320e3330e2492fd98a7e8ae04a34181fcee6eaa0f0f0e9d4abafaa8edb189" }, "downloads": -1, "filename": "pylexa-1.0.0-py2-none-any.whl", "has_sig": false, "md5_digest": "298c8bbfadda830463bab86a55361d56", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 22790, "upload_time": "2016-06-25T17:45:55", "url": "https://files.pythonhosted.org/packages/90/1d/1557a85aec961469deb009b7f8e2a719830d47b20b512f66921671e4e3d4/pylexa-1.0.0-py2-none-any.whl" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "298c8bbfadda830463bab86a55361d56", "sha256": "b7d320e3330e2492fd98a7e8ae04a34181fcee6eaa0f0f0e9d4abafaa8edb189" }, "downloads": -1, "filename": "pylexa-1.0.0-py2-none-any.whl", "has_sig": false, "md5_digest": "298c8bbfadda830463bab86a55361d56", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 22790, "upload_time": "2016-06-25T17:45:55", "url": "https://files.pythonhosted.org/packages/90/1d/1557a85aec961469deb009b7f8e2a719830d47b20b512f66921671e4e3d4/pylexa-1.0.0-py2-none-any.whl" } ] }