TODOTui
Description
TODO Tui is a terminal UI for managing TODOs both globally and for a project. It is designed with simplicity in mind and for the use of a single developer on a single machine.
There is a simple configuration for managing the size of the TODO box and when integrating TODO Tui with direnv you can produce an automatic todo list whenever you CD into a project.
TODO Tui has a handy todo setup command for setting up direnv for a project.
Installation
pip install todotui
Examples
List todos locally, if in a git project, or global.
❯ todo list
+----+--------------------------------------------------------------------------------------------+--------------+-------------+
| ID | Title | Created at | Completed |
+----+--------------------------------------------------------------------------------------------+--------------+-------------+
| 1 | Fix the auto command | 26/01 19:49 | ❌ |
| 2 | Add more databases | 26/01 19:49 | ❌ |
+----+--------------------------------------------------------------------------------------------+--------------+-------------+
Add a new todo
❯ todo add "Book a strategy meeting"
Created task with id: 3
❯ todo list
+----+--------------------------------------------------------------------------------------------+--------------+-------------+
| ID | Title | Created at | Completed |
+----+--------------------------------------------------------------------------------------------+--------------+-------------+
| 1 | Fix the auto command | 26/01 19:49 | ❌ |
| 2 | Add more databases | 26/01 19:49 | ❌ |
| 3 | Book a strategy meeting | 26/01 19:50 | ❌ |
+----+--------------------------------------------------------------------------------------------+--------------+-------------+
Delete a todo
❯ todo delete 3
Deleted task with id: 3
❯ todo list
+----+--------------------------------------------------------------------------------------------+--------------+-------------+
| ID | Title | Created at | Completed |
+----+--------------------------------------------------------------------------------------------+--------------+-------------+
| 1 | Fix the auto command | 26/01 19:49 | ❌ |
| 2 | Add more databases | 26/01 19:49 | ❌ |
+----+--------------------------------------------------------------------------------------------+--------------+-------------+
Add a global todo
❯ todo -g add "Book a strategy meeting"
Created task with id: 1
❯ todo list -g
+----+--------------------------------------------------------------------------------------------+--------------+-------------+
| ID | Title | Created at | Completed |
+----+--------------------------------------------------------------------------------------------+--------------+-------------+
| 1 | Book a strategy meeting | 26/01 19:52 | ❌ |
+----+--------------------------------------------------------------------------------------------+--------------+-------------+
Complete a todo
❯ todo -g done 1
Task with id 1 completed
❯ todo -g list
+----+--------------------------------------------------------------------------------------------+--------------+-------------+
| ID | Title | Created at | Completed |
+----+--------------------------------------------------------------------------------------------+--------------+-------------+
| 1 | Book a strategy meeting | 26/01 19:52 | ✅ |
+----+--------------------------------------------------------------------------------------------+--------------+-------------+
Automatically add todos from TODO comments in code
❯ todo auto
Created 1 new tasks
❯ todo list
+----+--------------------------------------------------------------------------------------------+--------------+-------------+
| ID | Title | Created at | Completed |
+----+--------------------------------------------------------------------------------------------+--------------+-------------+
| 1 | Fix the auto command | 26/01 19:49 | ❌ |
| 2 | Add more databases | 26/01 19:49 | ❌ |
| 3 | todo/commands/auto.py:Add a docstring to this method | 26/01 19:56 | ❌ |
+----+--------------------------------------------------------------------------------------------+--------------+-------------+
Configuration
The configuration is stored in $HOME/.local/state/todotui/config.yaml, if there is no config.yaml file there just run todo list once and it should be created.
In the configuration it is possible to change the text alignment and size of the TODO output. There are four segments in the TODO output that can be configured: id, title, created_at & completed and the configuration is the same for each of them.
Change the text alignment using text.align. Values for alignments are center='^', left='<' and right='>'
Example:
format:
tasks:
title:
text:
align: < # align title text left
Change the title alignment using title.align. Values for alignments are center='^', left='<' and right='>'
Example:
format:
tasks:
id:
title:
align: < # align id title left
Change the header of a box using title.text.
Example:
format:
tasks:
title:
title:
text: Name
Change the width of a box using width, the width is the total number of characters.
Example:
format:
tasks:
id:
width: 4
To restore the default configuration just delete the configuration file at $HOME/.local/state/todotui/config.yaml and it will be recreated the next time you run the program.
Contribute
- Issue Tracker: https://github.com/TP-Softworks/todotui/issues
- Source Code: https://github.com/TP-Softworks/todotui
Support
Please open an issue: https://github.com/TP-Softworks/todotui/issues or start a discussion: https://github.com/TP-Softworks/todotui/discussions/categories/q-a
Release files for todotui 0.0.4
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| todotui-0.0.4.tar.gz | 14.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| todotui-0.0.4-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 33.8 kB
Release files / todotui-0.0.4.tar.gz
| Download URL | todotui-0.0.4.tar.gz |
|---|---|
| Size | 14.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
dd1cba499291b99037323912f9dcf8ca0cb314c243fd6ff1f403eab5320757b3
|
|
BLAKE2b-256 checksum How to use checksums |
10b6c34f4bdac7643e95f040ad95761da3f5ab5516c757ea4d98f6f2289512a3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.1
|
Release files / todotui-0.0.4-py3-none-any.whl
| Download URL | todotui-0.0.4-py3-none-any.whl |
|---|---|
| Size | 18.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
976def2f5500d22cf196d043dc87b5ecd01776090b0671426fc9e9eedef925ba
|
|
BLAKE2b-256 checksum How to use checksums |
e70d90a07ceeb3c8e9fabf8e4ec447427b94cfcb77ee06dd4ef5471ce11e2d05
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.1
|