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
# Show version
ltmsh --version
# 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
Metadata
Release files for logseq-tmsh 0.2.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| logseq_tmsh-0.2.1.tar.gz | 65.3 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| logseq_tmsh-0.2.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 83.2 kB
Release files / logseq_tmsh-0.2.1.tar.gz
| Download URL | logseq_tmsh-0.2.1.tar.gz |
|---|---|
| Size | 65.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
e73a6c14bca5888ce17237f9c98f48d131b6f01bc98d884d8632389ede592e4c
|
|
BLAKE2b-256 checksum How to use checksums |
a158cde2bc248199fa666845b4fa563ae319e48b464a99834b6c3181fecd39b1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is 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}
|
Release files / logseq_tmsh-0.2.1-py3-none-any.whl
| Download URL | logseq_tmsh-0.2.1-py3-none-any.whl |
|---|---|
| Size | 17.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
ea860711c7f21c6bafa07264b928e124ead972a8a70111dee352a617ec44fee1
|
|
BLAKE2b-256 checksum How to use checksums |
a8bd27617924f7f68c8d6277fff2e6fdfdbf1a91591df0fba4fe22043e2ae0fc
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is 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}
|