Skip to content

dvklopfenstein/timetracker

Timetracker-csv

Pandas-friendly time tracking from the CLI, repo by repo

PyPI - Version DOI License Python Version from PEP 621 TOML

┌────────────────────────────┐ │ 🕒 Timetracker CLI Tool │ │ Track time → CSV → pandas │ └────────────────────────────┘


  • Track time spent on multiple projects, one repo at a time from the CLI

  • Time is saved in pandas-friendly plain text CSV files.

  • CSV files for each project can be combined into a single CSV file for analysis and plotting.

timetracker

Advantages

  • Freedom: Libre Software (aka open-source)
  • Simple: Quick to set up
  • Privacy: Own your data
  • Anti-stalking: No invasive tracking ever of keystrokes, browser activity, mouse-clicks, etc., as is done by multitudinous other timetracking apps
  • Human-and-machine-readable: ASCII data stored in CSV (comma-separated values) plaintext files:
    • Ready for pandas, the Python Data Analysis Library for tabular data
    • Editable using many editors, including vim and Notepad++
  • Flexible: Modify your data if you forget to log time
  • Quickview:
    • Current task being recorded
    • Elapsed time spent on the current task
  • No clicking and clicking and clicking on a GUI
  • Go off-line: No required use of the internet or cloud-based services
  • Data field support: Data supported for each time interval includes:
    • A required free-form descriptive message
    • An optional activity or type
    • Any number of optional tags
  • Plays nice: Export data for import by external time-tracking viewers

Quickstart

The name used by this time tracker is determined by the USER environmental variable by default.

1) Initialize a timetracker project

$ cd ~/projects/meetinghouse

$ trk init
Initialized timetracker directory: /home/bez/projects/meetinghouse/.timetracker

2) Start the timer

$ trk start
Timetracker started now: Mon 09:00 AM: 2025-03-24 09:00:00

3) Stop the timer

$ trk stop -m 'Received architectural plans'
Timer stopped at Mon 2025-03-24 12:00:00 PM
Elapsed H:M:S 0:03:00 appended to timetracker_meetinghouse_bez.csv

4) Report my time units for this project

$ trk report
Day  Date        Span     Total  Description
Sun  2025-03-24  03:00    03:00  Received architectural plans

You can also get the total hours that you spent on a project:

$ trk hours
0:03:00 H:M:S or 3.000 hours

Installation

Install with timetracker-csv pip:

$ pip install --upgrade timetracker-csv

Or install from source:

$ git clone [email protected]:dvklopfenstein/timetracker.git
$ cd timetracker
$ pip install .

Other timetrackers

Copyright (C) 2025-present, DV Klopfenstein, PhD. All rights reserved