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.8.tar.gz (89.0 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.8-py3-none-any.whl (79.4 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for timetracker_csv-0.8.8.tar.gz
Algorithm Hash digest
SHA256 7a4c02f44a5c6cf66a05018966be5236286ddf03bb117ada6c84a918e734be89
MD5 01b0502d86ef2c5d8d1c31f316a3f191
BLAKE2b-256 53c333907494f018789a9b1595c665560e5905e5860d506969cfd9fe93a81174

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for timetracker_csv-0.8.8-py3-none-any.whl
Algorithm Hash digest
SHA256 24dc9e2add2daf6116ea32f79240d140fcb1c3d750e23d9e0d00492afb1b6204
MD5 cf7bd70b852e755381b81e030e04dbc4
BLAKE2b-256 17b72339cc0a5b0d595c59af74421f7264ed2f6d0c76ab42baf90da5050ee824

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