{ "info": { "author": "Suren Khorenyan", "author_email": "surenkhorenyan@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Environment :: Console", "Framework :: AsyncIO", "Intended Audience :: Developers", "Intended Audience :: System Administrators", "License :: OSI Approved :: MIT License", "Programming Language :: Python :: 3.6", "Topic :: Software Development :: Libraries :: Application Frameworks" ], "description": "# aioAlice\n\n## AsyncIO library for Yandex Alice (Yandex Dialogs) \n\n\n## Why?\n- Work with classes, don't bother parsing JSON\n- Auto answer to webhook even if you were not fast enough to create answer - there won't be a server error, but you'll get a log\n> Auto response will not help if you are not using async IO. So consider not to use any long processing synchronous tasks inside handlers\n- Handy handlers to match incoming commands\n- Finite-State Machine\n- Easy images upload, easy answers generation\n\n\n### Installation\n\n```bash\n# make sure you use virtual env and python 3.6+:\npython3.6 -m venv aliceenv\nsource ./aliceenv/bin/activate\n\npip install pip -U\npip install setuptools -U\npip install uvloop # uvloop if you want\n\npip install aioalice -U\n# Or install from GitHub:\n# pip install git+https://github.com/surik00/aioalice.git -U\n\n# or if you don't have git installed:\n# 1. download ZIP\n# 2. unarchive and go to dir\n# 3. run:\npython setup.py install\n```\n\n\n### Quick start\n\n[Hello alice](https://github.com/surik00/aioalice/blob/master/examples/hello-alice.py)\n\n```python\ndp = Dispatcher()\n\n@dp.request_handler()\nasync def handle_all_requests(alice_request):\n return alice_request.response('Hello world!')\n```\n\n\n### Cards\n\n- [All examples](https://github.com/surik00/aioalice/blob/master/examples/README-en.md)\n\n- [Upload image example](https://github.com/surik00/aioalice/blob/master/examples/upload_image.py)\n- [Big Image Card example](https://github.com/surik00/aioalice/blob/master/examples/card_big_image.py)\n- [Items List Card example](https://github.com/surik00/aioalice/blob/master/examples/card_items_list.py)\n\n\n### JSON serializing\n\nIf you want to use a faster json library, install [rapidjson](https://github.com/python-rapidjson/python-rapidjson) or [ujson](https://github.com/esnme/ultrajson), it will be detected and used automatically\n\n___\n\n### Skills using aioAlice\n\n* [The Erundopel game](https://github.com/Goodsmileduck/erundopel)\n\n\n___\n\n### Testing and deployment\n\n\nIn all examples the next configuration is used:\n\n```python\nWEBHOOK_URL_PATH = '/my-alice-webhook/' # webhook endpoint\n\nWEBAPP_HOST = 'localhost' # running on local machine\nWEBAPP_PORT = 3001 # we can use any port that is not use by other apps\n```\n\nFor testing purposes you can use [ngrok](https://ngrok.com/), so set webhook to `https://1a2b3c4d5e.ngrok.io/my-alice-webhook/` (endpoint has to be `WEBHOOK_URL_PATH`, because WebApp expects to get updates only there), post has to be `WEBAPP_PORT` (in this example it is 3001)\n\n\nFor production you can use Nginx, then edit Nginx configuration and add these lines inside the `server` block:\n\n```\nlocation /my-alice-webhook/ { # WEBHOOK_URL_PATH\n proxy_pass http://127.0.0.1:3001/; # addr to reach WebApp, in this case it is localhost and port is 3001\n proxy_redirect off;\n proxy_set_header Host $host;\n proxy_set_header X-Real-IP $remote_addr;\n proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;\n proxy_set_header X-Forwarded-Host $server_name;\n}\n```\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/mahenzon/aioalice", "keywords": "", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "aioAlice", "package_url": "https://pypi.org/project/aioAlice/", "platform": "", "project_url": "https://pypi.org/project/aioAlice/", "project_urls": { "Homepage": "https://github.com/mahenzon/aioalice" }, "release_url": "https://pypi.org/project/aioAlice/1.2.5/", "requires_dist": [ "aiohttp (>=3.3.2)", "attrs (==18.1.0)" ], "requires_python": "", "summary": "Asynchronous library for Yandex Dialogs (Alice) API", "version": "1.2.5" }, "last_serial": 5926892, "releases": { "1.1.5": [ { "comment_text": "", "digests": { "md5": "c6a3068ee8c2e85fa0d30eccad8b6d31", "sha256": "d928b1e8f01fd998759cfffab8c85620ae9b15704cab1fadbb8be33bc84eda53" }, "downloads": -1, "filename": "aioalice-1.1.5-py3-none-any.whl", "has_sig": false, "md5_digest": "c6a3068ee8c2e85fa0d30eccad8b6d31", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 23483, "upload_time": "2018-08-14T14:56:53", "url": "https://files.pythonhosted.org/packages/e9/92/83df8a1c9d54987d291c840dd6e9349e79200ce0b67b0b4d5ef398bf349b/aioalice-1.1.5-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "6364cef9615ced49dadad6795f46f9ec", "sha256": "61d422384541b7068aee9aa0d125074507b5ecefa6cf97c441b767ed0f6f1d3c" }, "downloads": -1, "filename": "aioalice-1.1.5.tar.gz", "has_sig": false, "md5_digest": "6364cef9615ced49dadad6795f46f9ec", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16481, "upload_time": "2018-08-14T14:56:54", "url": "https://files.pythonhosted.org/packages/42/53/4dc9e9b6fba65c70bd2e034654c75355c0b3576accb4cf1b5526a0b64234/aioalice-1.1.5.tar.gz" } ], "1.1.6": [ { "comment_text": "", "digests": { "md5": "9d4e9a962cb96a07e88fcd3ee596a562", "sha256": "8c087579a7ba0a5aff0cfd008959f376334d8832e483854533f782ad9ea96073" }, "downloads": -1, "filename": "aioAlice-1.1.6-py3-none-any.whl", "has_sig": false, "md5_digest": "9d4e9a962cb96a07e88fcd3ee596a562", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 23452, "upload_time": "2018-08-14T15:55:44", "url": "https://files.pythonhosted.org/packages/ec/2f/8b8a06f3db6b009dc966316b0a54239b402d6b3947be51fa84edce99c596/aioAlice-1.1.6-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f7c77a53f76a7e58ae2d09e56829659e", "sha256": "54eedc6c0fb803ae6327370ffe46868e9adaf0437b6d5016a436520a7580b1f8" }, "downloads": -1, "filename": "aioAlice-1.1.6.tar.gz", "has_sig": false, "md5_digest": "f7c77a53f76a7e58ae2d09e56829659e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16581, "upload_time": "2018-08-14T15:55:45", "url": "https://files.pythonhosted.org/packages/de/8f/788fe37e55f4a7f9b9f4bc81c3f19a5efd6b6d1d2f99b8caee33d6f09a00/aioAlice-1.1.6.tar.gz" } ], "1.1.7": [ { "comment_text": "", "digests": { "md5": "7f9dedb79601ef522bee3c4fc4351155", "sha256": "a57208a9ff5deb740d69a73565688f3b5c92c3dde56e201ceaa6e314f6345c01" }, "downloads": -1, "filename": "aioAlice-1.1.7-py3-none-any.whl", "has_sig": false, "md5_digest": "7f9dedb79601ef522bee3c4fc4351155", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 23461, "upload_time": "2018-09-12T20:19:30", "url": "https://files.pythonhosted.org/packages/dc/b4/a41e525db2a8b5dcd680be95568b5b5c7a4c77dfe835176801e3bfc7c9eb/aioAlice-1.1.7-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "9e8d585de0dc6434db75a86d38f1cadb", "sha256": "26e1369a0205efe051b409e14f1570ba2e065e62bf6a8d5701e4d55f66bda57f" }, "downloads": -1, "filename": "aioAlice-1.1.7.tar.gz", "has_sig": false, "md5_digest": "9e8d585de0dc6434db75a86d38f1cadb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 17575, "upload_time": "2018-09-12T20:19:31", "url": "https://files.pythonhosted.org/packages/80/05/52b569a1614e2f8eab2d6bd923ff827f913aeea2d4265fb556a887f9de74/aioAlice-1.1.7.tar.gz" } ], "1.2.0": [ { "comment_text": "", "digests": { "md5": "6841f04fb0d57c58115fa6f7df4fc840", "sha256": "83263fb05fe94398db94bc7223ede214a7b283cd79e6d5b071fea3e82fd00cd5" }, "downloads": -1, "filename": "aioAlice-1.2.0-py3-none-any.whl", "has_sig": false, "md5_digest": "6841f04fb0d57c58115fa6f7df4fc840", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 26064, "upload_time": "2018-10-15T08:03:11", "url": "https://files.pythonhosted.org/packages/c6/ba/8b45926bdd4317f9f20d8d9759e169dc71934b2c2a2ae5d56f0e50a6edbd/aioAlice-1.2.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "17f3073107614288f1bab3b5b373e391", "sha256": "371ac03ce3cbe40dc63c8bfd1277a0ca1eaa61fe915ceb084431bd01bbc6614f" }, "downloads": -1, "filename": "aioAlice-1.2.0.tar.gz", "has_sig": false, "md5_digest": "17f3073107614288f1bab3b5b373e391", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 17752, "upload_time": "2018-10-15T08:03:13", "url": "https://files.pythonhosted.org/packages/7b/49/6ad5d19e7ad84b67237b3d88fb04921839d9d7bf8f4d35e48c439be80167/aioAlice-1.2.0.tar.gz" } ], "1.2.1": [ { "comment_text": "", "digests": { "md5": "b232ed5ef748f99d29286c88a7dfce4e", "sha256": "731c4a17aef11a85a51b38f3cc6e41020e6a3812da1eaa6cf399670d125e1c80" }, "downloads": -1, "filename": "aioAlice-1.2.1-py3-none-any.whl", "has_sig": false, "md5_digest": "b232ed5ef748f99d29286c88a7dfce4e", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 26265, "upload_time": "2018-10-20T13:28:29", "url": "https://files.pythonhosted.org/packages/1f/f1/f5e9e3c51e4fb9338d184590a294351d8120b2fff96238d692d9c7a1c4a6/aioAlice-1.2.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "3f7549697a3d82c8200365cce97bbfcf", "sha256": "6d76e90b2bbeabbbf9003d81edcf6ac0b10d0c93f84dabdf862e82dcdd1e2ff3" }, "downloads": -1, "filename": "aioAlice-1.2.1.tar.gz", "has_sig": false, "md5_digest": "3f7549697a3d82c8200365cce97bbfcf", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 18772, "upload_time": "2018-10-20T13:28:30", "url": "https://files.pythonhosted.org/packages/03/25/bbfba9e7b753093601226a770421aa537dc94a6b163af302b4d6f9f1ef2a/aioAlice-1.2.1.tar.gz" } ], "1.2.2": [ { "comment_text": "", "digests": { "md5": "0248aa1d5c086ad64e8ebe30ef205b2a", "sha256": "3708cd8ffeb4027dc6bcefed42f930c41e153ae82647dfdecff73acc1ba3deb9" }, "downloads": -1, "filename": "aioAlice-1.2.2-py3-none-any.whl", "has_sig": false, "md5_digest": "0248aa1d5c086ad64e8ebe30ef205b2a", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 27639, "upload_time": "2018-11-27T09:37:37", "url": "https://files.pythonhosted.org/packages/42/8d/96a82469a7dbbfb9e1a3afb78381effe4cf3ff456f4386b85046b317d070/aioAlice-1.2.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "20c8af7cda9e3dc2720277c4526deb8a", "sha256": "c7841d50bb056417e46af4030b156062c08b1302ed9a1760feff390d37865f65" }, "downloads": -1, "filename": "aioAlice-1.2.2.tar.gz", "has_sig": false, "md5_digest": "20c8af7cda9e3dc2720277c4526deb8a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 18405, "upload_time": "2018-11-27T09:37:39", "url": "https://files.pythonhosted.org/packages/ec/75/ded25effcd33d8b345937f2725ee9566a9132c80e934bf676058a8210738/aioAlice-1.2.2.tar.gz" } ], "1.2.3": [ { "comment_text": "", "digests": { "md5": "bd7fff560b8fe0d4878c5100946cad98", "sha256": "49a869ea95cc064304e29e480f2984f4d521070093de2ae5773e4f07dd0c6abd" }, "downloads": -1, "filename": "aioAlice-1.2.3-py3-none-any.whl", "has_sig": false, "md5_digest": "bd7fff560b8fe0d4878c5100946cad98", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 26876, "upload_time": "2019-03-17T11:34:55", "url": "https://files.pythonhosted.org/packages/09/af/83aea0c93f6ec7fbce98f93d4df70ac4b8213b07be130f53ae3a66a56589/aioAlice-1.2.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "4d763747f344329e2cac035941de7de9", "sha256": "aae564c2a8cca91bb7ca50b91df12249b99f4e1178f20643b436f680c006d008" }, "downloads": -1, "filename": "aioAlice-1.2.3.tar.gz", "has_sig": false, "md5_digest": "4d763747f344329e2cac035941de7de9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 20332, "upload_time": "2019-03-17T11:34:57", "url": "https://files.pythonhosted.org/packages/e2/48/654657c44172565dadf8d96058868518845f58d074d549662146df69854d/aioAlice-1.2.3.tar.gz" } ], "1.2.4": [ { "comment_text": "", "digests": { "md5": "17134ecf9ba2656031cf9007e09bcf93", "sha256": "d91838b4499228f8b8956925f70f622db595fc34179a3d910b75ea3279168546" }, "downloads": -1, "filename": "aioAlice-1.2.4-py3-none-any.whl", "has_sig": false, "md5_digest": "17134ecf9ba2656031cf9007e09bcf93", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 27760, "upload_time": "2019-08-04T14:54:29", "url": "https://files.pythonhosted.org/packages/21/b1/f5a57aba01bd056648dc36c7da403d94f3c16bf7b7e94ddf4aecf4857f88/aioAlice-1.2.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d03bae3d9f5c0531182eee1a8aebf4ac", "sha256": "abb83499bf993c3bbdc4b33fb24e7b0bc5b6124855c0d86e2ac7a21cad613c4d" }, "downloads": -1, "filename": "aioAlice-1.2.4.tar.gz", "has_sig": false, "md5_digest": "d03bae3d9f5c0531182eee1a8aebf4ac", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 18993, "upload_time": "2019-08-04T14:54:30", "url": "https://files.pythonhosted.org/packages/f7/8f/e7b7f1e970dce2a6291d510a1122f7bffa329b439b10fe4d6beca9942122/aioAlice-1.2.4.tar.gz" } ], "1.2.5": [ { "comment_text": "", "digests": { "md5": "f3f1c70bcbe1cecd41a54725d2e4faf8", "sha256": "65a5c7364357bd369a48ca4d64cdfc10571986e897409c7b15e99c2e8fb5871e" }, "downloads": -1, "filename": "aioAlice-1.2.5-py3-none-any.whl", "has_sig": false, "md5_digest": "f3f1c70bcbe1cecd41a54725d2e4faf8", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 27776, "upload_time": "2019-10-04T06:37:44", "url": "https://files.pythonhosted.org/packages/9c/3d/0df895bd0ff4dc8e305c0da168ab91cf76427e361b51bbc6db94e31f5157/aioAlice-1.2.5-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f6830b7bb6c8b6fbeb6b954cc3786da0", "sha256": "19cffd229022fbf0eeb36f265d231a90628d44c598c030f9bea5f249bacc3a0b" }, "downloads": -1, "filename": "aioAlice-1.2.5.tar.gz", "has_sig": false, "md5_digest": "f6830b7bb6c8b6fbeb6b954cc3786da0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19016, "upload_time": "2019-10-04T06:37:47", "url": "https://files.pythonhosted.org/packages/d6/c3/cb48c42e5b1a11d4b4db789e1e13d9787bbc37dad1da2668f872c0fc29ef/aioAlice-1.2.5.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "f3f1c70bcbe1cecd41a54725d2e4faf8", "sha256": "65a5c7364357bd369a48ca4d64cdfc10571986e897409c7b15e99c2e8fb5871e" }, "downloads": -1, "filename": "aioAlice-1.2.5-py3-none-any.whl", "has_sig": false, "md5_digest": "f3f1c70bcbe1cecd41a54725d2e4faf8", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 27776, "upload_time": "2019-10-04T06:37:44", "url": "https://files.pythonhosted.org/packages/9c/3d/0df895bd0ff4dc8e305c0da168ab91cf76427e361b51bbc6db94e31f5157/aioAlice-1.2.5-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f6830b7bb6c8b6fbeb6b954cc3786da0", "sha256": "19cffd229022fbf0eeb36f265d231a90628d44c598c030f9bea5f249bacc3a0b" }, "downloads": -1, "filename": "aioAlice-1.2.5.tar.gz", "has_sig": false, "md5_digest": "f6830b7bb6c8b6fbeb6b954cc3786da0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19016, "upload_time": "2019-10-04T06:37:47", "url": "https://files.pythonhosted.org/packages/d6/c3/cb48c42e5b1a11d4b4db789e1e13d9787bbc37dad1da2668f872c0fc29ef/aioAlice-1.2.5.tar.gz" } ] }