Skip to main content

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

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

todotui-0.0.4.tar.gz (14.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

todotui-0.0.4-py3-none-any.whl (18.9 kB view details)

Uploaded Python 3

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

Hashes for todotui-0.0.4.tar.gz
Algorithm Hash digest
SHA256 dd1cba499291b99037323912f9dcf8ca0cb314c243fd6ff1f403eab5320757b3
MD5 df19ce293f7f9fc8cbbe1c4066f79c29
BLAKE2b-256 10b6c34f4bdac7643e95f040ad95761da3f5ab5516c757ea4d98f6f2289512a3

See more details on using hashes here.

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

Hashes for todotui-0.0.4-py3-none-any.whl
Algorithm Hash digest
SHA256 976def2f5500d22cf196d043dc87b5ecd01776090b0671426fc9e9eedef925ba
MD5 d20c1b7b282100a1a972ea2468c20926
BLAKE2b-256 e70d90a07ceeb3c8e9fabf8e4ec447427b94cfcb77ee06dd4ef5471ce11e2d05

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page