Skip to main content

A personal time-tracking system

Project description

Worklog

A personal time-tracking system.

Worklog provides a simple mechanism for logging in and out of accounts which are billed for time elapsed. The author, a professor, uses it to bill time to various commitments. Some really are paid hourly (e.g. consulting), but most are not. The primary use is to track and analyze how time is spent.

Installation

Worklog can be easily installed using pipx:

pipx install worklog-cli

You will also need to install hledger.

Usage

If you are just getting started, make a list of the ways you spend time (or at least those you want to track). If you want to nest accounts, separate them with colons. For example, here are a few of my accounts:

 research:grants
 research:projects
 research:pubs
 research:reading
 research:lab
 teaching:planning
 service:advising
 identity:website
 identity:network
 overhead:email
 overhead:waste
 overhead:admin

Now run work. You will be asked to log in to an account, and then to enter a description of the work you are doing. (Accounts can be auto-completed using tab.)

% work
Log in to account: academic:code
Work description: Writing the Worklog README
[Enter to log out]

Press enter when you finish that work session, and you will be prompted to log in to another account. Press Control + C when you are finished. That's it!

Commands

The base command is work, which enters a loop for logging in and out of accounts. There are several other modes available:

  • work --report shows recent work statistics and quits.
  • work --edit opens the current worklog for editing. Sometimes I find I need to edit the worklog to add a work session or change times (for example, if I forgot to log out before going to bed).
  • work --archive archives the current worklog at the given filename and starts a new worklog. If you plan to log your work over time, I suggest you keep your log files in version control.

Configuration

Worklog relies on a simple configuration file which will be automatically created at ~/.worklog/worklog.config by default.

[WORKLOG]
logfile = /Users/me/.worklog/worklog.timeclock
editor = vim

Formats

Worklog relies on hledger, a Haskell implementation of ledger, for double-entry bookkeeping which regards time as a resource just like money. One main design goal of this system is a human-readable ledger format which can also be parsed by scripts.

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

worklog_cli-1.0.0.tar.gz (3.9 kB view details)

Uploaded Source

Built Distribution

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

worklog_cli-1.0.0-py3-none-any.whl (5.2 kB view details)

Uploaded Python 3

File details

Details for the file worklog_cli-1.0.0.tar.gz.

File metadata

  • Download URL: worklog_cli-1.0.0.tar.gz
  • Upload date:
  • Size: 3.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.1.3 CPython/3.13.3 Darwin/24.5.0

File hashes

Hashes for worklog_cli-1.0.0.tar.gz
Algorithm Hash digest
SHA256 8d6c9f93a782c0e391c39c705ac898fd4279411a8ec6f5f8ffd11ea746bdb8b3
MD5 1c63fa081982e81f82b930d20d7dd54c
BLAKE2b-256 8b31d85067fa99fb3cf6aed71d6f884d7afe22c351ed134e2cf3c57678624c13

See more details on using hashes here.

File details

Details for the file worklog_cli-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: worklog_cli-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 5.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.1.3 CPython/3.13.3 Darwin/24.5.0

File hashes

Hashes for worklog_cli-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 20adb005978bd176c69e016534394a8fc115f443025cde3540800318a57d21e8
MD5 1effb5362c40506bcfc5748716d98d9a
BLAKE2b-256 e61464f62b5e96fd046ae81c58f854e8561ececd6b0c1ead2318012f359b61d6

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