A simple, elegant command-line todo list application
Project description
Hackathon CLI Todo App
A simple, elegant command-line todo list application that helps you manage your tasks efficiently from the terminal.
Features
- ✅ Add tasks with descriptive titles
- 📋 List all tasks with completion status
- ✔️ Mark tasks as complete
- 🗑️ Delete tasks
- 🎮 Interactive menu mode
- ⌨️ Direct command support
- 💾 In-memory storage (simple and fast)
- 🚀 Zero external dependencies
Installation
Install via pip
pip install hackathon-cli-todo
Install via uv (faster)
uv pip install hackathon-cli-todo
Usage
Interactive Mode
Run the interactive menu:
todo
You'll see:
=== Todo App ===
1. Add a task
2. List tasks
3. Complete a task
4. Delete a task
5. Exit
Direct Commands
You can also use direct commands without entering the interactive mode:
# Add a new task
todo add "Buy groceries"
# List all tasks
todo list
# Complete a task (by number)
todo complete 1
# Delete a task (by number)
todo delete 1
Examples
# Add multiple tasks
todo add "Write project report"
todo add "Call client meeting"
todo add "Review pull requests"
# List your tasks
todo list
# Output:
# Your tasks:
# 1. [ ] Write project report
# 2. [ ] Call client meeting
# 3. [ ] Review pull requests
# Complete the first task
todo complete 1
# Delete the second task
todo delete 2
Requirements
- Python 3.11 or higher
Development
For local development:
# Clone the repository
git clone <repo-url>
cd PHASE-I-CLI-Todo-app
# Install in editable mode
pip install -e .
# Run tests
pytest
# Run with type checking
mypy src/
Project Structure
src/
├── __init__.py # Package initialization
├── __main__.py # Module entry point
├── main.py # CLI application
├── models.py # Data models
└── todo.py # Service layer
License
MIT License - See LICENSE file for details
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
Author
Created as part of the Hackathon II Todo App project
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 hackathon_cli_todo-0.1.0.tar.gz.
File metadata
- Download URL: hackathon_cli_todo-0.1.0.tar.gz
- Upload date:
- Size: 114.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
111043d65a8fcffd1b6e16165d33d1c3cbc3c4f73ace884b4269c26c8af87b42
|
|
| MD5 |
815c71252abb59c23128eab3eda66863
|
|
| BLAKE2b-256 |
aa7bde8ae47dec8621bf3fc55282ea7a5d477d290ff8fc3dd82cfde71dd1b788
|
File details
Details for the file hackathon_cli_todo-0.1.0-py3-none-any.whl.
File metadata
- Download URL: hackathon_cli_todo-0.1.0-py3-none-any.whl
- Upload date:
- Size: 7.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
568cf0625db2d158330e0a3a0ee9f07a9f61dc2e07344f6360894e2b74e11522
|
|
| MD5 |
b9b2a2bfb69aaaca65fe9936cbfbc4df
|
|
| BLAKE2b-256 |
fb43e6eca572eef4c9e9d93b0e3433f51bacfe782b01ee77b071ad9f2f83c455
|