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
Metadata
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 | Provenance | Actions |
|---|---|---|---|---|
| todotui-0.0.4.tar.gz | 14.9 kB | Without provenance | Details for todotui-0.0.4.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| todotui-0.0.4-py3-none-any.whl | Python 3 | none | any | Details for todotui-0.0.4-py3-none-any.whl |
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
|
Security for todotui 0.0.4
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.