📋 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.
- Sync with Microsoft To Do: Synchronize tasks with a dedicated list in Microsoft To Do.
- 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.
Sync with Microsoft To Do
Synchronize local tasks with your Microsoft To Do list. Set the MS_TODO_TOKEN environment variable with a valid Microsoft Graph token before running:
priority-manager sync
⚙️ 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
Metadata
Release files for priority-manager 0.1.26
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| priority_manager-0.1.26.tar.gz | 30.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| priority_manager-0.1.26-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 72.4 kB
Release files / priority_manager-0.1.26.tar.gz
| Download URL | priority_manager-0.1.26.tar.gz |
|---|---|
| Size | 30.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
af09bdd992377a6aa99fe06abdfdcd0ccf0796612b6f96f66b6125e9a1b9bd84
|
|
BLAKE2b-256 checksum How to use checksums |
096771fb6612a51eee501ae10669d7d018e3f02020de5f4b6ee7c50c76fe41f7
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.1
|
Release files / priority_manager-0.1.26-py3-none-any.whl
| Download URL | priority_manager-0.1.26-py3-none-any.whl |
|---|---|
| Size | 42.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
4452254e8ec9c59774923d52ffe28428dea8f6a98f1939c7470f1ee135d55c72
|
|
BLAKE2b-256 checksum How to use checksums |
5b3bdfb63e565d7cbef1430213596e0a7916289162703a2fe6665b93bb818e97
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.1
|