Simple CLI tool to log work and projects
Project description
Worklog - Simple CLI util to track work hours
Worklog is a simple and straight-forward tool to track working times via CLI. It uses a plain text file as it's storage backend which makes it easy to process the logged information with other tools.
Getting started
You need to have Python >= 3.6 installed.
pip install dcs-worklog
Command Line Interface (CLI)
The tool registers itself as a CLI tool with the name wl
(short for
worklog
).
It provides the basic commands to start and stop tracking work times.
wl commit start # starts a new work session
wl commit stop # stops a running session
It's also possible to give a time offset to the current time:
wl commit start --offset-minutes 5
wl commit stop --offset-minutes -5
Learn about all options by using the --help
flag for any command:
wl commit --help # show more options
To see how the current status of the worklog use the status
command:
$ wl status
Status : Tracking on
Total time : 07:49:40 ( 98%)
Remaining time : 00:10:20 ( 2%)
Overtime : 00:00:00 ( 0%)
End of work : 17:18:27
To see historical entries use the log
command:
wl log # shows the last 10 records (latest first)
wl log --all # shows all records (latest first)
Configuration
By default the log file is written to ~/.worklog
.
The format is CSV with pipe symbols (|
) as delimiters.
A working day is configured to have 8 hours. 2 hours are set as a (soft) limit for overtime.
This configuration can be changed by creating a config file in
~/.config/worklog/config
.
Partial changes are allowed and are merged with the default
configuration.
An example customized configuration could be the following file:
[workday]
hours_target = 8.5
hours_max = 12
Integration in task bars
tbd
wl status --fmt '{status} | {remaining_time} (percentage}%'
Sanity check
The current log file can be sanity-checked with the doctor
command.
In case entries are missing the doctor command will tell so:
$ wl doctor
ERROR:worklog:Date 2020-04-08 has no stop entry.
Development
Clone this repository and install the development version:
pip install -e ".[testing]"
Run tests via
pytest worklog/
Create a release
Attention: This should not be needed. Releases are auto-generated from the *GitHub CI. See the configuration file.
To create a release use git flow, update the version number in setup.py first. Then execute the following commands:
python setup.py sdist bdist_wheel
twine upload --skip-existing -r pypi dist/*
Troubleshooting
If you are behind a proxy the installation might not work.
In this case try to setup the proxy via the --proxy
flag:
pip install --proxy=http://localhost:3128 dcs-worklog
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for dcs_worklog-0.0.29-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b0d8734ba25e6f8dc2361b21790bf6c81bb76154f878972d46e9a90238b7ab6b |
|
MD5 | 9d2bd93e22f68aa14c74b7b1f633c704 |
|
BLAKE2b-256 | 3cce20e8dcc1cf3f4d483dd06e9442b93456cf08045a34229005254d35735dd4 |