A CLI tool for managing tasks with priorities and statuses.
Project description
📋 Priority Manager
Priority Manager is a Command-Line Interface (CLI) tool for managing tasks with priorities, statuses, tags, and due dates. It's designed to help you organize and prioritize your tasks efficiently with ease of use and flexibility.
🚀 Features
- Add Tasks: Create tasks with descriptions, priorities, due dates, tags, and statuses.
- Edit Tasks: Modify existing tasks interactively.
- List Tasks: Display tasks sorted by priority, with optional filtering by status or tags.
- Search and Filter: Search tasks by keywords or filter them by status and tags.
- Export Tasks: Export tasks to various formats, including CSV, JSON, and YAML.
- Archive Tasks: Archive completed tasks to keep your workspace clean.
- Task Completion: Mark tasks as complete or reopen them if needed.
- Configurable: Customize task directories and settings through a configuration file (
config.yaml).
📦 Installation
You can install Priority Manager from PyPI:
pip install priority-manager
Or upgrade
pip install --upgrade priority-manager
Update pip if Necessary
pip install --upgrade pip
🛠️ Usage
After installation, you can use the priority-manager command. Here are some basic commands:
General Help
priority-manager --help
Add a Task
priority-manager add "Finish the report"
You'll be prompted to provide additional details such as priority, description, due date, tags, and status.
List Tasks
priority-manager ls
List all tasks sorted by priority.
Filter by Status
priority-manager ls --status "In Progress"
Edit a Task
priority-manager edit
You’ll be prompted to select a task and edit its details interactively.
Complete a Task
priority-manager complete
Mark a task as completed.
Archive Tasks
priority-manager archive
Move completed tasks to the archive directory.
Export Tasks
Export tasks to CSV, JSON, or YAML:
priority-manager export --format csv
Available formats: csv, json, yaml.
⚙️ Configuration
config.yaml
The tool uses a config.yaml file for customizable settings. The default config.yaml looks like this:
directories:
tasks_dir: "tasks"
archive_dir: "archive"
test_tasks_dir: "tests/test_tasks"
test_archive_dir: "tests/test_archive"
statuses:
- "To Do"
- "In Progress"
- "Blocked"
- "Complete"
- "Archived"
export_files:
csv: "tasks_export.csv"
json: "tasks_export.json"
yaml: "tasks_export.yaml"
defaults:
description: "No description"
due_date: "No due date"
tags: ""
status: "To Do"
🧪 Testing
Run tests using pytest:
TEST_MODE=true pytest
Ensure all dependencies are installed:
pip install pytest
🤝 Contributing
Contributions are welcome! Here's how you can help:
- Fork the Repository.
- Create a New Branch:
git checkout -b feature-name. - Make Changes and Commit:
git commit -m "Add new feature". - Push to the Branch:
git push origin feature-name. - Create a Pull Request.
📄 License
This project is licensed under the MIT License. See the LICENSE file for details.
📝 Author
David Chincharashvili
Email: davidchincharashvili@gmail.com
GitHub: davidtbilisi
🌟 Acknowledgments
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 priority_manager-0.1.22.tar.gz.
File metadata
- Download URL: priority_manager-0.1.22.tar.gz
- Upload date:
- Size: 12.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.0.1 CPython/3.11.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
89ab3712a67f24a0d730c4011c75099194edb0fbc05fc211ffa1cfbc45a195c3
|
|
| MD5 |
7fda67d3b5504f06974995c767f0badc
|
|
| BLAKE2b-256 |
85afa41e6dc0d3701a223318853b9122e25d2972e287ab696be5fa5e3d83445d
|
File details
Details for the file priority_manager-0.1.22-py3-none-any.whl.
File metadata
- Download URL: priority_manager-0.1.22-py3-none-any.whl
- Upload date:
- Size: 17.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.0.1 CPython/3.11.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
57d869d8817fb69b89aebc86ae9d9a40dfffa201406331d678f4eaf34955fdad
|
|
| MD5 |
f5fff5822f2e424c5cf062ab73e241fd
|
|
| BLAKE2b-256 |
a1e54b3d5df5797fafe077621a9ea13ed91a31c3cd3b74a7b4f963c047312222
|