Skip to main content

A command-line tool to track development time and breaks

Project description

DevTracker

PyPI version Python Versions License: 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

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

  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 contributors
  • Inspired by the need for better developer time tracking

Changelog

See CHANGELOG.md for version history.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

devtracker-cli-0.1.0.tar.gz (11.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

devtracker_cli-0.1.0-py3-none-any.whl (10.7 kB view details)

Uploaded Python 3

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

Hashes for devtracker-cli-0.1.0.tar.gz
Algorithm Hash digest
SHA256 acb972a753693e82fb996489ca7d092070419acd6d5a8c9d8065bad2c888de28
MD5 eed968d399626c76db7a75639df0b48d
BLAKE2b-256 c3d794d4a74a91b1a611a1875eed39129c4678bfcc1fb42822c3d0aa2532664e

See more details on using hashes here.

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

Hashes for devtracker_cli-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 b0516075746bec5b53758eaa489402a02dcb17c9d1f09882ea64dcffad379097
MD5 0d2bf6d70374769951c12c1f75c10dad
BLAKE2b-256 7e17016adb1a076acbe54fd7303d680926d89b784bb6b66c30817c06ad236652

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page