Skip to main content

Pandas-friendly time tracking from the CLI

Project description

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 git@github.com:dvklopfenstein/timetracker.git
$ cd timetracker
$ pip install .

Other timetrackers

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

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

timetracker_csv-0.8.7.tar.gz (87.7 kB view details)

Uploaded Source

Built Distribution

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

timetracker_csv-0.8.7-py3-none-any.whl (76.5 kB view details)

Uploaded Python 3

File details

Details for the file timetracker_csv-0.8.7.tar.gz.

File metadata

  • Download URL: timetracker_csv-0.8.7.tar.gz
  • Upload date:
  • Size: 87.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.2

File hashes

Hashes for timetracker_csv-0.8.7.tar.gz
Algorithm Hash digest
SHA256 b42e3f018f6b231f488332be90a9561112b765f921a78ac38251b77d5cabfe68
MD5 5dea0e71761ad39c0b3798fe61b14c3f
BLAKE2b-256 cf153df3774c2f25399319f44281d2b6c0061bc10ddfdf247723c07aa0a81373

See more details on using hashes here.

File details

Details for the file timetracker_csv-0.8.7-py3-none-any.whl.

File metadata

File hashes

Hashes for timetracker_csv-0.8.7-py3-none-any.whl
Algorithm Hash digest
SHA256 eb607b6f8cb8ed4a5271e8d79a2939bc31ffec9bd90483749fb3f900ea3e6836
MD5 0becdf031c110f98bf592acc8b990c70
BLAKE2b-256 46eeb037e418be3240cefb8c322aca2e114e40d11bd12279db2001bb07b203e4

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