• Implemented a CLI-based time tracking system in Python using session management and data persistence to track developers' coding time and breaks
• Built an extensible visualization module using matplotlib to generate productivity insights through daily charts, time distribution, and weekly heatmaps
• Developed a robust storage system for managing session data with support for historical analysis and real-time tracking
A powerful command-line tool for developers to track coding time, manage breaks, and visualize productivity patterns.
✨ Core Features
- Track development sessions with task descriptions
- Manage breaks during coding sessions
- View detailed session logs and summaries
- Calculate productivity metrics and efficiency
📊 Visualization
- Daily productivity charts
- Time distribution analysis
- Weekly activity heatmaps
- Customizable date ranges
🛠️ Developer-Friendly
- Simple command-line interface
- Persistent data storage
- Configurable settings
- Cross-platform support
pip install devtracker-cli- Start tracking your coding session:
devtracker start "Implementing user authentication"- Take a break:
devtracker break "Coffee break"- Resume coding:
devtracker resume- End your session:
devtracker stop| Command | Description |
|---|---|
devtracker start "task" |
Start a new development session |
devtracker stop |
Stop the current session |
devtracker break "reason" |
Start a break |
devtracker resume |
Resume from break |
devtracker status |
Show current status |
devtracker log |
View today's activity |
devtracker clear |
Clear all session data |
| Command | Description | Options |
|---|---|---|
devtracker daily |
Show daily productivity | -d DAYS, -o OUTPUT_FILE |
devtracker pie |
Show time distribution | -d DAYS, -o OUTPUT_FILE |
devtracker heatmap |
Show activity heatmap | -w WEEKS, -o OUTPUT_FILE |
-d, --days: Number of days to analyze (default: 7)-w, --weeks: Number of weeks to analyze (default: 1)-o, --output: Save chart to file (e.g.,chart.png)
Today's Log (2024-04-12):
==================================================
Task: Implementing user authentication
Start Time: 10:00:00
End Time: 12:30:00
Duration: 2h 30m
Breaks:
- Coffee break
Start: 11:00:00
End: 11:15:00
Duration: 15m
Total Break Time: 15m
==================================================
Today's Summary:
==================================================
Total Sessions: 1
Total Coding Time: 2h 15m
Total Break Time: 15m
Total Breaks: 1
Efficiency: 90.0%
==================================================
# View last 14 days of productivity
devtracker daily -d 14
# Analyze last month's time distribution
devtracker pie -d 30
# View last 4 weeks of activity patterns
devtracker heatmap -w 4# Save daily chart to file
devtracker daily -o productivity.png
# Export time distribution
devtracker pie -o distribution.png
# Save activity heatmap
devtracker heatmap -o heatmap.pngDevTracker stores all session data locally in:
- Windows:
%USERPROFILE%\.devtracker\ - Unix/Mac:
~/.devtracker/
-
"Session already in progress" error
devtracker clear devtracker start "new task" -
"No active break" when resuming
- Ensure you started a break using
devtracker break "reason" - Check current status with
devtracker status
- Ensure you started a break using
Contributions are welcome! Please feel free to submit a Pull Request.
This project is licensed under the MIT License - see the LICENSE file for details.
Aswin M S - GitHub
- Thanks to all future contributors , feel free to contribute .
- Inspired by the need for better developer time tracking