Skip to main content

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,tracker,start_date,due_date,estimated_hours,date,hours,activity,comment

tracker is optional — leave it blank to use your default (set at setup or via change tracker).

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
  • today show today's logged hours and how much is left
  • week show a per-day summary for the current week
  • quarter last quarter summary (monthly totals, avg/day, flagged days)
  • undo delete the last entry you logged (with confirmation)
  • csv bulk upload from a CSV (backfill)
  • undo csv undo the last CSV upload (deletes the whole batch)
  • change project switch the default project (verified against Redmine)
  • change tracker switch the default tracker (verified against Redmine)
  • change user switch Redmine account (re-runs setup)
  • help show instructions
  • quit exit

Multiple accounts

  • change user — switch between saved accounts (no need to re-enter the token); choose N to add a new account
  • list users — show all saved accounts and which is active
  • delete user — remove a saved account (with confirmation)

Profiles are stored in ~/.redmine_worklog/config.json.

Command-line flags

  • rmlog log tasks (runs setup on first use)
  • rmlog --setup re-run the setup wizard / add an account
  • rmlog --plain disable colors and box characters (old terminals)
  • rmlog --version show 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.5

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for redmine-worklog 0.1.5
File Size Uploaded
redmine_worklog-0.1.5.tar.gz 25.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for redmine-worklog 0.1.5
File Interpreter ABI Platform
redmine_worklog-0.1.5-py3-none-any.whl Python 3 none any Details

Total release size: 49.3 kB

Release files / redmine_worklog-0.1.5.tar.gz

Download URL redmine_worklog-0.1.5.tar.gz
Size 25.9 kB
Tags Source
SHA-256 checksum
How to use checksums
d92ac60254fdea0b76da19e39839dee85a49478175a4ed384e41881e9717726b
BLAKE2b-256 checksum
How to use checksums
2d48504ec046d55541ad732a545bda767044ff442e740fa1b244107c358a6b3e
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.5-py3-none-any.whl

Download URL redmine_worklog-0.1.5-py3-none-any.whl
Size 23.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
e29a296fb9df83c63b7b099d8dc964e2c77a84d482faa2dd2739a324687ea23d
BLAKE2b-256 checksum
How to use checksums
931fba5b6109a315013abb7a41a87fb53e75191086094b1a2b2e71e1d9b59679
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.15

Release history Release notifications | RSS feed

0.3.0

2 release files

This release

0.1.5 This release

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page