3.6 KiB
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).