Timetracker-csv
Pandas-friendly time tracking from the CLI, repo by repo
┌────────────────────────────┐ │ 🕒 Timetracker CLI Tool │ │ Track time → CSV → pandas │ └────────────────────────────┘
-
Track time spent on multiple projects, one repo at a time from the CLI
-
CSV files for each project can be combined into a single CSV file for analysis and plotting.
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
activityor 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
- 700+ stars Bartib
- 740+ stars timetrace
- 13k stars ActivityWatch
- 85 stars ti
- 44 stars tim
- 6 stars Jupyter timetracker uses aTimeLogger CSV format
- https://atimelogger.pro/ CSV files
- List of timetrackers in PyPi
- web-based time tracking application
- Wage Labor record:
- jupyter-timetracker - GUI too complex/too close to DB editing tools. No support for clients
- tim CLI only, no idle time detection but uses hledger as a backend!
- salary-timetracker CLI only, tracking bound to git repos, fixed hourly rate but hey it uses CSV files!
- ttrac CLI only, no idle time detection, no support for clients or tasks but uses JSON files!
- tickertock only with a StreamDeck, wants to use cloud service as backend but uses a hardware interface!
- mttt CLI only, no idle time detection but uses plain text files!
- tt-cli CLI only, no idle time detection, no support for clients
- timetracker CLI only, no idle time detection, no support for clients
- 1k stars hamster comes pretty close but seems outdated/abandoned and a little bit too complex
Copyright (C) 2025-present, DV Klopfenstein, PhD. All rights reserved
Metadata
Release files for timetracker-csv 0.8.8
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| timetracker_csv-0.8.8.tar.gz | 89.0 kB | Without provenance | Details for timetracker_csv-0.8.8.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| timetracker_csv-0.8.8-py3-none-any.whl | Python 3 | none | any | Details for timetracker_csv-0.8.8-py3-none-any.whl |
Total release size: 168.4 kB
Release files / timetracker_csv-0.8.8.tar.gz
| Download URL | timetracker_csv-0.8.8.tar.gz |
|---|---|
| Size | 89.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
7a4c02f44a5c6cf66a05018966be5236286ddf03bb117ada6c84a918e734be89
|
|
BLAKE2b-256 checksum How to use checksums |
53c333907494f018789a9b1595c665560e5905e5860d506969cfd9fe93a81174
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.2
|
Release files / timetracker_csv-0.8.8-py3-none-any.whl
| Download URL | timetracker_csv-0.8.8-py3-none-any.whl |
|---|---|
| Size | 79.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
24dc9e2add2daf6116ea32f79240d140fcb1c3d750e23d9e0d00492afb1b6204
|
|
BLAKE2b-256 checksum How to use checksums |
17b72339cc0a5b0d595c59af74421f7264ed2f6d0c76ab42baf90da5050ee824
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.2
|
Security for timetracker-csv 0.8.8
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.