{ "info": { "author": "stanwood GmbH", "author_email": "piotr.rogulski@stanwood.de,developer@stanwood.io", "bugtrack_url": null, "classifiers": [ "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python :: 2" ], "description": "# alexa-skill\n\n[alexa-skill](https://github.com/stanwood/) is flexible, easy to use and extend package for creating Alexa skill applications.\n\nThis package is based on [alexa documentation](https://developer.amazon.com/docs/custom-skills/request-and-response-json-reference.html).\n\n\n## Installing\n\nInstall and update using pip:\n\n```bash\npip install -U alexa-skill\n```\n\n## Examples\n\nDefine intent class\n\n```python\nfrom alexa_skill.intents import BaseIntents\n\n\nclass ExampleIntents(BaseIntents):\n @property\n def mapper(self):\n return {\n 'EXAMPLE.hello': self.hello,\n }\n\n def hello(self):\n return self.response('Hello. Nice to meet you.'), True\n```\n\nDefine intent class with slots\n\n```python\nfrom alexa_skill import dates\nfrom alexa_skill.intents import BaseIntents\n\n\nclass DateIntents(BaseIntents):\n @property\n def mapper(self):\n return {\n 'EXAMPLE.date_intent': self.date_intent,\n }\n\n def date_intent(self, slots):\n\n date, date_type = dates.AmazonDateParser.to_date(slots['dateslot']['value'])\n\n text = \"Your date is {} and it is a {}\".format(\n date.strftime('%Y%m%d'),\n date_type\n )\n\n return self.response(text), True\n\n```\n\nDefine buildin intents\n\n```python\nfrom alexa_skill.intents import BuildInIntents\n\n\nbuildin_intents = BuildInIntents(\n help_message='Say \"HI\" to us',\n not_handled_message=\"Sorry, I don't understand you. Could you repeat?\",\n stop_message='stop',\n cancel_message='cancel'\n)\n```\n\n### [Falcon](examples/falcon_app/main.py)\n\nInitiate intents in fulfiller webhook for Alexa\n\n```python\nimport logging\n\nimport alexa_skill\nimport falcon\n\n\nclass Fulfiller(object):\n\n def on_post(self, req, resp):\n get_response = alexa_skill.Processor(\n req.media,\n buildin_intents,\n 'Welcome to Alexa skill bot',\n 'Good bye',\n ExampleIntents(), # Insert created Intents as arguments\n DateIntents(),\n )\n json_response, handled = get_response()\n\n logging.info('Response was handled by system: {}'.format(handled))\n\n resp.media = json_response\n\napp = falcon.API(media_type=falcon.MEDIA_JSON)\napp.add_route('/v1/alexa/fulfiller', Fulfiller())\n```\n\n### [Flask](examples/flask_app/main.py)\n\n```python\nimport logging\n\nimport alexa_skill\nfrom flask import Flask, request, jsonify\n\n\napp = Flask(__name__)\n\n\n@app.route(\"/v1/alexa/fulfiller\", methods=['POST'])\ndef fulfiller():\n get_response = alexa_skill.Processor(\n request.json,\n buildin_intents,\n 'Welcome to Alexa skill bot',\n 'Good bye',\n ExampleIntents(),\n DateIntents(),\n )\n json_response, handled = get_response()\n\n logging.info('Response was handled by system: {}'.format(handled))\n\n return jsonify(json_response)\n```\n\n## Documentation\n\nAuto generate documentation\n\n```bash\n\ncd docs/\n\nsphinx-apidoc -o ./source/_modules/ ../alexa_skill/\n\nmake html\n```\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/stanwood/alexa-skill", "keywords": "", "license": "", "maintainer": "", "maintainer_email": "", "name": "alexa-skill", "package_url": "https://pypi.org/project/alexa-skill/", "platform": "", "project_url": "https://pypi.org/project/alexa-skill/", "project_urls": { "Homepage": "https://github.com/stanwood/alexa-skill" }, "release_url": "https://pypi.org/project/alexa-skill/0.1.0/", "requires_dist": [ "python-dateutil (==2.7.3)", "pytest; extra == 'dev'", "coverage; extra == 'dev'", "tox; extra == 'dev'", "sphinx; extra == 'dev'", "sphinx-rtd-theme; extra == 'dev'", "sphinx; extra == 'docs'", "sphinx-autobuild; extra == 'docs'", "sphinx-rtd-theme; extra == 'docs'" ], "requires_python": "", "summary": "A flexible and easy-to-use package for building Alexa skill applications.", "version": "0.1.0" }, "last_serial": 4319007, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "da89e7db1ee78ea52c57d8eeabee9300", "sha256": "a2df6d6cfd2e6ff7e56c0f25767a3a4d97d5870fdea205c18fa20a0535d77a7c" }, "downloads": -1, "filename": "alexa_skill-0.1.0-py2-none-any.whl", "has_sig": false, "md5_digest": "da89e7db1ee78ea52c57d8eeabee9300", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 24662, "upload_time": "2018-09-28T07:51:07", "url": "https://files.pythonhosted.org/packages/41/46/8daf5bfeafbb42204ba431227bf3b079dcaeb31bbf646b91ca2da62cf146/alexa_skill-0.1.0-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "edcfe42ee266affab7a0e7378f794764", "sha256": "f33abd37cab34ee55e1d8552110dba8d22af54aaa877d93cf36524bfd3b2a80c" }, "downloads": -1, "filename": "alexa_skill-0.1.0.tar.gz", "has_sig": false, "md5_digest": "edcfe42ee266affab7a0e7378f794764", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10286, "upload_time": "2018-09-28T07:51:08", "url": "https://files.pythonhosted.org/packages/86/fd/dd847cac7f3b07e2ee378d6ac4ed29e8b88dc66ab434902f91ede2eb1929/alexa_skill-0.1.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "da89e7db1ee78ea52c57d8eeabee9300", "sha256": "a2df6d6cfd2e6ff7e56c0f25767a3a4d97d5870fdea205c18fa20a0535d77a7c" }, "downloads": -1, "filename": "alexa_skill-0.1.0-py2-none-any.whl", "has_sig": false, "md5_digest": "da89e7db1ee78ea52c57d8eeabee9300", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 24662, "upload_time": "2018-09-28T07:51:07", "url": "https://files.pythonhosted.org/packages/41/46/8daf5bfeafbb42204ba431227bf3b079dcaeb31bbf646b91ca2da62cf146/alexa_skill-0.1.0-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "edcfe42ee266affab7a0e7378f794764", "sha256": "f33abd37cab34ee55e1d8552110dba8d22af54aaa877d93cf36524bfd3b2a80c" }, "downloads": -1, "filename": "alexa_skill-0.1.0.tar.gz", "has_sig": false, "md5_digest": "edcfe42ee266affab7a0e7378f794764", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10286, "upload_time": "2018-09-28T07:51:08", "url": "https://files.pythonhosted.org/packages/86/fd/dd847cac7f3b07e2ee378d6ac4ed29e8b88dc66ab434902f91ede2eb1929/alexa_skill-0.1.0.tar.gz" } ] }