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,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
  • csv bulk upload from a CSV (backfill)
  • change project switch the default project (verified against Redmine)
  • change user switch Redmine account (re-runs setup)
  • help show instructions
  • quit exit

Multiple accounts

change user lists your saved accounts and lets you switch between them instantly (no need to re-enter the token). Choose N to add a new account. 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.0

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.0
File Size Uploaded
redmine_worklog-0.1.0.tar.gz 18.2 kB Details

Built distribution (wheel)

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

Total release size: 37.4 kB

Release files / redmine_worklog-0.1.0.tar.gz

Download URL redmine_worklog-0.1.0.tar.gz
Size 18.2 kB
Tags Source
SHA-256 checksum
How to use checksums
18f7973f82e5505fae44428cac27f829d1d09e224c4b2663b6361e3abaaafc72
BLAKE2b-256 checksum
How to use checksums
05a154914700ebe313b554a9e343ab3bf1bdd1d90b1852a308d443e0e3d61aef
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.0-py3-none-any.whl

Download URL redmine_worklog-0.1.0-py3-none-any.whl
Size 19.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
bc228833656911a808175f5c5301a9363b022190c2e340089d9dc9512ffcc1de
BLAKE2b-256 checksum
How to use checksums
2e8794bd5f32ad9b0e1415df1743ab3a60e169b67002c05f0eb59fd9ad685b5e
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

0.1.5

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

This release

0.1.0 This release

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