Transform your task management with interactive priority plotting
Features β’ Installation β’ Quick Start β’ Usage β’ Contributing
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.
- π 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
- Interactive Priority Plotting: Drag tasks around the value/time matrix
- Smart Priority Calculation: Automatic ranking based on value-to-time ratio
- Calendar Scheduling: Drag and drop tasks to schedule them on specific dates
- Direct Calendar Task Creation: Create new tasks directly from the calendar view
- Multi-Tab Interface: Separate views for input, plotting, and results
- Hover Tooltips: See task details without clicking
- Flexible Input: Add tasks one by one or import from clipboard
- Calendar Task Creation: Create and schedule tasks directly from the calendar
- Test Data Generator: Pre-loaded sample tasks for quick testing
- Excel Export: Professional spreadsheet output with priority rankings and schedules
- Real-time Updates: See priority changes instantly as you adjust positions
- 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
pip install priorityplotgit clone https://github.com/oyvinrog/priorityplot.git
cd priorityplot
pip install -e .- Python: 3.8 or higher
- Operating System: Windows, macOS, or Linux
- Dependencies: Automatically installed with pip
git clone https://github.com/oyvinrog/priorityplot.git
cd priorityplot
./run_priplot.shThe launcher script will automatically:
- Set up a virtual environment if needed
- Install all dependencies
- Launch the application
-
Install PriPlot:
pip install priorityplot
-
Launch the application:
priorityplot
git clone https://github.com/oyvinrog/priorityplot.git
cd priorityplot
python3 -m venv fresh_venv
source fresh_venv/bin/activate
pip install -r requirements.txt
python -m priorityplot.mainpython3 -m venv build_env
source build_env/bin/activate
pip install -r requirements.txt
pip install pyinstaller
./build_pyinstaller.shThe executable will be created in dist/ (for example dist/priorityplot or dist/priorityplot.exe).
Releases automatically build executables for macOS, Windows, and Linux via .github/workflows/build-executables.yml.
Artifacts are attached to the GitHub Release and also available in the workflow run, including installers:
- Windows: NSIS installer (
PriorityPlot_<version>.exe) - macOS: DMG (
priorityplot_<version>_macos.dmg) - Linux: DEB (
priorityplot_<version>_<arch>.deb)
-
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
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
Method 4: Calendar Task Creation β¨ NEW
- Select any date on the calendar (right panel)
- Click the green "β Add Task" button
- Fill out the task creation dialog:
- Task Name: Enter a descriptive name
- Value: 1.0-5.0 (importance/impact)
- Time: 0.5-8.0 (hours needed)
- Start/End Times: When you want to work on it
- Click OK to create and automatically schedule the task
- Task appears in both priority chart and calendar (bold dates show scheduled tasks)
Drag and Drop Scheduling
- After adding tasks, drag any task from the priority ranking table
- Drop it onto any date in the calendar
- Choose your preferred start and end times in the dialog
- Tasks are automatically scheduled and appear in green on the chart
Calendar Features
- Bold Dates: Days with scheduled tasks appear in bold
- Task List: Click any date to see tasks scheduled for that day
- Time Management: Set specific start and end times for each task
- Visual Indicators: Green dots on chart indicate scheduled tasks
- Clear Schedules: Remove task schedules with the "Clear Selected" button
- 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
- 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 with calendar schedules
- Share with your team or use for planning
- 1-2: Low value tasks
- 3-4: Medium value tasks
- 5-6: High value tasks
- 1-2 hours: Quick tasks
- 3-4 hours: Medium effort
- 5+ hours: Major time investment
- 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!)
git clone https://github.com/oyvinrog/priplot.git
cd priorityplot
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
pip install -e .python -m priorityplot.mainWe 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
- π Bug fixes and improvements
- β¨ New features and enhancements
- π Documentation improvements
- π¨ UI/UX enhancements
- π§ͺ Test coverage expansion
This project is licensed under the MIT License - see the LICENSE file for details.
- Built with PyQt6 for the modern GUI
- Plotting powered by Matplotlib
- Data handling with NumPy and OpenPyXL
- π Bug Reports: GitHub Issues
- π‘ Feature Requests: GitHub Discussions
- π§ Email: oyvinrog@example.com
Made with β€οΈ for better productivity
β Star this repo if you find it helpful!
