{ "info": { "author": "Paul Baecher", "author_email": "", "bugtrack_url": null, "classifiers": [ "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python :: 3" ], "description": "# Tasks\n\nProof of concept for a simple task queue, with a focus on UX and clean internal design.\n\n![Screenshot of a tasks session](images/demo.png)\n\nTasks can be installed through pip: `pip3 install tasks`, run with `tasks`.\n\n\n## Status for i3\n\nFollow these steps to add the output of `status` to your i3 status bar.\n\n1. Set up a cron job (`crontab -e`) that saves the status every minute.\n\n ```\n * * * * * /path/to/tasks status > $HOME/.tasks.status\n ```\n\n2. Configure i3 to use the provided status wrapper (installed alongside the `tasks` command.)\n\n ```\n ...\n status_command tasks-i3status\n ...\n ```\n\n\n## Automatic standup email\n\nThe `standup` command shows (among other things) recently completed items. One use case is to send this list to your phone to have it ready for a daily standup. The repo contains a script (under `scripts`) to send stdin as an email with Mailgun which you can then combine with a cron job as follows.\n\n```\nAPI_KEY=...\nDOMAIN=...\nEMAIL=...\n30 9 * * tue,wed,thu,fri /path/to/tasks standup 1 | /path/to/mailgun.sh\n30 9 * * mon /path/to/tasks standup 3 | /path/to/mailgun.sh\n```\n\n\n## Development\n\nTo get started, have a look at the todo items for this project.\n\n```\nmake dev_install # one-time setup\nmake todo\n```\n\n### Contributing\n\nPull requests are welcome. Please do keep in mind that the code is heavily inspired by the [Elm architecture](https://guide.elm-lang.org/architecture/) and consider the following guidelines.\n\n * Avoid mutation whenever possible, take advantage of [PEP 448](https://www.python.org/dev/peps/pep-0448/) to create updated versions of collections instead.\n * Side effects (and only side effects) should be in `main.py`; all other modules should be limited to pure code.\n * Avoid classes unless you have a really good reason for them (the code does not have any classes at the moment.)\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/pb-/tasks", "keywords": "", "license": "", "maintainer": "", "maintainer_email": "", "name": "tasks", "package_url": "https://pypi.org/project/tasks/", "platform": "", "project_url": "https://pypi.org/project/tasks/", "project_urls": { "Homepage": "https://github.com/pb-/tasks" }, "release_url": "https://pypi.org/project/tasks/2.5.0/", "requires_dist": [ "datadispatch" ], "requires_python": "", "summary": "A simple personal task queue to track todo items", "version": "2.5.0" }, "last_serial": 4965555, "releases": { "2.0.0": [ { "comment_text": "", "digests": { "md5": "bdab9bc47f81972dfe342ee2422d0047", "sha256": "22bd6a2dd23039808481d37bd1e7ecf33e5ec07ee867bc602f6c3550b286ff0a" }, "downloads": -1, "filename": "tasks-2.0.0-py3-none-any.whl", "has_sig": false, "md5_digest": "bdab9bc47f81972dfe342ee2422d0047", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 8938, "upload_time": "2018-11-18T22:50:58", "url": "https://files.pythonhosted.org/packages/2c/93/046be5d7576ab2005063451887e0310256aac4c6bac7ed58774deb2b762e/tasks-2.0.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "bd43174377bb30a26f3b51b693af4027", "sha256": "ac42f6cc6d6432f83e87ca0953e88f6716a4b8b6c56f73f5ab75a825dd5b7bac" }, "downloads": -1, "filename": "tasks-2.0.0.tar.gz", "has_sig": false, "md5_digest": "bd43174377bb30a26f3b51b693af4027", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6627, "upload_time": "2018-11-18T22:51:01", "url": "https://files.pythonhosted.org/packages/a9/84/8675cb380ea75c86b30f078e0e0f40647a190af45ee257c1247a580577f4/tasks-2.0.0.tar.gz" } ], "2.0.1": [ { "comment_text": "", "digests": { "md5": "4499e5b7713ee959cecf9e1b015ddf32", "sha256": "7547b291cf2f4b9db0840c7da0c518dcbd88c1683e79651b524178384f4fdb2b" }, "downloads": -1, "filename": "tasks-2.0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "4499e5b7713ee959cecf9e1b015ddf32", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 9596, "upload_time": "2018-11-19T20:10:34", "url": "https://files.pythonhosted.org/packages/89/e6/b44d80df87cf607161106333580618b5eb5902d5c739d55f9eadb37cbfa8/tasks-2.0.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c7e8190f5c1e0b7095fabb9bbb4ee0b7", "sha256": "381810274ca36ca255b6bb69de1bf2f2e57b9e5487719c17d4a6c0d0fe1d10a1" }, "downloads": -1, "filename": "tasks-2.0.1.tar.gz", "has_sig": false, "md5_digest": "c7e8190f5c1e0b7095fabb9bbb4ee0b7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6849, "upload_time": "2018-11-19T20:10:36", "url": "https://files.pythonhosted.org/packages/d0/18/031a4fa97d3eb8e66b411f80b798c488fe815156348a7907f3f3ecf369db/tasks-2.0.1.tar.gz" } ], "2.0.2": [ { "comment_text": "", "digests": { "md5": "27a76013e1dba320088b9725f14c999a", "sha256": "6402a446629e7decc9771787b0ee2791511b1131d78b5887186fab2782c6d5a1" }, "downloads": -1, "filename": "tasks-2.0.2-py3-none-any.whl", "has_sig": false, "md5_digest": "27a76013e1dba320088b9725f14c999a", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 9615, "upload_time": "2018-12-17T19:55:01", "url": "https://files.pythonhosted.org/packages/d6/33/af3cd94b85c0062164788fd19836122a53b0d32bf93425e9469bd5f349c3/tasks-2.0.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e0dd5226680cf4aad67828f54ea9a270", "sha256": "fbefd641cbda07383ff257232b739b9c1e5beceb3062adce1b453e9ed5231bdf" }, "downloads": -1, "filename": "tasks-2.0.2.tar.gz", "has_sig": false, "md5_digest": "e0dd5226680cf4aad67828f54ea9a270", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6871, "upload_time": "2018-12-17T19:55:03", "url": "https://files.pythonhosted.org/packages/3d/0f/17262773384fce07ac4d1f60a6b9cacdc0663c48cde0b3061fe822b4b1c5/tasks-2.0.2.tar.gz" } ], "2.1.0": [ { "comment_text": "", "digests": { "md5": "ac81c3844521d95a2357bab5254af4cd", "sha256": "a587e823e317e3e609021f53852bd31cf5ccd16ead6248e5d20de8c617f2df7f" }, "downloads": -1, "filename": "tasks-2.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "ac81c3844521d95a2357bab5254af4cd", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 9718, "upload_time": "2018-12-19T23:04:22", "url": "https://files.pythonhosted.org/packages/82/02/cef832766849a07cc0be2fa3113349dc1b6c2d8fee7a7afe3e77549cc3ae/tasks-2.1.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c0555c0d934e4281ef0fff3f2cc6b199", "sha256": "01241591c408fa477282e0c17b01fd363c7f0056d6869c6ad13e5cad29dcca93" }, "downloads": -1, "filename": "tasks-2.1.0.tar.gz", "has_sig": false, "md5_digest": "c0555c0d934e4281ef0fff3f2cc6b199", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6962, "upload_time": "2018-12-19T23:04:24", "url": "https://files.pythonhosted.org/packages/40/ee/d226ad541bd0acb9683b987651a4917c3deac9a31b36b8e7cc956afba582/tasks-2.1.0.tar.gz" } ], "2.2.1": [ { "comment_text": "", "digests": { "md5": "1cf55cad5d8ffd635c30b2752a0ee362", "sha256": "de67d9e03de6616e8fcbdebe480bbded3ccabab66c1fdd3b3667e564bd66ee78" }, "downloads": -1, "filename": "tasks-2.2.1-py3-none-any.whl", "has_sig": false, "md5_digest": "1cf55cad5d8ffd635c30b2752a0ee362", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 9738, "upload_time": "2018-12-20T19:18:45", "url": "https://files.pythonhosted.org/packages/dd/76/96f8c24df8fccc5b08a8ad2f5a6bdca4e74b1177220e105a9ae008c41e5b/tasks-2.2.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "7f51c78ee20648bed56948843ebff90e", "sha256": "3226c7a18b58ee3a4616e40dd81f189c42ea95ecbfd199768c2dfafdd7eccfe8" }, "downloads": -1, "filename": "tasks-2.2.1.tar.gz", "has_sig": false, "md5_digest": "7f51c78ee20648bed56948843ebff90e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6990, "upload_time": "2018-12-20T19:18:48", "url": "https://files.pythonhosted.org/packages/87/65/d501dd305ffb27df09aa28d46ef40689bc37234c0e515d86318a9cba7299/tasks-2.2.1.tar.gz" } ], "2.3.0": [ { "comment_text": "", "digests": { "md5": "b229565c9cb2ccdc7d0286285ffeecc4", "sha256": "d0dae30398ffee1983345234f6bcc0c36905c5ed61aa341ce9467160f0cf4eb8" }, "downloads": -1, "filename": "tasks-2.3.0-py3-none-any.whl", "has_sig": false, "md5_digest": "b229565c9cb2ccdc7d0286285ffeecc4", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 10163, "upload_time": "2018-12-21T20:46:07", "url": "https://files.pythonhosted.org/packages/bb/14/17c8a4bf0b05724b3175259206768de18142105c192a865eb02e2ef7ab3a/tasks-2.3.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "fc0a65dfddaca3678d8c64d1368850da", "sha256": "ebb3a46b6f78f8fe4467930b565166d3150dd208546fcbe17b962cca6a7350fd" }, "downloads": -1, "filename": "tasks-2.3.0.tar.gz", "has_sig": false, "md5_digest": "fc0a65dfddaca3678d8c64d1368850da", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7379, "upload_time": "2018-12-21T20:46:10", "url": "https://files.pythonhosted.org/packages/ec/04/978e2808ba7cabf0573f80c068e2cb5f142850aaa53f7bc52c87059b3ac1/tasks-2.3.0.tar.gz" } ], "2.3.1": [ { "comment_text": "", "digests": { "md5": "96dd7ffbaa37996a5d15bb6ac2189c38", "sha256": "f1452e72c47cac2c6b7aed7b38830a506f5d8c4cddd6d5e74dd0fb10fd6b1872" }, "downloads": -1, "filename": "tasks-2.3.1-py3-none-any.whl", "has_sig": false, "md5_digest": "96dd7ffbaa37996a5d15bb6ac2189c38", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 10476, "upload_time": "2018-12-25T16:47:51", "url": "https://files.pythonhosted.org/packages/f9/4d/2d686dff4fd73fed3a990e7f1f0d3c9ade908a49fce35b94801713f10245/tasks-2.3.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "3896727dbe77dfe46e59ccc260202091", "sha256": "aca438fdde04f80368769730c94f097e504489151e630d9eff0aa90f0061a7f9" }, "downloads": -1, "filename": "tasks-2.3.1.tar.gz", "has_sig": false, "md5_digest": "3896727dbe77dfe46e59ccc260202091", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7442, "upload_time": "2018-12-25T16:47:53", "url": "https://files.pythonhosted.org/packages/bd/03/15bf4c929d8897747d41f25d2ae9580ff77be52485371a8d95d40bcdd0aa/tasks-2.3.1.tar.gz" } ], "2.4.0": [ { "comment_text": "", "digests": { "md5": "4c256ca050a41ee3d6826a389b306700", "sha256": "7efd6dc1a15dc7d763f043c08295e14e84bc07beb786b49f62028333046f32d7" }, "downloads": -1, "filename": "tasks-2.4.0-py3-none-any.whl", "has_sig": false, "md5_digest": "4c256ca050a41ee3d6826a389b306700", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 10515, "upload_time": "2019-01-02T22:43:04", "url": "https://files.pythonhosted.org/packages/b7/67/a06e21ead73c3628ecc4ccc2be47cff9c2ce3ef2056a296e54f777055321/tasks-2.4.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "eb4c1cc36ac2b834cc7a9bd6d35e9eb7", "sha256": "b8e1a276f197c4e7653ad4bbacd188d2febfd4a20d04ac6a53df1f141dbcee16" }, "downloads": -1, "filename": "tasks-2.4.0.tar.gz", "has_sig": false, "md5_digest": "eb4c1cc36ac2b834cc7a9bd6d35e9eb7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7474, "upload_time": "2019-01-02T22:43:06", "url": "https://files.pythonhosted.org/packages/2a/26/13e8279c23edb1d950510796e7f47a227d6636f8d301e6740c05501a614f/tasks-2.4.0.tar.gz" } ], "2.4.1": [ { "comment_text": "", "digests": { "md5": "739ff0b03b448332b148e1234a114141", "sha256": "b3144f4d28015f907b8636a630792f93e9212432600d6ca30425d52ea26d478a" }, "downloads": -1, "filename": "tasks-2.4.1-py3-none-any.whl", "has_sig": false, "md5_digest": "739ff0b03b448332b148e1234a114141", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 10532, "upload_time": "2019-03-06T21:38:25", "url": "https://files.pythonhosted.org/packages/24/76/8bbb4f091bd94c208a07193158d8d4be3c9f3e0f73d8a0c5c80e3f3939c7/tasks-2.4.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e91f87192824d2182da4e56ffd2859c3", "sha256": "be1de9f77f0001de5ab9401a824c6ebd8a02f8a213562093add5403385ce6fb8" }, "downloads": -1, "filename": "tasks-2.4.1.tar.gz", "has_sig": false, "md5_digest": "e91f87192824d2182da4e56ffd2859c3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7497, "upload_time": "2019-03-06T21:38:27", "url": "https://files.pythonhosted.org/packages/19/b4/2e8205ad3d3bf38678ebce10f0fddbfa73420783aba699b8b00c4cce0d7d/tasks-2.4.1.tar.gz" } ], "2.5.0": [ { "comment_text": "", "digests": { "md5": "cbe81ef6ffc314fe68fe2e16b96b858a", "sha256": "3e30b074878b1a82890b228e2d8c910853805c2aef977aaa3d2448c941702d8a" }, "downloads": -1, "filename": "tasks-2.5.0-py3-none-any.whl", "has_sig": false, "md5_digest": "cbe81ef6ffc314fe68fe2e16b96b858a", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 10563, "upload_time": "2019-03-20T21:02:18", "url": "https://files.pythonhosted.org/packages/99/60/fea2f4be35625a606f31e7297266c19c39dc2fd984e70cbd3ee3216724c7/tasks-2.5.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "fbb1d1806c574950431a9bac3cf5fa06", "sha256": "b6e277b8e747451cedbc34797b96fba318a02b054bad99a3ae853fe07b014a44" }, "downloads": -1, "filename": "tasks-2.5.0.tar.gz", "has_sig": false, "md5_digest": "fbb1d1806c574950431a9bac3cf5fa06", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7524, "upload_time": "2019-03-20T21:02:19", "url": "https://files.pythonhosted.org/packages/2c/c7/951df98e5652327bfa7d9f81d75d2955f716f5bcab70913932288ce9194e/tasks-2.5.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "cbe81ef6ffc314fe68fe2e16b96b858a", "sha256": "3e30b074878b1a82890b228e2d8c910853805c2aef977aaa3d2448c941702d8a" }, "downloads": -1, "filename": "tasks-2.5.0-py3-none-any.whl", "has_sig": false, "md5_digest": "cbe81ef6ffc314fe68fe2e16b96b858a", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 10563, "upload_time": "2019-03-20T21:02:18", "url": "https://files.pythonhosted.org/packages/99/60/fea2f4be35625a606f31e7297266c19c39dc2fd984e70cbd3ee3216724c7/tasks-2.5.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "fbb1d1806c574950431a9bac3cf5fa06", "sha256": "b6e277b8e747451cedbc34797b96fba318a02b054bad99a3ae853fe07b014a44" }, "downloads": -1, "filename": "tasks-2.5.0.tar.gz", "has_sig": false, "md5_digest": "fbb1d1806c574950431a9bac3cf5fa06", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7524, "upload_time": "2019-03-20T21:02:19", "url": "https://files.pythonhosted.org/packages/2c/c7/951df98e5652327bfa7d9f81d75d2955f716f5bcab70913932288ce9194e/tasks-2.5.0.tar.gz" } ] }