Skip to main content
parsehealthlog

License: MIT Python 3.8+

📓 Transform health journal entries into structured, validated data 🏥

Documentation

Overview

parsehealthlog is a data extraction and curation tool that transforms unstructured health journal entries into structured, validated data ready for downstream analysis.

What it produces:

  • health_log.md — All processed entries (newest to oldest) with labs and exams integrated

The tool processes, validates, and enriches health log entries. Reports, summaries, and recommendations are left to downstream consumers of the structured data.

Features

  • Parallel processing of hundreds of journal entries
  • Lab result integration with automatic interpretation
  • Hash-based caching for efficient incremental rebuilds
  • Multi-model support via OpenRouter (GPT-4, Claude, etc.)
  • Profile-based configuration for managing multiple health logs

Quick Start

# Install uv (if needed)
curl -LsSf https://astral.sh/uv/install.sh | sh

# Clone and install
git clone https://github.com/tsilva/parsehealthlog.git
cd parsehealthlog
uv sync

# Configure
cp .env.example .env
# Edit .env with your OPENROUTER_API_KEY

# Create a profile (profiles/myprofile.yaml)
# health_log_path: /path/to/health.md
# output_path: /path/to/output

# Run
uv run python main.py --profile myprofile

Output Structure

OUTPUT_PATH/
├── health_log.md            # PRIMARY: All entries (newest to oldest)
└── entries/                 # INTERMEDIATE (kept for caching)
    ├── YYYY-MM-DD.raw.md
    ├── YYYY-MM-DD.processed.md
    └── YYYY-MM-DD.labs.md

Configuration

Environment Variables (.env)

Variable Required Description
OPENROUTER_API_KEY Yes Your OpenRouter API key

Profile Configuration (profiles/<name>.yaml)

Variable Required Description
health_log_path Yes Path to your markdown health log
output_path Yes Directory for generated output
model_id No Default LLM model (default: gpt-4o-mini)
max_workers No Parallel processing threads (default: 4)

See docs/pipeline.md for all configuration options.

Health Log Format

Your health log should be a markdown file with dated sections:

### 2024-01-15

Visited Dr. Smith for annual checkup. Blood pressure 120/80.
Started vitamin D 2000 IU daily.

### 2024-01-20

Feeling better after starting vitamin D. Energy levels improved.

License

MIT

Metadata

Release files for parsehealthlog 0.1.6

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for parsehealthlog 0.1.6
File Size Uploaded Provenance Actions
parsehealthlog-0.1.6.tar.gz 455.1 kB With provenance Details for parsehealthlog-0.1.6.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for parsehealthlog 0.1.6
File Interpreter ABI Platform Actions
parsehealthlog-0.1.6-py3-none-any.whl Python 3 none any Details for parsehealthlog-0.1.6-py3-none-any.whl

Total release size: 481.7 kB

Release files / parsehealthlog-0.1.6.tar.gz

Download URL parsehealthlog-0.1.6.tar.gz
Size 455.1 kB
Tags Source
SHA-256 checksum
How to use checksums
ea2f3246729790960aa38916f5c7f3134bbf58f9cb9894cdf5407c1f624347dd
BLAKE2b-256 checksum
How to use checksums
6ad1d045f0ed62ba0d4aaf8cd82f1ba49e1346ca266c38b8be6c4f253f823a98
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Feb 28, 2026.

Transparency log

Release files / parsehealthlog-0.1.6-py3-none-any.whl

Download URL parsehealthlog-0.1.6-py3-none-any.whl
Size 26.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
bb4436a41ccae02e54670dd7c9d1a9e007af8659a63d34c8b9af7cda0002877e
BLAKE2b-256 checksum
How to use checksums
37a137b1427223b31a5cf77ae94567fe35abb89cc0f4530d5df6b2f6385e8007
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Feb 28, 2026.

Transparency log

Security for parsehealthlog 0.1.6

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for parsehealthlog-0.1.6.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Feb 28, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.1.6 This release

2 release files Full provenance

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