Smart Project Manager is a desktop application for comprehensive project and task management, built with Python and PyQt5. It provides a hierarchical system for organizing projects, tasks, and subtasks, featuring visual labels, automatic progress tracking, and a dark-themed user interface.
- Author: Alexander Suvorov
- GitHub: smartlegionlab
By using this software, you agree to the full disclaimer terms.
Summary: Software provided "AS IS" without warranty. You assume all risks.
Full legal disclaimer: See DISCLAIMER.md
- Create, edit, and delete projects with name, version, and description.
- Hierarchical structure: Projects → Tasks → Subtasks.
- Automatic progress calculation for each project based on task completion.
- Create tasks and subtasks with titles, descriptions, priorities (High/Medium/Low), and optional due dates.
- Automatic completion logic: A task is marked as complete when all its subtasks are completed.
- Toggle completion status for tasks and subtasks directly from the main interface.
- Create custom labels with name, color, and description.
- Assign labels to both tasks and subtasks for categorization and filtering.
- Dedicated Label Manager dialog for creating, editing, and deleting labels.
- Visual progress bars for tasks, subtasks, and overall projects.
- Real-time global statistics dashboard showing counts and completion rates for all entities.
- Detailed project progress panel showing task/subtask counts and last update time.
- Dark theme optimized for extended use.
- Two-panel layout: Project tree on the left, task table and details on the right.
- Context menus for quick task actions (view, edit, mark complete, delete).
- Interactive tables with buttons for editing, deleting, and toggling status.
- Automatic saving to
~/.smart_project_manager/projects.json. - JSON-based storage for projects, tasks, subtasks, and labels.
- Data is automatically loaded on application startup.
- Python 3.7 or higher
- Required Python packages:
PyQt5
-
Clone the Repository:
git clone https://github.com/smartlegionlab/smart-project-manager.git cd smart-project-manager -
Install Dependencies: It is recommended to use a virtual environment.
pip install -r requirements.txt
-
Run the Application: Execute the main entry point:
python app.py
- Create a Project: Use
File → New Projector the "New Project" button. - Select a Project: Click on a project in the left panel to view and manage its tasks.
- Create a Task: With a project selected, use
File → New Taskor the "New Task" button. - Add Subtasks: Edit a task and navigate to the "Subtasks" tab to add detailed steps.
- Manage Labels: Use
Edit → Manage Labelsto create and organize your label system.
Ctrl+N: New ProjectCtrl+T: New TaskCtrl+B: Create BackUpCtrl+I: ImportCtrl+Shift+E: ExportCtrl+E: Edit Selected ProjectCtrl+D: Delete Selected ProjectCtrl+L: Manage LabelsF5: Refresh ViewF1: Open HelpCtrl+Q: Exit Application
This project is licensed under the BSD 3-Clause License. See the LICENSE file in the project
repository for full details.
The following features are identified in the code as future implementation targets:
- Task Filtering System - The "Show Completed Tasks" toggle in the
Viewmenu is implemented as a placeholder. Future implementation will:- Enable filtering of completed vs. pending tasks in the task table
- Provide additional filtering options (by priority, due date, labels, etc.)
- Persist filter settings between sessions
Copyright (©) 2026, Alexander Suvorov. All rights reserved.
