A priority plotting application with PyQt6
Project description
🎯 PriPlot - Interactive Task Priority Visualization
Transform your task management with interactive priority plotting
Features • Installation • Quick Start • Usage • Contributing
🌟 Overview
PriPlot is a modern, intuitive desktop application that revolutionizes how you prioritize tasks and goals. By visualizing tasks on an interactive Value vs. Time plot, you can instantly identify high-impact, low-effort opportunities and make data-driven decisions about where to focus your energy.
Why PriPlot?
- 📊 Visual Priority Matrix: See all your tasks plotted by value and time investment
- 🖱️ Interactive Drag & Drop: Easily adjust task priorities with your mouse
- 🎨 Modern Dark UI: Beautiful, professional interface that's easy on the eyes
- 📋 Bulk Import: Add multiple tasks from clipboard or use test data
- 📈 Smart Sorting: Automatically calculates and ranks tasks by priority score
- 📊 Export Ready: Export your prioritized tasks to Excel for sharing
- ⚡ Instant Feedback: Real-time priority calculations as you adjust values
✨ Features
🎯 Core Functionality
- Interactive Priority Plotting: Drag tasks around the value/time matrix
- Smart Priority Calculation: Automatic ranking based on value-to-time ratio
- Multi-Tab Interface: Separate views for input, plotting, and results
- Hover Tooltips: See task details without clicking
📊 Data Management
- Flexible Input: Add tasks one by one or import from clipboard
- Test Data Generator: Pre-loaded sample tasks for quick testing
- Excel Export: Professional spreadsheet output with priority rankings
- Real-time Updates: See priority changes instantly as you adjust positions
🎨 User Experience
- Modern Dark Theme: Professional appearance with excellent contrast
- Responsive Design: Smooth interactions and visual feedback
- Intuitive Controls: No learning curve - just drag and prioritize
- Cross-Platform: Works on Windows, macOS, and Linux
🚀 Installation
From PyPI (Recommended)
pip install priorityplot
From Source
git clone https://github.com/yourusername/priorityplot.git
cd priorityplot
pip install -e .
Requirements
- Python: 3.8 or higher
- Operating System: Windows, macOS, or Linux
- Dependencies: Automatically installed with pip
⚡ Quick Start
-
Install PriPlot:
pip install priorityplot
-
Launch the application:
priorityplot
-
Add your tasks in the "Input Goals" tab
-
Visualize and prioritize in the "Plot" tab by dragging tasks
-
Export your results from the "Table" tab
📖 Usage
Adding Tasks
Method 1: Manual Entry
- Open the "Input Goals" tab
- Type your task name
- Click "Add Goal"
- Repeat for all tasks
Method 2: Clipboard Import
- Copy a list of tasks (one per line) to your clipboard
- Click "Add Goals from Clipboard"
- All tasks will be imported automatically
Method 3: Test Data
- Click "Add Test Goals" to load sample tasks
- Perfect for exploring the application features
Interactive Prioritization
- Switch to the "Plot" tab after adding tasks
- Drag tasks around the plot:
- Right side: Higher value tasks
- Bottom: Lower time investment tasks
- Bottom-right: High-value, low-time (highest priority!)
- Hover over points to see task details
- Watch the priority scores update in real-time
Exporting Results
- Click "Apply" to generate the priority table
- Switch to the "Table" tab to see ranked results
- Click "Export to Excel" to save your prioritized task list
- Share with your team or use for planning
🎨 Interface Guide
Value Axis (X-axis)
- 1-2: Low value tasks
- 3-4: Medium value tasks
- 5-6: High value tasks
Time Axis (Y-axis)
- 1-2 hours: Quick tasks
- 3-4 hours: Medium effort
- 5+ hours: Major time investment
Priority Quadrants
- Top-Left: Low value, high time (avoid these!)
- Top-Right: High value, high time (plan carefully)
- Bottom-Left: Low value, low time (fill-in tasks)
- Bottom-Right: High value, low time (do these first!)
🛠️ Development
Setting Up Development Environment
git clone https://github.com/yourusername/priorityplot.git
cd priorityplot
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
pip install -e .
Running from Source
python -m priorityplot.main
🤝 Contributing
We welcome contributions! Here's how you can help:
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
Areas for Contribution
- 🐛 Bug fixes and improvements
- ✨ New features and enhancements
- 📚 Documentation improvements
- 🎨 UI/UX enhancements
- 🧪 Test coverage expansion
📄 License
This project is licensed under the MIT License - see the LICENSE file for details.
🙏 Acknowledgments
- Built with PyQt6 for the modern GUI
- Plotting powered by Matplotlib
- Data handling with NumPy and OpenPyXL
📞 Support
- 🐛 Bug Reports: GitHub Issues
- 💡 Feature Requests: GitHub Discussions
- 📧 Email: your.email@example.com
Made with ❤️ for better productivity
⭐ Star this repo if you find it helpful!
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 priorityplot-0.1.1.tar.gz.
File metadata
- Download URL: priorityplot-0.1.1.tar.gz
- Upload date:
- Size: 57.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e83c115886057aff13f20ffe9ce81068e87c8e010a0286ae948006b086f32940
|
|
| MD5 |
5eb6c628c16caab6612ac58597e5447b
|
|
| BLAKE2b-256 |
01cf2830cc62b5fe1bf7d147a986f5d9c46e96f11912f7fd2dcfca1dadb899f1
|
File details
Details for the file priorityplot-0.1.1-py3-none-any.whl.
File metadata
- Download URL: priorityplot-0.1.1-py3-none-any.whl
- Upload date:
- Size: 10.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
801ee97908064eeff8440c52f51bc24c7c26ced6f96a784a32cfe21b4cc36556
|
|
| MD5 |
567cfc91a6dcd7542da691ddcd2f2373
|
|
| BLAKE2b-256 |
a0677f18167251e74fcbbc17da84f1d5b1c2d242a4aead76dfdc3789c6c081ee
|