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
  • today show today's logged hours and how much is left
  • week show a per-day summary for the current week
  • undo delete the last entry you logged (with confirmation)
  • 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 — 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.2

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.2
File Size Uploaded
redmine_worklog-0.1.2.tar.gz 20.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for redmine-worklog 0.1.2
File Interpreter ABI Platform
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

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

This release

0.1.2 This release

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