A command line time tracking application. Docs at https://tiempo.categulario.xyz
Go to file
Abraham Toriz 57ec60226d
path in pipeline definition was wrong, again
2022-11-07 00:41:23 -06:00
assets add files for the logo 2021-12-13 23:31:01 -06:00
completions add completions to debian, binary and arch packages 2022-11-06 20:46:45 -06:00
docs document --flat as a feature released in 1.5.3 2022-11-06 21:09:44 -06:00
scripts fix paths in aur-git package 2022-11-07 00:39:24 -06:00
src clippy lints 2022-11-05 20:34:35 -06:00
.gitignore read version from Cargo.toml 2022-09-18 22:55:46 -04:00
.gitlab-ci.yml path in pipeline definition was wrong, again 2022-11-07 00:41:23 -06:00
CHANGELOG.md publish completions 2022-11-06 21:11:53 -06:00
Cargo.lock fix latest ci pipeline 2022-11-06 21:29:33 -06:00
Cargo.toml fix latest ci pipeline 2022-11-06 21:29:33 -06:00
LICENSE the complete CI infra 2021-12-03 09:59:49 -06:00
README.md explain how to install the binary in linux 2022-11-06 21:05:59 -06:00
debpackage.sh bash completions were in the wrong place 2022-11-07 00:04:47 -06:00

README.md

Tiempo

A timetrap compatible command line time tracking application. Read the fine manual.

Installation

For Archlinux (and derivatives) users

There are a binary and a source package in the AUR:

For every other linux users

Go to gitlab releases page and grab the latest binary for your linux. There is a .deb file for Debian and Ubuntu as well as a binary for any x86_64 Linux.

In the case of the tar archive you just need to recursively copy its contents into /usr for it to work. It already has the directory structure needed for the binary, man page and completions to work.

For Rust developers

You have cargo! you can run:

cargo install tiempo

However that will not install the beautiful man page. Although you can still see it at https://tiempo.categulario.xyz .

For everyone else

You need to compile tiempo by yourself. But don't worry! It is not that hard. Just clone the repository, make sure you have rust installed and run:

cargo build --release

inside the repository. The binary will be named t (or t.exe if you use windows) and it is located inside the target/release directory that was created during compilation.

How to build

You need rust, then clone the repo and simply run

cargo test

to check that everything is working, and then

cargo build --release

to have a binary at target/release/t that you can then move to a directory in your PATH or use it by its absoulte or relative paths.

Run

t --help

to see the options.

Development database

When developing I prefer not to mess with my own database, so I use this .env file:

export TIMETRAP_CONFIG_FILE=/absolute/path/to/repo/dev_config.toml
PS1="$ "

and when I want to test some commands against such config file I just source it:

source .env
cargo run -- in 'hola'

Documentation

The docs are written using sphinx. To install the required dependencies enter the docs directory and create a virual environment:

virtualenv .venv

then activate it and install the dependencies:

source .venv/bin/activate
pip install -r requirements.txt

To build the docs just do:

make html

for the html version (output located at docs/build/html), or

make man

for the man page (output located at docs/build/man/tiempo.1). To test the man page you can do:

man -l build/man/tiempo.1

To get a live-reloaded server with the html docs do:

sphinx-autobuild source/ build/html/

The contents of the man page are located in docs/source/index.rst, formatted as reStructuredText.

Special Thanks

To timetrap for existing, to samg for creating it. It is the tool I was looking for and whose design I took as reference, keeping compatibility when possible.

Release checklist

(mostly to remind myself)

  • Ensure tests pass and that clippy doesn't complain
  • Add documentation about the new features
  • Create an entry in CHANGELOG.md with the target version, stage it but don't commit
  • run vbump
  • git push && git push --tags && cargo publish
  • wait for release and then test the releases (aur bin and git and packaged).