A command-line tool to track development time and breaks
Project description
DevTracker
Development Time Tracking with Productivity Analytics
• 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.
Features
✨ 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
Installation
pip install devtracker-cli
Quick Start
- 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
Usage Guide
Basic Commands
| 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 |
Visualization Commands
| 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 |
Options
-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)
Example Outputs
Session Log
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%
==================================================
Advanced Usage
Time Range Analysis
# 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
Saving Visualizations
# 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.png
Data Storage
DevTracker stores all session data locally in:
- Windows:
%USERPROFILE%\.devtracker\ - Unix/Mac:
~/.devtracker/
Troubleshooting
Common Issues
-
"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
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
License
This project is licensed under the MIT License - see the LICENSE file for details.
Author
Aswin M S - GitHub
Acknowledgments
- Thanks to all contributors
- Inspired by the need for better developer time tracking
Changelog
See CHANGELOG.md for version history.
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 devtracker-cli-0.1.0.tar.gz.
File metadata
- Download URL: devtracker-cli-0.1.0.tar.gz
- Upload date:
- Size: 11.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
acb972a753693e82fb996489ca7d092070419acd6d5a8c9d8065bad2c888de28
|
|
| MD5 |
eed968d399626c76db7a75639df0b48d
|
|
| BLAKE2b-256 |
c3d794d4a74a91b1a611a1875eed39129c4678bfcc1fb42822c3d0aa2532664e
|
File details
Details for the file devtracker_cli-0.1.0-py3-none-any.whl.
File metadata
- Download URL: devtracker_cli-0.1.0-py3-none-any.whl
- Upload date:
- Size: 10.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b0516075746bec5b53758eaa489402a02dcb17c9d1f09882ea64dcffad379097
|
|
| MD5 |
0d2bf6d70374769951c12c1f75c10dad
|
|
| BLAKE2b-256 |
7e17016adb1a076acbe54fd7303d680926d89b784bb6b66c30817c06ad236652
|