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
File details
Details for the file dcs-worklog-0.0.25.tar.gz
.
File metadata
- Download URL: dcs-worklog-0.0.25.tar.gz
- Upload date:
- Size: 29.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/47.1.0 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/3.8.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | fb2130d117d782d0c592aa139326d3a19b64cf8452ab1d7980653e9064935317 |
|
MD5 | c1427b38dc8da4b6b9774051924d4a24 |
|
BLAKE2b-256 | ef4645c26d7a4c0f972aca02861acd3cc4059d5f80027550058585a46ab2bd9e |
File details
Details for the file dcs_worklog-0.0.25-py3-none-any.whl
.
File metadata
- Download URL: dcs_worklog-0.0.25-py3-none-any.whl
- Upload date:
- Size: 32.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/47.1.0 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/3.8.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 905760348fd25112f444606813716e4213b4fdc5db8cf47b8199d40e7c96839f |
|
MD5 | 20493515addc2f6539b6328872adf041 |
|
BLAKE2b-256 | 6154f73741c564399f67c5ffde18551efc8f64c1d832b3e3a5e88feb96290f31 |