{ "info": { "author": "mieubrisse", "author_email": "mieubrisse@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Natural Language :: English", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.2", "Programming Language :: Python :: 3.3", "Programming Language :: Python :: 3.4", "Topic :: Software Development :: Libraries", "Topic :: Software Development :: Libraries :: Python Modules", "Topic :: Utilities" ], "description": "Overview\n========\nWunderpy2 is a thin Python library for accessing `the official Wunderlist 2 API `_. What does a thin library mean here?\n\n1. Only the bare minimum of error-checking to pass `the Wunderlist API specifications `_ is performed (e.g. there's no checking whether a task's title is empty, even though the Wunderlist web client enforces nonempty titles).\n2. There aren't any 'convenience' functions, like getting a list by name instead of ID (that being said, I'll likely get tired of repeating the same things myself, write a few, and bundle them in a separate helper module).\n\nInstallation\n============\n::\n\n pip install wunderpy2\n\nUsage & Examples\n================\nGetting a client\n----------------\nWunderlist uses OAuth2 to allow applications to access users' data, so you'll need to `create an application `_ before doing anything. If you only want to access your own Wunderlist, generate an access token after creating your application and use it and the client ID as follows::\n\n import wunderpy2\n api = wunderpy2.WunderApi()\n client = api.get_client(access_token, client_id) # Fill in your values\n\nIf you want other Wunderlisters to use your application, you'll need to see the \"Redirect users to request Wunderlist access\" section of `the authorization docs `_ in order to get a temporary code when a user has authorized your app. Once you have the code, you only need one more step::\n\n api = wunderpy2.WunderApi()\n access_token = api.get_access_token(temporary_code, client_id, client_secret) # Fill in your values here\n client = api.get_client(access_token, client_id) # Fill in your client ID\n\nWunderlist Objects\n------------------\nAll Wunderlist objects are merely Python objects with special keys. For convenience, these keys are laid out in a class format in :code:`model.py`. Note that not every object will have every key (e.g. List objects with type 'inbox' do not have creation metadata).\n\nExamples\n--------\nCreating a task with a due date, note, 'starred' flag, and subtask::\n\n lists = client.get_lists()\n list = lists[0]\n task = client.create_task(1234, \"My new task\", due_date=\"2015-08-02\", starred=True)\n client.create_note(task[wunderpy2.Task.ID], \"My note\") \n client.create_subtask(task[wunderpy2.Task.ID], \"My subtask\")\n\nShuffling the order of tasks within a list (see `the Positions endpoint documentation `_)::\n\n import random\n task_positions_obj = client.get_task_positions_obj(list[wunderpy2.List.ID])\n ordering = task_positions_obj[wunderpy2.Task.VALUES]\n random.shuffle(ordering)\n client.update_task_positions_obj(task_positions_obj[wunderpy2.TaskPositionsObj.ID], task_positions_obj[wunderpy2.TaskPositionsObj.REVISION], ordering)\n\nTODO \n====\n* Endpoint implementation:\n * Avatar\n * File\n * File preview\n * Folder\n * Reminder\n * Task comment\n * Upload\n * User\n * Webhooks?\n\n\nRelease History\n===============\n\n0.1.6 (2018-07-27)\n---\n* Fix typo in RecurrenceTypes class name\n\n0.1.5 (2018-07-27)\n---\n* Switch from `dict.iteritems()` to `dict.items()` for Python 2 & 3 compatibility\n* Expose a few more classes in the public-facing API\n\n0.1.4 (2016-03-14)\n------------------\n* Bugfix in task endpoint code\n\n0.1.3 (2016-03-12)\n------------------\n* Fix imports for Python 3\n\n0.1.2 (2015-10-31)\n------------------\n* Added 'position' endpoint\n* Added 'subtask' endpoint\n\n0.1.1 (2015-08-16)\n------------------\n* Fixed setup.py requiring 'argparse' module for Python >2.6\n\n0.1.0 (2015-08-15)\n------------------\n* Initial release\n\n\nwunderpy2 is written and maintained by `mieubrisse `_\n\nContributors\n============\nNobody yet!\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/mieubrisse/wunderpy2", "keywords": "wunderpy wunderpy2 wunderlist api cli", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "wunderpy2", "package_url": "https://pypi.org/project/wunderpy2/", "platform": "", "project_url": "https://pypi.org/project/wunderpy2/", "project_urls": { "Homepage": "https://github.com/mieubrisse/wunderpy2" }, "release_url": "https://pypi.org/project/wunderpy2/0.1.6/", "requires_dist": [ "requests" ], "requires_python": "", "summary": "A Python library for the Wunderlist 2 REST API", "version": "0.1.6" }, "last_serial": 4108334, "releases": { "0.1.1": [ { "comment_text": "", "digests": { "md5": "f80027faaab7bffd3bddbb6eaea0aada", "sha256": "e92315452b9ac99421afee0fd0c9ceea7f9fb83305d9c011a9b902eb47ca5711" }, "downloads": -1, "filename": "wunderpy2-0.1.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "f80027faaab7bffd3bddbb6eaea0aada", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 11014, "upload_time": "2015-08-16T18:32:10", "url": "https://files.pythonhosted.org/packages/24/d0/5b259317bfc91f81c6b1668845184d1b0b07bf4d4db37aa8396482e2bdf7/wunderpy2-0.1.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a7f9c0d05aa32b8f65bb5a1546f498eb", "sha256": "d5e14a3b3c4c829b295a05d53749ced643fff28ba610903731092af5295cbb42" }, "downloads": -1, "filename": "wunderpy2-0.1.1.tar.gz", "has_sig": false, "md5_digest": "a7f9c0d05aa32b8f65bb5a1546f498eb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8690, "upload_time": "2015-08-16T18:31:58", "url": "https://files.pythonhosted.org/packages/2a/3f/62aa6fb6e2448c1be0afbcc8cef396efe736496e444231901b16b61ed339/wunderpy2-0.1.1.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "2380dfb6cd6aa7a86544705294a3f30d", "sha256": "c46b888c4f4c8a10ad9c2030efe4a329b8cad2d0e42b61b466dfc4aaa43710cc" }, "downloads": -1, "filename": "wunderpy2-0.1.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "2380dfb6cd6aa7a86544705294a3f30d", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 16543, "upload_time": "2015-10-31T23:02:30", "url": "https://files.pythonhosted.org/packages/b6/a3/b079f2cc4802d8d3d619cba8adc32c146082d340943a89c1543e137b6d44/wunderpy2-0.1.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "eb8b5c984329de16af5aee7c18fd10a8", "sha256": "c5fca5df3a182eb1a92353db8aab44dfee3d3f16e5e9308a49354d54d3894eeb" }, "downloads": -1, "filename": "wunderpy2-0.1.2.tar.gz", "has_sig": false, "md5_digest": "eb8b5c984329de16af5aee7c18fd10a8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12499, "upload_time": "2015-10-31T23:02:36", "url": "https://files.pythonhosted.org/packages/04/da/81db51e1dffc8cb41c6efa9fbaf4201eadb467584d4bf507b8acd4b9c4e6/wunderpy2-0.1.2.tar.gz" } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "313275c972685e11ede7df6f1529a271", "sha256": "ac8a8dba5214f9dca05b44493a4821c3e249ce89ebcf961e032a4235d62b2d74" }, "downloads": -1, "filename": "wunderpy2-0.1.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "313275c972685e11ede7df6f1529a271", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 16580, "upload_time": "2016-03-12T19:14:28", "url": "https://files.pythonhosted.org/packages/0a/a4/238ee1c01d83ca5215804b23b7122c1c18c21681779152c2b53850e09042/wunderpy2-0.1.3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "0e7781a7a53793494c108ce0bf426de2", "sha256": "783d597059a9e934bf5f4712e340bc90d946b59db0ffd42445c2ceb1d53d17f7" }, "downloads": -1, "filename": "wunderpy2-0.1.3.tar.gz", "has_sig": false, "md5_digest": "0e7781a7a53793494c108ce0bf426de2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12494, "upload_time": "2016-03-12T19:14:34", "url": "https://files.pythonhosted.org/packages/6f/cf/2a98e9ae2c2b4586921f284a686a09391ee9116bc3168c9cd9f324d89f66/wunderpy2-0.1.3.tar.gz" } ], "0.1.4": [ { "comment_text": "", "digests": { "md5": "b4621fb0b6696b4b255f985d6835c3d6", "sha256": "ee3cb0bb7fa6f64ee1b2e55ab3b4075c81bb8f0208c949a215fa348518e79190" }, "downloads": -1, "filename": "wunderpy2-0.1.4-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "b4621fb0b6696b4b255f985d6835c3d6", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 16593, "upload_time": "2016-03-14T17:32:05", "url": "https://files.pythonhosted.org/packages/b7/ea/0a2f9a28ab3ede3ebed7229a5eea1ef24af9c15bd594e7266c47daa7b493/wunderpy2-0.1.4-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "0a9a6a299923a1cad11bbbddfa847bab", "sha256": "c4f35b2eef18d529e68adce50481f9903ad8793c9a29dbb291b185357ecfd02d" }, "downloads": -1, "filename": "wunderpy2-0.1.4.tar.gz", "has_sig": false, "md5_digest": "0a9a6a299923a1cad11bbbddfa847bab", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12487, "upload_time": "2016-03-14T17:32:20", "url": "https://files.pythonhosted.org/packages/24/85/bec05630998e2e5a104873d1b723219bc2cff325e58b75c33d4ab0641ef6/wunderpy2-0.1.4.tar.gz" } ], "0.1.6": [ { "comment_text": "", "digests": { "md5": "3f9fc7522df1528824c6061a52ee1e20", "sha256": "ffefc0c099e4876aa98a486bed5442cd0d18d9a469b750ed195c5ad4b3ea4567" }, "downloads": -1, "filename": "wunderpy2-0.1.6-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "3f9fc7522df1528824c6061a52ee1e20", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 17000, "upload_time": "2018-07-27T11:32:10", "url": "https://files.pythonhosted.org/packages/f1/51/8585e5e11dcd9f292420022de390f8ddfcb6e8be8bb821a60df65f78b8b5/wunderpy2-0.1.6-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "1b194f4b4664d9612fbfbd6e262accf0", "sha256": "8845c5d2f9794de3c42f206bc3387b364e8f01817728ac7e3be6980bdbb9dd43" }, "downloads": -1, "filename": "wunderpy2-0.1.6.tar.gz", "has_sig": false, "md5_digest": "1b194f4b4664d9612fbfbd6e262accf0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12649, "upload_time": "2018-07-27T11:32:11", "url": "https://files.pythonhosted.org/packages/70/69/21a3150434f585d3400c2a694dd4410b50fe22a1ccca8cf262c4e7084677/wunderpy2-0.1.6.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "3f9fc7522df1528824c6061a52ee1e20", "sha256": "ffefc0c099e4876aa98a486bed5442cd0d18d9a469b750ed195c5ad4b3ea4567" }, "downloads": -1, "filename": "wunderpy2-0.1.6-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "3f9fc7522df1528824c6061a52ee1e20", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 17000, "upload_time": "2018-07-27T11:32:10", "url": "https://files.pythonhosted.org/packages/f1/51/8585e5e11dcd9f292420022de390f8ddfcb6e8be8bb821a60df65f78b8b5/wunderpy2-0.1.6-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "1b194f4b4664d9612fbfbd6e262accf0", "sha256": "8845c5d2f9794de3c42f206bc3387b364e8f01817728ac7e3be6980bdbb9dd43" }, "downloads": -1, "filename": "wunderpy2-0.1.6.tar.gz", "has_sig": false, "md5_digest": "1b194f4b4664d9612fbfbd6e262accf0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12649, "upload_time": "2018-07-27T11:32:11", "url": "https://files.pythonhosted.org/packages/70/69/21a3150434f585d3400c2a694dd4410b50fe22a1ccca8cf262c4e7084677/wunderpy2-0.1.6.tar.gz" } ] }