{"name":"Leo-Health-Core: Unify Apple Health & Whoop Data Locally with SQLite","description":"Leo-Health-Core is an open-source Python tool designed to parse Apple Health and Whoop exports, unifying your biometric data into a local SQLite database. It operates with zero dependencies and no network requests, ensuring complete privacy and local control over your health information. This project allows users to easily query and analyze their personal health trends using standard SQL.","github":"https://github.com/sandseb123/Leo-Health-Core","url":"https://osrepos.com/repo/sandseb123-leo-health-core","source":"osrepos.com","sourceDescription":"This repository profile is provided by osrepos.com, an open source repository discovery platform.","repositoryProfile":"https://osrepos.com/repo/sandseb123-leo-health-core","generatedFor":"open source discovery and AI-assisted research","markdown":"https://osrepos.com/repo/sandseb123-leo-health-core.md","json":"https://osrepos.com/repo/sandseb123-leo-health-core.json","topics":["Python","Health","Data Analysis","Privacy","SQLite","Wearable Tech","Apple Health","Whoop"],"keywords":["Python","Health","Data Analysis","Privacy","SQLite","Wearable Tech","Apple Health","Whoop"],"stars":null,"summary":"Leo-Health-Core is an open-source Python tool designed to parse Apple Health and Whoop exports, unifying your biometric data into a local SQLite database. It operates with zero dependencies and no network requests, ensuring complete privacy and local control over your health information. This project allows users to easily query and analyze their personal health trends using standard SQL.","content":"## Introduction\n\nLeo-Health-Core is an open-source Python project that provides a powerful solution for managing your personal health data. It addresses the common challenge of fragmented biometric data, often locked in large Apple Health XML exports or inconsistent Whoop CSV files. Leo-Health-Core unifies this data into a single, normalized SQLite database, making it easily queryable with standard SQL. Designed with privacy at its core, it boasts zero dependencies and performs no network requests, ensuring all your sensitive health information remains securely on your local machine. This tool is ideal for developers and privacy-conscious individuals who want full control and analytical capabilities over their health metrics.\n\n## Installation\n\nGetting started with Leo-Health-Core is straightforward, whether you prefer a direct installation or using Docker for cross-platform compatibility.\n\n### Direct Installation (macOS):\n\n1.  **Clone the repository:**\n    bash\n    git clone https://github.com/sandseb123/Leo-Health-Core.git\n    \n2.  **Navigate into the directory:**\n    bash\n    cd Leo-Health-Core\n    \n3.  **Install in editable mode:**\n    bash\n    pip3 install -e .\n    \n    *Note: If `pip3` is not found, try `pip install -e .` or install Python 3.9+ from [python.org](https://www.python.org/ target=\"_blank\").*\n\n### Docker Installation (macOS, Linux, Windows):\n\n1.  **Clone the repository:**\n    bash\n    git clone https://github.com/sandseb123/Leo-Health-Core.git\n    \n2.  **Navigate into the directory:**\n    bash\n    cd Leo-Health-Core\n    \n3.  **Start the dashboard:**\n    bash\n    docker compose up -d\n    \n4.  **Open in browser:**\n    bash\n    open http://localhost:5380\n    \n    Drop your health exports into the `imports/` folder, and Leo will detect and ingest them automatically.\n\n## Examples\n\nOnce installed, Leo-Health-Core provides several commands to interact with your data and a web dashboard for visualization.\n\n### Terminal Commands:\n\n*   `leo`: View your health dashboard directly in the terminal.\n*   `leo-watch`: Start watching your Downloads folder for new health exports, automatically parsing them.\n*   `leo-dash`: Open the full web dashboard in your browser.\n\n### Querying Your Data with SQL:\n\nYou can directly query your unified health data using SQLite.\nFirst, open the database:\nbash\nsqlite3 ~/.leo-health/leo.db\n\nThen, run SQL queries like these:\nsql\n-- Last 7 days of Whoop recovery\nSELECT recorded_at, recovery_score, hrv_ms, resting_heart_rate\nFROM whoop_recovery\nORDER BY recorded_at DESC LIMIT 7;\n\n-- HRV by source (Apple Watch vs Whoop)\nSELECT source, ROUND(AVG(value), 1) as avg_hrv, COUNT(*) as readings\nFROM hrv GROUP BY source;\n\n-- Sleep stage breakdown\nSELECT stage, COUNT(*) as sessions\nFROM sleep GROUP BY stage ORDER BY sessions DESC;\n\n\n## Why Use It\n\nLeo-Health-Core stands out for several compelling reasons, especially for those prioritizing data ownership and privacy:\n\n*   **Complete Data Privacy:** All processing and storage happen locally on your machine. There are zero network requests, ensuring your sensitive health data never leaves your device.\n*   **Unified Data Source:** It consolidates disparate data from Apple Health and Whoop into a single, normalized SQLite database, simplifying analysis.\n*   **Easy Querying:** With your data in SQLite, you can use standard SQL queries to explore trends, compare metrics, and gain insights without relying on proprietary apps or cloud services.\n*   **Automated Ingestion:** The `leo-watch` feature automatically detects and parses new health exports dropped into your Downloads folder, streamlining the data import process.\n*   **Open Source and Extensible:** Being open source and MIT licensed, Leo-Health-Core is free to use, modify, and extend, offering transparency and flexibility.\n*   **Future AI Integration (Leo Max):** The project has a roadmap for Leo Max, an upcoming local AI health coach that will analyze your data privately, cross-reference medical literature, and even ingest bloodwork PDFs, all without sending data off your machine.\n\n## Links\n\n*   **GitHub Repository:** [https://github.com/sandseb123/Leo-Health-Core](https://github.com/sandseb123/Leo-Health-Core target=\"_blank\")\n*   **Leo Max Waitlist:** [https://sandseb123.github.io/Leo-Health-Core](https://sandseb123.github.io/Leo-Health-Core target=\"_blank\")","metrics":{"detailViews":8,"githubClicks":4},"dates":{"published":null,"modified":"2026-05-17T19:30:28.000Z"}}