{ "info": { "author": "Predrag Mandic", "author_email": "predrag@nul.one", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Environment :: Console", "License :: OSI Approved :: BSD License", "Natural Language :: English", "Operating System :: POSIX :: Linux", "Programming Language :: Python :: 3 :: Only", "Topic :: Utilities" ], "description": "\nsenile\n==================================================\n[![PyPI version](https://badge.fury.io/py/senile.svg)](https://badge.fury.io/py/senile)\n[![License](https://img.shields.io/badge/License-BSD%203--Clause-blue.svg)](https://opensource.org/licenses/BSD-3-Clause)\n\nA command-line todo list and time tracker.\n\nOverview\n-------------------------\n\nThis utility functions as a personal todo list and time tracker. You can create tasks with tags and they are saved in sqlite3 file: `~/.senile`.\n\nInstallation\n-------------------------\n\n### install from pypi (recommend)\n`pip3 install senile`\n\n### install from git (latest master)\n`pip3 install -U git+https://gitlab.com/nul.one/senile.git`\n\nUsage\n-------------------------\n\nCommands:\n\n- `add` Add a new task.\n- `modify` Modify existing task.\n- `remove` Delete following task(s).\n- `list` List tasks.\n- `archive` Same as list but show archived tasks.\n- `start` Start following task.\n- `stop` Stop tasks.\n- `todo` Set following task(s) to todo.\n- `done` Set following task(s) to done.\n- `hide` Archive following task(s).\n- `info` Show detailed info of a task.\n- `tags` List all tags and their counts.\n- `note` Open task notes for editing.\n\n### add\n\nAdd a new task.\n\n- aliases: a\n- usage: `senile add Some text description +tag1 +tag2 +tag3`\n- example: `senile add Submit the project +work +project +new`\n\n### modify\n\nModify existing task.\n\n- aliases: mod, m\n- usage: `senile mod ID_OR_UUID Updated text -TAG_TO_REMOVE +TAG_TO_ADD`\n- example: `senile mod 5 Re-submit the finished project -new +old`\n\n\n### remove\n\nDelete following task(s).\n\n- aliases: rm\n- usage: `senile rm ID_OR_UUID_1 ID_OR_UUID_2 ID_OR_UUID_3`\n- example: `senile rm d59de172 fcf8799e 4 5`\n\n### list\n\nList tasks.\n\n- aliases: ls, l\n- usage: `senile l SOME TEXT TO SEARCH +CONTAIN_TAG -DO_NOT_CONTAIN_TAG`\n- example: `senile l project +work -old`\n\n### archive\n\nSame as list but show archived tasks.\n\n- aliases: ar, arc, arch\n- usage: `senile ar SOME TEXT TO SEARCH +CONTAIN_TAG -DO_NOT_CONTAIN_TAG`\n- example: `senile ar project +work -old`\n\n### start\n\nStart following task.\n\n- usage: `senile start TASK_ID_OR_UUID`\n- example: `senile start 5`\n- note: Only 1 task can be started.\n\n### stop\n\nStop tasks.\n\n- Called without arguments and stops a single task that was started.\n\n### todo\n\nSet following task(s) to todo.\n\n- usage: `senile todo ID_OR_UUID_1 ID_OR_UUID_2 ID_OR_UUID_3`\n- example: `senile todo d59de172 fcf8799e 4 5`\n\n### done\n\nSet following task(s) to done.\n\n- usage: `senile done ID_OR_UUID_1 ID_OR_UUID_2 ID_OR_UUID_3`\n- example: `senile done d59de172 fcf8799e 4 5`\n\n### hide\n\nArchive following task(s).\n\n- usage: `senile hide ID_OR_UUID_1 ID_OR_UUID_2 ID_OR_UUID_3`\n- example: `senile hide d59de172 fcf8799e 4 5`\n\n### info\n\nShow detailed info of a task.\n\n- aliases: i, inf, show\n- usage: `senile show TASK_ID_OR_UUID`\n- example: `senile show d59de172`\n\n### tags\n\nList all tags and their counts.\n\n- aliases: t, tag\n- Called without arguments. Lists tags of all tasks, even archived.\n\n### notes\n\nEdit notes for a task.\n\n- aliases: note, n usage: `senile note TASK_ID_OR_UUID`\n- Opens a multiline prompt where you can edit notes. (Alt+Return to finish)\n\n\nConfiguration\n-------------------------\n\nConfiguration options are available as environment variables that you need to export, either on each senile command or in your environment file (e.g. `.bashrc`, `.profile`, etc.).\n\n### Data file\n\nBy default, senile creates and uses an sqlite3 database file located at `~/.senile`.\nExport `SENILE_DB_PATH` variable to desired alternative file location.\n\n### Icons\n\nYou can change default status icon theme by exporting `SENILE_ICON_THEME`.\nPossible values are:\n\n- `default` - standard theme\n - hidden: `\ud83d\udc7b`\n - done: `\u2714\ufe0f `\n - todo: `\u2b55`\n - active: `\ud83d\udd34`\n- `text`\n - hidden: `h`\n - done: `d`\n - todo: `T`\n - active: `A`\n- `senile`\n - hidden: `\ud83d\udc53`\n - done: `\u26b0\ufe0f `\n - todo: `\ud83d\udcf0`\n - active: `\ud83e\udde0`\n- `love`\n - hidden: `\ud83d\udc94`\n - done: `\ud83d\udc96`\n - todo: `\u2764\ufe0f `\n - active: `\ud83d\udc98`\n- `xmas`\n - hidden: `\u2603\ufe0f `\n - done: `\ud83c\udf81`\n - todo: `\ud83c\udf84`\n - active: `\ud83d\udef7`\n- `archery`\n - hidden: `\ud83d\udc3a`\n - done: `\ud83c\udfc5`\n - todo: `\ud83c\udfaf`\n - active: `\ud83c\udff9`\n\n\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "https://gitlab.com/nul.one/senile/-/archive/0.3.3/senile-0.3.3.tar.gz", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://gitlab.com/nul.one/senile", "keywords": "", "license": "BSD", "maintainer": "", "maintainer_email": "", "name": "senile", "package_url": "https://pypi.org/project/senile/", "platform": "", "project_url": "https://pypi.org/project/senile/", "project_urls": { "Download": "https://gitlab.com/nul.one/senile/-/archive/0.3.3/senile-0.3.3.tar.gz", "Homepage": "https://gitlab.com/nul.one/senile" }, "release_url": "https://pypi.org/project/senile/0.3.3/", "requires_dist": [ "click (<8.0,>=6.7)", "prompt-toolkit (<3.0,>=2.0)", "texttable (<2.0,>=1.6.2)" ], "requires_python": ">=3.4.6", "summary": "A command-line todo utility.", "version": "0.3.3" }, "last_serial": 5694928, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "6800e836a79ade480d4b8f825bb3a511", "sha256": "9c6021665cb49b0025a39b131062dcfe43ccb35219502addc90ba6cf5a83e47f" }, "downloads": -1, "filename": "senile-0.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "6800e836a79ade480d4b8f825bb3a511", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.4.6", "size": 6433, "upload_time": "2019-08-14T03:08:32", "url": "https://files.pythonhosted.org/packages/18/47/5621768559a7dca93811c8e95031d124f8e31b8a412415a748498bb2fe13/senile-0.1.0-py3-none-any.whl" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "011ed3e14cb02e9a782ee6a8f73da33e", "sha256": "ba1251629d01279b5d1b2a2b37c37907491f69de34da00b0ee75df6f6604ea39" }, "downloads": -1, "filename": "senile-0.2.0-py3-none-any.whl", "has_sig": false, "md5_digest": "011ed3e14cb02e9a782ee6a8f73da33e", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.4.6", "size": 9541, "upload_time": "2019-08-15T03:05:06", "url": "https://files.pythonhosted.org/packages/81/67/9c8368eeeb455fd19546c6731c85f602ba0084641c1f5c433ee46f5cb775/senile-0.2.0-py3-none-any.whl" } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "c55825688d5a22d3eedcdf09d2688613", "sha256": "34ce658068cf8425c075f20940110b0bf160d2de77740ea611d6648cd4a8f4db" }, "downloads": -1, "filename": "senile-0.2.1-py3-none-any.whl", "has_sig": false, "md5_digest": "c55825688d5a22d3eedcdf09d2688613", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.4.6", "size": 9549, "upload_time": "2019-08-15T03:13:28", "url": "https://files.pythonhosted.org/packages/be/f8/55b83ab1cf67b34340d095d2c4e83e15f31163080cee50174c6089421bd2/senile-0.2.1-py3-none-any.whl" } ], "0.2.2": [ { "comment_text": "", "digests": { "md5": "d2cabcd657f2f63764d3159d396f14c2", "sha256": "11c84570a307de0d001ffb56695595fc0276fd688c1aa7f2bb0a52834fa6e063" }, "downloads": -1, "filename": "senile-0.2.2-py3-none-any.whl", "has_sig": false, "md5_digest": "d2cabcd657f2f63764d3159d396f14c2", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.4.6", "size": 9676, "upload_time": "2019-08-15T05:50:44", "url": "https://files.pythonhosted.org/packages/26/b8/9073d76ab2dc0ffbf9657ce17d1501a7e8008d11391afa2092d4b29cbe5c/senile-0.2.2-py3-none-any.whl" } ], "0.2.3": [ { "comment_text": "", "digests": { "md5": "8faf50b4a6af0a604a7dce0bc140774c", "sha256": "6d86772e42c4cfea4edc82a0a59aed8d9af94858c745b23506e5919a86a4c20e" }, "downloads": -1, "filename": "senile-0.2.3-py3-none-any.whl", "has_sig": false, "md5_digest": "8faf50b4a6af0a604a7dce0bc140774c", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.4.6", "size": 9787, "upload_time": "2019-08-15T08:27:59", "url": "https://files.pythonhosted.org/packages/de/bf/5264cbce3e80c35d0960aedd7812720f4973f31257d73aba19cc98497675/senile-0.2.3-py3-none-any.whl" } ], "0.2.4": [ { "comment_text": "", "digests": { "md5": "7cff51468474119205b7904730d87ebb", "sha256": "cb2b414cc9a3e521f950a1bf62fbe18890b1b974bf24a53a4d22c5df82fe98e0" }, "downloads": -1, "filename": "senile-0.2.4-py3-none-any.whl", "has_sig": false, "md5_digest": "7cff51468474119205b7904730d87ebb", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.4.6", "size": 9789, "upload_time": "2019-08-15T08:32:55", "url": "https://files.pythonhosted.org/packages/79/88/5d03b8c1d4d458493415e0bcc2b533dd46d5a663ec85b882fe33c4529c87/senile-0.2.4-py3-none-any.whl" } ], "0.2.5": [ { "comment_text": "", "digests": { "md5": "c9bd13ee2d247c50695f7e8712548394", "sha256": "9b51c36eb96415b7d0cffe6bf9683e135220cab8e3e4f915d46017ef6d761082" }, "downloads": -1, "filename": "senile-0.2.5-py3-none-any.whl", "has_sig": false, "md5_digest": "c9bd13ee2d247c50695f7e8712548394", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.4.6", "size": 9827, "upload_time": "2019-08-15T09:32:31", "url": "https://files.pythonhosted.org/packages/eb/cb/e5b6aae1e5768bd57d8b3fc8111cf978e96dabe4cac1fe62cb50ffcb3c7f/senile-0.2.5-py3-none-any.whl" } ], "0.2.6": [ { "comment_text": "", "digests": { "md5": "ce4263139fdeaa773f638e84c7e4a665", "sha256": "c59733140fb6b39daa7a06dda6632166dbcb3e028276e6fc1d4ee19f50c4f7a5" }, "downloads": -1, "filename": "senile-0.2.6-py3-none-any.whl", "has_sig": false, "md5_digest": "ce4263139fdeaa773f638e84c7e4a665", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.4.6", "size": 9883, "upload_time": "2019-08-15T11:18:06", "url": "https://files.pythonhosted.org/packages/0f/32/44fc702e728572279825b62bbf5acfaefd949559e6cf1c4a8148a1dc05e5/senile-0.2.6-py3-none-any.whl" } ], "0.3.0": [ { "comment_text": "", "digests": { "md5": "11294f73cfaad8ad0b8c214625900bbf", "sha256": "411cb75453e47c7a4d5a35a3000b7772f84b4b7e23650d6f6d1a5b404f782cfe" }, "downloads": -1, "filename": "senile-0.3.0-py3-none-any.whl", "has_sig": false, "md5_digest": "11294f73cfaad8ad0b8c214625900bbf", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.4.6", "size": 10495, "upload_time": "2019-08-17T00:44:07", "url": "https://files.pythonhosted.org/packages/2d/9e/7ab894a728486dd75d091569f9ea3789f833e5d5cd2c5745ce91305c1f1c/senile-0.3.0-py3-none-any.whl" } ], "0.3.1": [ { "comment_text": "", "digests": { "md5": "ef5e8c5f2a23a2eef72e69ffcd341a08", "sha256": "9f0c44255795d93b92ab3e508b78540c0fac21f23c920d7e0c01727fadf0f5d5" }, "downloads": -1, "filename": "senile-0.3.1-py3-none-any.whl", "has_sig": false, "md5_digest": "ef5e8c5f2a23a2eef72e69ffcd341a08", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.4.6", "size": 11427, "upload_time": "2019-08-17T18:52:11", "url": "https://files.pythonhosted.org/packages/2d/55/ed532184c3558a4cdb5d858592e0d5c04b47266ef0bb6ef87c4c5b9fd2cf/senile-0.3.1-py3-none-any.whl" } ], "0.3.2": [ { "comment_text": "", "digests": { "md5": "3f294e347b1ebc0fc49c08654e5f709f", "sha256": "7fe64db841bd6c1f6399006ec7846bf503caced1d8b9f88949b814d6bd16f08c" }, "downloads": -1, "filename": "senile-0.3.2-py3-none-any.whl", "has_sig": false, "md5_digest": "3f294e347b1ebc0fc49c08654e5f709f", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.4.6", "size": 11941, "upload_time": "2019-08-18T15:08:52", "url": "https://files.pythonhosted.org/packages/3a/86/d5a4f56dcae09fba190b6ed71009cb57636e3f9dbb8cf4e3d8c647865f36/senile-0.3.2-py3-none-any.whl" } ], "0.3.3": [ { "comment_text": "", "digests": { "md5": "3ac341317fad010db141fa622701624c", "sha256": "c6e4517f27538b9deab1acdc0060645a60790d8b585d89a06c6e70e9cd781b71" }, "downloads": -1, "filename": "senile-0.3.3-py3-none-any.whl", "has_sig": false, "md5_digest": "3ac341317fad010db141fa622701624c", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.4.6", "size": 11943, "upload_time": "2019-08-18T15:27:17", "url": "https://files.pythonhosted.org/packages/ee/eb/8c3c7bf6618fcc0c05904a7b9fb164865ead572560d2f161527188c80946/senile-0.3.3-py3-none-any.whl" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "3ac341317fad010db141fa622701624c", "sha256": "c6e4517f27538b9deab1acdc0060645a60790d8b585d89a06c6e70e9cd781b71" }, "downloads": -1, "filename": "senile-0.3.3-py3-none-any.whl", "has_sig": false, "md5_digest": "3ac341317fad010db141fa622701624c", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.4.6", "size": 11943, "upload_time": "2019-08-18T15:27:17", "url": "https://files.pythonhosted.org/packages/ee/eb/8c3c7bf6618fcc0c05904a7b9fb164865ead572560d2f161527188c80946/senile-0.3.3-py3-none-any.whl" } ] }