Skip to main content

A CLI task time tracker loosely based on org-mode

Project description

rata: raw time tracker

Terminal based time tracker with git versioning running on python 3 and urwid.

alt text

It suits people who only want to track the name, duration, start and end time of tasks they worked on, e.g. for billing a project per hour. A simple to use replacement for emacs org-mode respectively vim-dotoo.

It's my first urwid project and there is no test coverage. Use at own risk, though it commits all changes directly to git. So you should always be able to recover your entries.

Features

  • runs in the terminal and adjusts to terminal size
  • track time per task in a single text-based file
  • quickly change between, add and rename tasks
  • shows when you started tracking, since when you are tracking and total duration tracked per task
  • edit previous records with check for overlaps
  • keep track of all changes through automatic git commits
  • sort by duration/name/most recently worked on
  • output file loosely based on org-mode, fully text-based. Though please do not try to add something other than time records to the file. Rata won't be able to read it.

Installation

pip install rata

Usage

rata requires a file name in a git-versioned folder. It will create a new commit for any change.

git init ~/timerecords
rata ~/timerecords/projectFoo.txt

Key-bindings

Main view

  • Enter: Start/Stop tracking task under cursor
  • up/down: Move cursor over task list
  • right: Show and edit list of time records of task under cursor
  • n: Add new task and start tracking it
  • r: Rename task under cursor
  • s: Start/Stop current/last track (independant of cursor position)
  • o: Toggle sorting: by name, total task duration, most recently tracked
  • q: Quit program

Edit mode

  • Enter: Edit record under cursor (modify the timestamps and confirm with Enter again)
  • h: Quick-edit: Move start time under cursor 1 minute ahead
  • j: Quick-edit: Move start time under cursor 1 minute back
  • k: Quick-edit: Move end time under cursor 1 minute ahead
  • l: Quick-edit: Move end time under cursor 1 minute back
  • Esc: Go back to main view

New task mode

  • Enter a name for your new task
  • Enter: Confirm
  • Esc: Go back to main view

Sample output file

* Client support
:LOGBOOK:
CLOCK: [2020-12-27 10:22:10] -- [2020-12-27 11:30:11]
CLOCK: [2020-12-24 09:30:03] -- [2020-12-24 10:40:06]
:END:
* On-site meetings
:LOGBOOK:
CLOCK: [2020-12-20 13:44:11] -- [2020-12-20 16:50:14]
CLOCK: [2020-12-25 15:00:07] -- [2020-12-25 17:38:10]

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

rata-pkg-belugame-0.0.1.tar.gz (10.3 kB view details)

Uploaded Source

Built Distribution

rata_pkg_belugame-0.0.1-py3-none-any.whl (11.7 kB view details)

Uploaded Python 3

File details

Details for the file rata-pkg-belugame-0.0.1.tar.gz.

File metadata

  • Download URL: rata-pkg-belugame-0.0.1.tar.gz
  • Upload date:
  • Size: 10.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.6.1 requests/2.25.1 setuptools/51.1.0 requests-toolbelt/0.9.1 tqdm/4.55.1 CPython/3.9.1

File hashes

Hashes for rata-pkg-belugame-0.0.1.tar.gz
Algorithm Hash digest
SHA256 a1cc34b834e32f14cd62c0dc60e09a6530a6b46f27da3cf80f118148cd8e5e6b
MD5 6e4a5c479caee48a7542ae7caf112201
BLAKE2b-256 18995a8b80b81c3c0da2111d1689e72156ac634a03ddfdd2c8966ebec33890b4

See more details on using hashes here.

File details

Details for the file rata_pkg_belugame-0.0.1-py3-none-any.whl.

File metadata

  • Download URL: rata_pkg_belugame-0.0.1-py3-none-any.whl
  • Upload date:
  • Size: 11.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.6.1 requests/2.25.1 setuptools/51.1.0 requests-toolbelt/0.9.1 tqdm/4.55.1 CPython/3.9.1

File hashes

Hashes for rata_pkg_belugame-0.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 abb281a42cee01236e4eb149e5c85bad28c3b286ac6df9ac14c9196ea5f1d81c
MD5 cb86877796a216cc45e7781424339983
BLAKE2b-256 cf8e4edc06038721913ee760aef6adca4815efbe0efc60078a5e393781198418

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page