Tui for managing todo lists
Project description
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
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file todotui-0.0.4.tar.gz.
File metadata
- Download URL: todotui-0.0.4.tar.gz
- Upload date:
- Size: 14.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
dd1cba499291b99037323912f9dcf8ca0cb314c243fd6ff1f403eab5320757b3
|
|
| MD5 |
df19ce293f7f9fc8cbbe1c4066f79c29
|
|
| BLAKE2b-256 |
10b6c34f4bdac7643e95f040ad95761da3f5ab5516c757ea4d98f6f2289512a3
|
File details
Details for the file todotui-0.0.4-py3-none-any.whl.
File metadata
- Download URL: todotui-0.0.4-py3-none-any.whl
- Upload date:
- Size: 18.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
976def2f5500d22cf196d043dc87b5ecd01776090b0671426fc9e9eedef925ba
|
|
| MD5 |
d20c1b7b282100a1a972ea2468c20926
|
|
| BLAKE2b-256 |
e70d90a07ceeb3c8e9fabf8e4ec447427b94cfcb77ee06dd4ef5471ce11e2d05
|