{ "info": { "author": "Pacharapol Withayasakpunt", "author_email": "patarapolw@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Environment :: Console", "Intended Audience :: Developers", "Intended Audience :: Education", "License :: OSI Approved :: MIT License", "Natural Language :: Japanese", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Topic :: Utilities" ], "description": "# How to use WaniKaniTools\n\n[![Build Status](https://travis-ci.org/patarapolw/WaniKaniTools.svg?branch=master)](https://travis-ci.org/patarapolw/WaniKaniTools)\n[![PyPI version shields.io](https://img.shields.io/pypi/v/WaniKaniTools.svg)](https://pypi.python.org/pypi/WaniKaniTools/)\n[![PyPI license](https://img.shields.io/pypi/l/WaniKaniTools.svg)](https://pypi.python.org/pypi/WaniKaniTools/)\n[![PyPI pyversions](https://img.shields.io/pypi/pyversions/WaniKaniTools.svg)](https://pypi.python.org/pypi/WaniKaniTools/)\n[![PyPI status](https://img.shields.io/pypi/status/WaniKaniTools.svg)](https://pypi.python.org/pypi/WaniKaniTOols/)\n\nThe following operations are supported by WaniKaniTools\n\n* API v1 wrapper\n* API v2 wrapper, and support for pagination\n* Web login, and community login using `requests`\n* Web login using `Chrome / Firefox` and able to both `execute_script()` and `click()` buttons accordingly\n\nSample working scripts are in `example/`. See also `tests/`.\n\n## Installation\n\n`pip install WaniKaniTools`\n\n## Using API v1\n\n```python\nfrom WaniKaniTools import api\n\nresource = (\n 'user-information',\n 'study-queue',\n 'level-progression',\n 'srs-distribution',\n 'recent-unlocks', # Argument is output limit in range 1-100. Default=10\n 'critical-items', # Argument is percentage in range 0-100. Default=75\n 'radicals', # Argument is level, comma-delimited. Default=all levels\n 'kanji',\n 'vocabulary'\n)\napi_v1 = api.APIv1(put_your_api_v1_key_here)\nresult = api_v1.GET(resource[2])['requested_information'] # Output is Python dictionary\n```\n\n## Using API v2\n\n### Basic operations\n\n```python\nfrom WaniKaniTools import api\n\nresource_v2 = (\n 'user',\n 'subjects', # Argument is id. Params are ids, types, slugs, levels, updated_after\n 'assignments', # Argument is id. Params are ...\n 'review_statistics',\n 'study_materials',\n 'summary',\n 'reviews',\n 'level_progressions',\n 'resets'\n)\napi_v2 = api.APIv2(put_your_api_v2_key_here)\nresult = api_v2.GET(resource_v2[1]) # Output is Python dictionary\n```\n\n### Pagination\n\n```python\nfrom WaniKaniTools import api\n\napi_v2 = api.APIv2(put_your_api_v2_key_here)\nresult = api_v2.GET('subjects')\n\nwhile True:\n for data in result['data']:\n meaning_array = []\n for meaning in data[\"data\"][\"meanings\"]:\n if meaning['primary']:\n meaning_array += [ meaning['meaning'] ]\n\n to_print = (\n data[\"id\"],\n data[\"object\"],\n data[\"data\"][\"characters\"] if \"characters\" in data[\"data\"] else data[\"data\"][\"character\"],\n ', '.join(meaning_array),\n data[\"data\"][\"document_url\"]\n )\n print(*to_print)\n\n next_url = result['pages']['next_url']\n\n if next_url is None:\n break\n\n result = api_v2.GETurl(next_url)\n```\n\n## Simulating web login\n\n### Web login with requests\n\nThis is possible for most operations, including Discourse API, Burn Manager.\n\n```python\nfrom WaniKaniTools.login import Requests\ns = Requests(your_username, your_password).session\n```\n\n### Web login and execute script\n\nThe operations supported here are the same as `selenium-webdriver`. Default uses Firefox's Geckodriver.\n\n```python\nfrom WaniKaniTools.login import Webdriver\n\nwith Webdriver(your_username, your_password) as w:\n w.driver.execute_script(put_your_javascript_here)\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/patarapolw/WaniKaniTools", "keywords": "WaniKani", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "WaniKaniTools", "package_url": "https://pypi.org/project/WaniKaniTools/", "platform": "", "project_url": "https://pypi.org/project/WaniKaniTools/", "project_urls": { "Homepage": "https://github.com/patarapolw/WaniKaniTools" }, "release_url": "https://pypi.org/project/WaniKaniTools/0.3.0/", "requires_dist": null, "requires_python": "", "summary": "Working with WaniKani API, login, and Community.", "version": "0.3.0" }, "last_serial": 3816928, "releases": { "0.0.1.dev1": [ { "comment_text": "", "digests": { "md5": "b674f978a328e8548b7913435428a00e", "sha256": "faa6c19eefe9af2a549a597fd6ef6f7b071cac2c12b580dd6dbf0484efa3b375" }, "downloads": -1, "filename": "WaniKaniTools-0.0.1.dev1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "b674f978a328e8548b7913435428a00e", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=3", "size": 4288, "upload_time": "2018-02-07T16:15:39", "url": "https://files.pythonhosted.org/packages/b7/ee/90637bd46a53a2328fc8e4091fed0ca65c0fb02efd2292d3b552ab67a908/WaniKaniTools-0.0.1.dev1-py2.py3-none-any.whl" } ], "0.1": [ { "comment_text": "", "digests": { "md5": "689f6f8707b66cc4a71717ee7a22147d", "sha256": "a912a25febcc6d022fce2fba6b06fa6f76f078c6ed1de52db499ad9813bfc518" }, "downloads": -1, "filename": "WaniKaniTools-0.1.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "689f6f8707b66cc4a71717ee7a22147d", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 4148, "upload_time": "2018-03-01T01:02:45", "url": "https://files.pythonhosted.org/packages/08/86/f52614ba7f64f0d46f537d1c83ae0efcfe24e6b4bc717589029a7c293c01/WaniKaniTools-0.1.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b90c5fac05a064588dfb1aac91cbf82c", "sha256": "7d6e232a28bf8d42e0470b5a6eb5aa809044ea33e4ad546f747f456f2963e472" }, "downloads": -1, "filename": "WaniKaniTools-0.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "b90c5fac05a064588dfb1aac91cbf82c", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 1893, "upload_time": "2018-02-07T16:15:40", "url": "https://files.pythonhosted.org/packages/3a/b6/29f8d65613674049a86d6035f872f21467f4f13ad609952332486b19653d/WaniKaniTools-0.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "17caccd5e88e0a70a3d67f11026cd428", "sha256": "2bf9b3617e0da653c6929394e2e3709c888d4e1baa8044d701867a7b810e0bf4" }, "downloads": -1, "filename": "WaniKaniTools-0.1.tar.gz", "has_sig": false, "md5_digest": "17caccd5e88e0a70a3d67f11026cd428", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1850, "upload_time": "2018-02-07T16:15:47", "url": "https://files.pythonhosted.org/packages/ed/48/675a784fcde1c8ebd69288f966299177d17f9f76a4e2196eeb8237465b44/WaniKaniTools-0.1.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "511f4a8d47683711635c99df323f2cc0", "sha256": "89a512f443493613986337f890899ffcdaafe3f8e0ca86e36c5cb264a451f42e" }, "downloads": -1, "filename": "WaniKaniTools-0.1.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "511f4a8d47683711635c99df323f2cc0", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=2.7", "size": 4149, "upload_time": "2018-03-01T01:04:22", "url": "https://files.pythonhosted.org/packages/29/be/a5ccdc8abf2142df283c2a2d850830ad26eaa4f972adf29a1128e31060c5/WaniKaniTools-0.1.1-py2.py3-none-any.whl" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "97e4e479896d5db1aab6e8e201f0691d", "sha256": "ba5b17aa00039bebd6d3f26928663b2fcee0e43ba633d6d349831c117fbf6d02" }, "downloads": -1, "filename": "WaniKaniTools-0.2.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "97e4e479896d5db1aab6e8e201f0691d", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=2.7", "size": 4833, "upload_time": "2018-03-06T16:48:50", "url": "https://files.pythonhosted.org/packages/f8/39/6b9e2c6e9700867bcd1b7727aecd1259774b2034ac5bfdaa752b1c9fad9c/WaniKaniTools-0.2.0-py2.py3-none-any.whl" } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "de4c1818d23716c708b863c1b4f1ea6f", "sha256": "b4569ad080f53fa06b936a68f79eb5dd6ffaddc49a4b139a1208b3ca260ccf60" }, "downloads": -1, "filename": "WaniKaniTools-0.2.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "de4c1818d23716c708b863c1b4f1ea6f", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=2.7", "size": 4837, "upload_time": "2018-03-07T01:11:32", "url": "https://files.pythonhosted.org/packages/5a/2e/20c9b0c6bfa8538465df65ac91a73470833f402fa6239f52b5dadb1ba73b/WaniKaniTools-0.2.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "3028fa5ddeb9a85a8f1420bfd5df6fcc", "sha256": "6504dd48ea20fc82e9d18f815d5bd3555a9e4f89f2f0b1df2d96bb9674d17b8f" }, "downloads": -1, "filename": "WaniKaniTools-0.2.1.tar.gz", "has_sig": false, "md5_digest": "3028fa5ddeb9a85a8f1420bfd5df6fcc", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7", "size": 2734, "upload_time": "2018-03-07T01:11:33", "url": "https://files.pythonhosted.org/packages/48/b9/99c5df1907e9dc861a6ba43a9191285566265793d143a337d1a1e6cd1ac5/WaniKaniTools-0.2.1.tar.gz" } ], "0.2.2": [ { "comment_text": "", "digests": { "md5": "e2ff8439a7dcc333f2e429255254e604", "sha256": "e0eed61f7e24c28c221856fd1dd7b23917eaaffe6a379cfbccbc6d3720bbb79b" }, "downloads": -1, "filename": "WaniKaniTools-0.2.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "e2ff8439a7dcc333f2e429255254e604", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=2.7", "size": 4754, "upload_time": "2018-03-07T02:33:39", "url": "https://files.pythonhosted.org/packages/e7/e3/0abd0f802356467734ae4e81a8441bfe991b1c8686355fc84e479b2a017d/WaniKaniTools-0.2.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ef5635c81a3790cc755db4f37c27e1cf", "sha256": "0674f014b03f51bfd87b60836f39e151d1b41b1e8ea843c9f08b51958d7cd27e" }, "downloads": -1, "filename": "WaniKaniTools-0.2.2.tar.gz", "has_sig": false, "md5_digest": "ef5635c81a3790cc755db4f37c27e1cf", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7", "size": 2697, "upload_time": "2018-03-07T02:33:41", "url": "https://files.pythonhosted.org/packages/65/27/971315f096c7c2397a686f47793a350c310833866a55d9b528f7f85745fb/WaniKaniTools-0.2.2.tar.gz" } ], "0.3.0": [ { "comment_text": "", "digests": { "md5": "38db1ea5888eb996ce88b0705e6e8fed", "sha256": "3dcece64e8bd68feb0cedb5de1e281bbaffcc8c310e722c0f274098f1fd61520" }, "downloads": -1, "filename": "WaniKaniTools-0.3.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "38db1ea5888eb996ce88b0705e6e8fed", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 6002, "upload_time": "2018-04-28T13:37:45", "url": "https://files.pythonhosted.org/packages/b8/3f/b09863c26be76d0e5e02e63a41360f866df96d66dbd1a89a9e65ec2180ee/WaniKaniTools-0.3.0-py2.py3-none-any.whl" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "38db1ea5888eb996ce88b0705e6e8fed", "sha256": "3dcece64e8bd68feb0cedb5de1e281bbaffcc8c310e722c0f274098f1fd61520" }, "downloads": -1, "filename": "WaniKaniTools-0.3.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "38db1ea5888eb996ce88b0705e6e8fed", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 6002, "upload_time": "2018-04-28T13:37:45", "url": "https://files.pythonhosted.org/packages/b8/3f/b09863c26be76d0e5e02e63a41360f866df96d66dbd1a89a9e65ec2180ee/WaniKaniTools-0.3.0-py2.py3-none-any.whl" } ] }