Skip to content

Repository files navigation

DevTracker

PyPI versionPython VersionsLicense: MIT

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

  1. Start tracking your coding session:
devtracker start "Implementing user authentication"
  1. Take a break:
devtracker break"Coffee break"
  1. Resume coding:
devtracker resume
  1. End your session:
devtracker stop

Usage Guide

Basic Commands

CommandDescription
devtracker start "task"Start a new development session
devtracker stopStop the current session
devtracker break "reason"Start a break
devtracker resumeResume from break
devtracker statusShow current status
devtracker logView today's activity
devtracker clearClear all session data

Visualization Commands

CommandDescriptionOptions
devtracker dailyShow daily productivity-d DAYS, -o OUTPUT_FILE
devtracker pieShow time distribution-d DAYS, -o OUTPUT_FILE
devtracker heatmapShow 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

  1. "Session already in progress" error

    devtracker clear
    devtracker start "new task"
  2. "No active break" when resuming

    • Ensure you started a break using devtracker break "reason"
    • Check current status with devtracker status

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 future contributors , feel free to contribute .
  • Inspired by the need for better developer time tracking

About

A powerful CLI tool for developers to track coding time, manage breaks, and visualize productivity patterns. Features daily charts, time distribution analysis, and weekly heatmaps to help optimize your development workflow.

Topics

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages