Collect data from org-mode/org-roam pages and do some simple analyzing it.
Project description
OrgAnalyze
Collect data from org-mode/org-roam pages and do some simple analyzing it
Items parsed:
- Lines starting with "CLOCK:" or "#+CLK:" as OrgClock
- Headers starting with "*", "**", etc. as OrgHeader
- Tables starting with "|", as OrgTable
read_org_clocks_2
This function parses all *.org files in a given directory. It extracts all clocking information and associates it with its parent header (Feature) and sub-header (Task).
The function returns a tuple containing a list of column names and a list of rows. This structure is ideal for creating a pandas DataFrame.
Example Usage
Let's say you have an org file tasks.org in a directory called my_orgs with the following content:
* Feature A
** Task 1
CLOCK: [2025-10-25 Sat 10:00]--[2025-10-25 Sat 11:30] => 1:30
** Task 2
CLOCK: [2025-10-25 Sat 12:00]--[2025-10-25 Sat 13:00] => 1:00
* Feature B
** Task 3
CLOCK: [2025-10-25 Sat 14:00]--[2025-10-25 Sat 14:30] => 0:30
You can parse this file and analyze the data with pandas like this:
import pandas as pd
from org_analyze.clocks import read_org_clocks_2
# 1. Parse the org files in the directory
columns, rows = read_org_clocks_2('my_orgs')
# 2. Create a pandas DataFrame
df = pd.DataFrame(rows, columns=columns)
# 3. Analyze the data: Group by feature (head1) and sum the duration
feature_hours = df.groupby('head1')['duration'].sum()
print("Total hours per feature:")
print(feature_hours)
Output:
Total hours per feature:
head1
Feature A 2.5
Feature B 0.5
Name: duration, dtype: float64
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 Distributions
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 org_analyze-0.1.6-py3-none-any.whl.
File metadata
- Download URL: org_analyze-0.1.6-py3-none-any.whl
- Upload date:
- Size: 7.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6320aa9c4c24d7c0b01f533a13645bb2aa9e50bc56f039e5a1630ac9ce443b68
|
|
| MD5 |
227d3c6cbd31e0276818509c2c46ed9c
|
|
| BLAKE2b-256 |
1dad57f07fa703ad07200d97a3b5d1093810b5bf9bc9f45d5881e86340996d59
|