redmine-worklog
A tiny retro CLI to log your daily tasks to Redmine in plain text.
No Teams, no web UI, no admin approval — just pip install and go.
.-------------------.
| ## REDMINE ## |
| .-----------. |
| | >_ o o | |
| | WORKLOG | |
| '-----------' |
| [A] [B] == |
'-------------------'
R E D M I N E W O R K L O G
Install
From this folder:
pip install .
or for development (edits take effect immediately):
pip install -e .
This adds two commands: rmlog and redmine-worklog.
First run
rmlog
The setup wizard asks for your name, Redmine URL, and API access key
(Redmine -> My account -> API access key), verifies the token, and saves
everything to ~/.redmine_worklog/config.json (per user, so each teammate
logs as themselves).
Logging tasks
After setup, rmlog greets you and waits for tasks. One task per line:
upload module discovery 3 hr today
fix login bug 2h yesterday
sprint planning 1.5 hr 15-09-2026 16-09-2026
Format: <subject> <hours> hr <start-date> [<end-date>]
- dates:
today|yesterday|dd-mm-yyyy - end date optional (defaults to start date)
It shows a preview and waits for you to type yes before posting.
Rules (enforced before posting)
- Max 9 hours/day (configurable)
- No weekends
- No holidays (
~/.redmine_worklog/config.json->holidays)
CSV backfill (bulk upload)
Inside the chat, type csv to bulk-upload many tasks at once — handy for
back-filling weeks or months. It shows the required format, asks for the file
path, validates the whole file, reports any problems, and only uploads after
you confirm.
CSV header (exact column names):
subject,description,priority,status,start_date,due_date,estimated_hours,date,hours,activity,comment
Example row:
UPLOAD MODULE DISCOVERY,working on upload module discovery,Normal,Closed,2026-09-17,2026-09-18,8,2026-09-18,4,Development,Initial implementation
Required in every row: subject, hours, date. Everything else falls back
to your defaults. Dates accept YYYY-MM-DD or dd-mm-yyyy. The same rules
(9h/day, no weekends, no holidays) are checked across all rows before upload.
Commands (inside the chat)
- type a task log one task
todayshow today's logged hours and how much is leftweekshow a per-day summary for the current weekundodelete the last entry you logged (with confirmation)csvbulk upload from a CSV (backfill)change projectswitch the default project (verified against Redmine)change userswitch Redmine account (re-runs setup)helpshow instructionsquitexit
Multiple accounts
change user— switch between saved accounts (no need to re-enter the token); chooseNto add a new accountlist users— show all saved accounts and which is activedelete user— remove a saved account (with confirmation)
Profiles are stored in ~/.redmine_worklog/config.json.
Command-line flags
rmloglog tasks (runs setup on first use)rmlog --setupre-run the setup wizard / add an accountrmlog --plaindisable colors and box characters (old terminals)rmlog --versionshow version
Setting the NO_COLOR environment variable also enables plain mode.
Daily hours limit
If a day would go over the limit (default 9h), the tool shows a warning and asks you to confirm before logging the extra time. Weekends and holidays are still hard blocks.
Config file
~/.redmine_worklog/config.json holds your name, URL, token, project,
tracker, defaults (activity/comment/status), rules, and holidays.
The token is stored locally with restricted file permissions.
Metadata
Release files for redmine-worklog 0.1.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| redmine_worklog-0.1.2.tar.gz | 20.6 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| redmine_worklog-0.1.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 42.1 kB
Release files / redmine_worklog-0.1.2.tar.gz
| Download URL | redmine_worklog-0.1.2.tar.gz |
|---|---|
| Size | 20.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
1b915931663f11fe69db7b1a731ede70e8f11f2c8030b96e12908de6dd399986
|
|
BLAKE2b-256 checksum How to use checksums |
54169090d808909071daf220008c0056c53bf60e79584e1d25fd05673c192767
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.15
|
Release files / redmine_worklog-0.1.2-py3-none-any.whl
| Download URL | redmine_worklog-0.1.2-py3-none-any.whl |
|---|---|
| Size | 21.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
45f64a70baf44b909fe8977fc40d64a529c38ee1304857ea34ecdd46f7d40584
|
|
BLAKE2b-256 checksum How to use checksums |
32ebdcf194597a44312971fd1d468a31ca456c244e72dd0b1453fe10dbdf1115
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.15
|