Todo OIO
A modern, intuitive command-line todo application built with Python. Features beautiful terminal UI, priority levels, due dates, and more.
Installation
Install from PyPI:
pip install todo-oio
Or install from source:
git clone https://github.com/todo-oio/todo-oio.git
cd todo-oio
pip install -e .
Quick Start
- Initialize your todo list:
todo init
- Add your first todo:
todo add "Buy groceries"
- List all todos:
todo list
Commands
Initialize
todo init # Create a new todo list
todo init --force # Reinitialize (overwrites existing)
Add Tasks
todo add "Task description" # Basic task
todo add "Important task" --priority high # With priority
todo add "Meeting" --due tomorrow # With due date
todo add "Project" --priority high --due 2024-01-15 # Both
List Tasks
todo list # Show all tasks
todo list --status pending # Show only pending tasks
todo list --status completed # Show only completed tasks
todo list --priority high # Show only high priority tasks
todo list --sort priority # Sort by priority
todo list --sort due # Sort by due date
Manage Tasks
todo complete 1 # Mark task as completed
todo edit 1 # Edit task interactively
todo delete 1 # Delete task (with confirmation)
Features
- Beautiful terminal UI with colors and clean formatting
- Due dates with flexible parsing (today, tomorrow, YYYY-MM-DD, etc.)
- Priority levels (low, medium, high)
- Status tracking (pending, completed)
- Filtering and sorting options
- JSON storage in your home directory
- Interactive editing with confirmation prompts
- Overdue detection with visual indicators
- Individual todo details with
todo showcommand
Priority Levels
- High: Critical tasks that need immediate attention
- Medium: Important tasks with normal priority (default)
- Low: Tasks that can be done when time permits
Due Date Formats
Flexible date parsing supports:
today,tomorrownext week,next monthYYYY-MM-DD(e.g.,2024-01-15)MM/DD/YYYY(e.g.,01/15/2024)DD-MM-YYYY(e.g.,15-01-2024)
Data Storage
Your todos are stored in ~/.todo.json in your home directory. The file is automatically created when you run todo init.
Examples
# Initialize and add some tasks
todo init
todo add "Write project proposal" --priority high --due tomorrow
todo add "Review code" --priority medium
todo add "Update documentation" --priority low --due "next week"
# List tasks with different views
todo list # All tasks
todo list --status pending --sort priority # Pending tasks by priority
todo list --priority high # High priority tasks only
# Manage tasks
todo complete 1 # Mark first task as done
todo edit 2 # Edit second task
todo delete 3 # Delete third task
Command Reference
Core Commands
todo init- Initialize a new todo listtodo add <task>- Add a new todo itemtodo list- Show all todostodo show <id>- Show detailed todo informationtodo complete <id>- Mark todo as completedtodo edit <id>- Edit todo interactivelytodo delete <id>- Delete todo with confirmation
Options
--priority/-p- Set priority (low, medium, high)--due/-d- Set due date--status/-s- Filter by status (pending, completed, all)--sort- Sort by (created, priority, due)
Development
This project uses modern Python tooling:
- Framework: Typer for CLI
- UI: Rich for beautiful terminal output
- Testing: pytest
- Code Quality: black, isort, flake8, mypy
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
License
MIT License - see the LICENSE file for details.
Metadata
Release files for todo-oio 0.1.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 | |
|---|---|---|---|
| todo_oio-0.1.0.tar.gz | 12.6 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| todo_oio-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 29.4 kB
Release files / todo_oio-0.1.0.tar.gz
| Download URL | todo_oio-0.1.0.tar.gz |
|---|---|
| Size | 12.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
27cd31e09fd0eb9d3d65c7fa651a5384b741039651782ade3fd53306ded63006
|
|
BLAKE2b-256 checksum How to use checksums |
7427f20fd331c1e8702336ae453d39f67a5d831c2dcbe7e226f94a6aafb2bcc1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.12.2
|
Release files / todo_oio-0.1.0-py3-none-any.whl
| Download URL | todo_oio-0.1.0-py3-none-any.whl |
|---|---|
| Size | 16.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
46c40e1f662eca2a2442d2afe1d49449cc2158a65981ec3d6d06f63b90c572ca
|
|
BLAKE2b-256 checksum How to use checksums |
36507147b0e7318679ae14cb0b0301618ff6276419299c9fe2f1f2acbedd3ed1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.12.2
|