Extract time-tracking data from LogSeq journal CLOCK entries
Project description
logseq-tmsh
Extract time-tracking data from LogSeq journal CLOCK entries.
logseq-tmsh reads your LogSeq graph's daily journal files and sums up time from org-mode CLOCK: blocks, letting you query what you worked on today, this week, or any date range.
Install
pip install logseq-tmsh
# or
uv tool install logseq-tmsh
Quick Start
# Configure once
ltmsh configure
# Show today's work
ltmsh today
# Show this week
ltmsh week
# Show a custom range (dates in YYYY-MM-DD format)
ltmsh range --from 2024-01-01 --to 2024-01-31
# Human-readable output
ltmsh today --pretty
# Filter by tag (AND logic)
ltmsh today --tag ori --tag meeting
# Pretty-print JSON
ltmsh today --indent 2
Scanning Old Tasks
By default, all journal files are scanned — not just files within the queried period. This is intentional: in LogSeq, a task created years ago accumulates CLOCK entries in its original file, so restricting the file scan to the query window would silently miss recently-clocked work on old tasks.
# Correctly finds time logged today on a task created in 2023
ltmsh today
For large vaults where you know your active tasks are recent, use --scan-from to skip old files and speed up queries:
# Only scan files dated 2025-01-01 or later
ltmsh today --scan-from 2025-01-01
ltmsh week --scan-from 2025-01-01
ltmsh range --from 2026-04-01 --to 2026-04-17 --scan-from 2025-01-01
You can also set a permanent default in ~/.logseq-tmsh/config.toml:
[paths]
journals = "/path/to/logseq/journals"
scan_from = "2025-01-01" # omit to scan all files (default)
Output Fields
title, status, time_period, time_total, time_override, started, completed, tags, refs, has_running_clock, description, source_file, source_date
Configuration
~/.logseq-tmsh/config.toml — created by ltmsh configure.
License
MIT
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
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file logseq_tmsh-0.2.0.tar.gz.
File metadata
- Download URL: logseq_tmsh-0.2.0.tar.gz
- Upload date:
- Size: 64.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.10.9 {"installer":{"name":"uv","version":"0.10.9","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
bc5082da2eaabc445af3e19850520fd4a6c77ab6545718e5e2c4b1d684f3990e
|
|
| MD5 |
f905c2abcbc6a1dbf239e0a1720e2c86
|
|
| BLAKE2b-256 |
cae39c8448bacc9dd69e605cac3f15302ae0f75081c73a2f92b43709bc13678e
|
File details
Details for the file logseq_tmsh-0.2.0-py3-none-any.whl.
File metadata
- Download URL: logseq_tmsh-0.2.0-py3-none-any.whl
- Upload date:
- Size: 17.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.10.9 {"installer":{"name":"uv","version":"0.10.9","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a46add1f6f1658bac18a361071570390524cdeeade108651c5d365049960e077
|
|
| MD5 |
b8a926ac1a17bce8034747f38567c411
|
|
| BLAKE2b-256 |
daf6462df89d31a5fe7f21414c6998d695b65096d639dbf4ec557886d832668a
|