Skip to main content

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:

  1. Fork the Repository.
  2. Create a New Branch: git checkout -b feature-name.
  3. Make Changes and Commit: git commit -m "Add new feature".
  4. Push to the Branch: git push origin feature-name.
  5. 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

  • Built with Click for CLI functionality.
  • YAML parsing powered by PyYAML.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

priority_manager-0.1.20.tar.gz (12.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

priority_manager-0.1.20-py3-none-any.whl (16.1 kB view details)

Uploaded Python 3

File details

Details for the file priority_manager-0.1.20.tar.gz.

File metadata

  • Download URL: priority_manager-0.1.20.tar.gz
  • Upload date:
  • Size: 12.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.11.10

File hashes

Hashes for priority_manager-0.1.20.tar.gz
Algorithm Hash digest
SHA256 d293a59e384cd2da54317cbb8f0a8f6e34a099a5b9e854fc9c5c19cb7e3ee8ef
MD5 83e7e7ce4a3e7fce8dee9b6ef2457229
BLAKE2b-256 ed9a5f01f61bc4555ad51bdf951969c5c55e9abb9edd531be415a8785aad52c6

See more details on using hashes here.

File details

Details for the file priority_manager-0.1.20-py3-none-any.whl.

File metadata

File hashes

Hashes for priority_manager-0.1.20-py3-none-any.whl
Algorithm Hash digest
SHA256 8c5e2979bdc77e4c74203aa636d3fa74811d7093e35108514336cf7dd895bfc7
MD5 a6ce501bf9eeb333db9f47b052d8309f
BLAKE2b-256 5f7ac4e4a325fcef1e35ca784c2a952e05d987cac942d97fc59c6cfdd6c98384

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page