Skip to main content

🎯 FocusCLI

PyPI version License: MIT Python 3.7+

A minimal productivity tool for developers who want to manage tasks and stay focused without leaving the terminal.

✨ Features

  • Task Management: Add, list, complete, and delete tasks with a clean interface
  • Pomodoro Timer: Built-in focus timer with live progress tracking
  • Beautiful UI: Powered by Rich library for colorful tables and progress bars
  • Simple Storage: Tasks saved locally in JSON format
  • Zero Config: Works right out of the box

🚀 Installation

Install directly from PyPI:

pip install focuscli

From Source

Clone the repository and install:

git clone https://github.com/eneswritescode/focuscli.git
cd focuscli
pip install -e .

Requirements

  • Python 3.7 or higher
  • Dependencies will be installed automatically

🎬 Quick Start

# Install
pip install focuscli

# Add some tasks
focuscli add "Review pull requests"
focuscli add "Write documentation"
focuscli add "Fix bug in login"

# See your tasks
focuscli list

# Complete a task
focuscli complete 1

# Start a 25-minute focus session
focuscli timer

📖 Usage

Add a task

focuscli add "Write documentation"
focuscli add "Fix bug in login page"

List all tasks

focuscli list

Output example:

┏━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━┓
┃ ID     ┃ Task                 ┃  Status   ┃
┡━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━┩
│ 1      │ Write documentation  │ ○ Pending │
│ 2      │ Fix bug in login page│ ○ Pending │
└────────┴──────────────────────┴───────────┘

Complete a task

focuscli complete 1

Delete a task

focuscli delete 2

Start a focus timer

# Default 25-minute session
focuscli timer

# Custom duration (in minutes)
focuscli timer 45

Windows Note: If focuscli command is not found after installation, you may need to add Python Scripts to your PATH or use:

python -m focuscli.main <command>

🛠️ Development

Setup development environment

python -m venv venv
source venv/bin/activate  # On Windows: venv\Scripts\activate
pip install -r requirements.txt

Run locally

python -m focuscli.main add "Test task"
python -m focuscli.main list

📂 Project Structure

focuscli/
├── focuscli/
│   ├── __init__.py
│   ├── main.py      # CLI entry point
│   ├── tasks.py     # Task management logic
│   ├── timer.py     # Pomodoro timer
│   └── storage.py   # JSON file handling
├── requirements.txt
├── setup.py
└── README.md

🤝 Contributing

Contributions are welcome! Here's how you can help:

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add some feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

💡 Ideas for Future Features

  • Task priorities and tags
  • Weekly/monthly reports
  • Export tasks to different formats
  • Break reminders after focus sessions
  • Integration with calendar apps

📝 License

MIT License - feel free to use this project however you want.

🙏 Acknowledgments

Built with:

  • Typer - Modern CLI framework
  • Rich - Beautiful terminal formatting

Made with ☕ by developers, for developers

Star this repo if you find it helpful! ⭐

Metadata

Release files for focuscli 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for focuscli 0.1.0
File Size Uploaded
focuscli-0.1.0.tar.gz 6.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for focuscli 0.1.0
File Interpreter ABI Platform
focuscli-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 13.7 kB

Release files / focuscli-0.1.0.tar.gz

Download URL focuscli-0.1.0.tar.gz
Size 6.5 kB
Tags Source
SHA-256 checksum
How to use checksums
cc4005fc78204b2c76f092ba3f5739c6fc6b0bd0980071af062f36b3e3724658
BLAKE2b-256 checksum
How to use checksums
16ac42bf8e9be7aa536b4657e9ce129becf32af469f31bf49390987b718d320d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.2

Release files / focuscli-0.1.0-py3-none-any.whl

Download URL focuscli-0.1.0-py3-none-any.whl
Size 7.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
172d17ed8d2a310ac4400a53bd482d74e42cac6171790626cdb341b91177e0da
BLAKE2b-256 checksum
How to use checksums
857d5ad03d4e81b99d9213576715e7d16a071ee591dddf6acd7f12fef2fdbcfe
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.2

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page