Skip to main content

A CLI tool for managing tasks with priorities and statuses.

Project description

Priority Manager CLI

A command-line tool for managing tasks with features like adding, editing, listing, searching, filtering, exporting to CSV, and archiving tasks. Designed for compatibility with Obsidian.md by storing tasks in Markdown files.

Project Structure

priority_manager/
├── main.py
├── commands/
│   ├── __init__.py
│   ├── add.py
│   ├── edit.py
│   ├── list_tasks.py
│   ├── export_csv.py
│   └── search_filter.py
└── utils/
    ├── __init__.py
    ├── helpers.py
    └── logger.py

Features

  1. Add Task: Add a new task with a calculated priority, description, and due date.
  2. Edit Task: Edit task details (name, description, due date, and priority).
  3. List Tasks: List tasks sorted by priority score.
  4. Search Tasks: Search tasks by keyword.
  5. Filter Tasks: Filter tasks by a specified priority range.
  6. Export to CSV: Export all tasks to a CSV file.
  7. Archive Task: Move tasks to an archive folder instead of deleting them.
  8. Logging: All actions are logged in log.txt.

Installation

  1. Clone the Repository:

    git clone https://github.com/DavidTbilisi/PriorityManager.git
    cd priority_manager
    
  2. Set Up a Virtual Environment:

    python -m venv venv
    source venv/bin/activate  # On Windows: venv\\Scripts\\activate
    
  3. Install Dependencies:

    pip install -r requirements.txt
    

Usage

Activate the virtual environment if it's not already active:

source venv/bin/activate  # On Windows: venv\\Scripts\\activate

Run the main.py script followed by the desired command.

1. Add a Task

python main.py add "Task Name"

You'll be prompted to enter:

  • Urgency (1-5)
  • Importance (1-5)
  • Effort (1-5)
  • Description
  • Due Date (YYYY-MM-DD)

2. Edit a Task

python main.py edit

Select the task you want to edit and update the details as prompted.

3. List Tasks

python main.py ls

Lists all tasks sorted by their priority score.

4. Search Tasks by Keyword

python main.py search <keyword>

Example:

python main.py search urgent

5. Filter Tasks by Priority Range

python main.py filter-tasks --min-priority 10 --max-priority 20

6. Export Tasks to CSV

python main.py export-csv

Exports all tasks to tasks_export.csv.

7. Archive a Task

python main.py archive

Moves the selected task to the archive folder.


Directory Structure

  • Tasks are stored in the tasks directory as Markdown (.md) files.
  • Archived Tasks are moved to the archive directory.
  • Logs are saved in log.txt.

Example Task File Format

# Task Title

**Description:** This is a sample task description.

**Priority Score:** 15

**Due Date:** 2024-12-31

**Date Added:** 2024-06-01T14:30:00

**Status:** Incomplete

License

This project is licensed under the MIT License.

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.9.tar.gz (9.6 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.9-py3-none-any.whl (14.2 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: priority_manager-0.1.9.tar.gz
  • Upload date:
  • Size: 9.6 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.9.tar.gz
Algorithm Hash digest
SHA256 6e9b4b4ca388492beaecc9e89af5f1bdb3411a1059e9a6f8b0403319d6b7d0b2
MD5 2065e6b9787ee8f03cd45f54f2c2576b
BLAKE2b-256 f7deeba0a844ff8a47c0ad1fc7dc71d62b2b79913cd15671f80c79814d9fcc78

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for priority_manager-0.1.9-py3-none-any.whl
Algorithm Hash digest
SHA256 1289eede4ae161153efa886da6b7e7891280061c323973d63530fd11af34f706
MD5 a4beaf8bd2713a5f39496d27b32545d3
BLAKE2b-256 5917f74440978d7687a4be0c3f3dec7f117474f35b3334dff00b4490e8b06baa

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