T2DO
A todo list that lives in your terminal.
Why
Most todo apps want to be more than a todo list. They want boards, tags, projects, reminders, a mobile app, a login, a subscription. All you actually need most days is: write the thing down, look at the thing, check it off.
T2DO is a small floating box that pops up in your terminal, holds your tasks, and gets out of the way. No accounts, no sync, no clutter.
Your tasks are just saved to a plain JSON file on your machine. Open it, back it up, edit it by hand if you want.
Install
pip install t2do
Works on Linux, macOS, and Windows.
Run
t2do
Using it
a— add a taskEnter— save itEsc— cancel typing, or quit the app if you're not typing↑/↓orj/k— move through your listSpace— check a task off (or uncheck it)d— delete the selected task
That's the entire interface. If your list gets long, it scrolls, with a
small ^ / v marker so you know there's more above or below.
Where your data lives
- Linux/macOS:
~/.config/t2do/todos.json - Windows:
%APPDATA%\t2do\todos.json
Delete that file if you ever want to start over.
Philosophy
If this app ever grows a settings menu, tags, or a sync feature, something went wrong. It's supposed to stay this small.
Release files for t2do 1.0.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| t2do-1.0.0.tar.gz | 5.5 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| t2do-1.0.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 11.5 kB
Release files / t2do-1.0.0.tar.gz
| Download URL | t2do-1.0.0.tar.gz |
|---|---|
| Size | 5.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
836638f0c3f3d4023b4e4ee929682b61c1a94b16533f84f49860d193398c38f2
|
|
BLAKE2b-256 checksum How to use checksums |
c2cc367d7cbc89aea8611d6ae8ef822723c2f292c1282829ad4265122be9ff13
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jul 31, 2026.
Transparency logRelease files / t2do-1.0.0-py3-none-any.whl
| Download URL | t2do-1.0.0-py3-none-any.whl |
|---|---|
| Size | 6.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
b6e1299837ebc791cf81cec7580956398c1b7955fb921777e120eb92f4a43720
|
|
BLAKE2b-256 checksum How to use checksums |
1e553888f3b5a23fb0391d37603a858053b78aaae8893f1a3752d2e8d2e46eeb
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jul 31, 2026.
Transparency log