root/byteb4rb1e/: byteb4rb1e-homeostat-0.1.1 metadata and description

Simple index Newer version available

Tiny ETL pipeline for my health data

author_email Tiara Rodney <tiara@byteb4rb1e.me>
classifiers
  • Development Status :: 1 - Planning
  • Environment :: Web Environment
  • Framework :: Sphinx
  • Framework :: Sphinx :: Theme
  • Intended Audience :: Developers
  • Operating System :: OS Independent
  • Programming Language :: Python :: 3
  • Programming Language :: Python :: 3.8
  • Programming Language :: Python :: 3.9
  • Programming Language :: Python :: 3.10
  • Programming Language :: Python :: 3.11
  • Programming Language :: Python :: 3.12
  • Topic :: Documentation
  • Topic :: Software Development :: Documentation
description_content_type text/markdown
project_urls
  • Bitbucket, https://bitbucket.org/byteb4rb1e/homeostat
requires_dist
  • byteb4rb1e.utils
  • beautifulsoup4
requires_python >=3.8
File Tox results History
byteb4rb1e_homeostat-0.1.1-py3-none-any.whl
Size
33 KB
Type
Python Wheel
Python
3
byteb4rb1e_homeostat-0.1.1.tar.gz
Size
60 KB
Type
Source

byteb4rb1e.homeostat

Personal health data pipeline for tiararodney.com. Fetches vitals, sleep, nutrition, activity, and body measurements from external providers, stores them in a structured warehouse, and projects them into JSON files for the site's status dashboard.

Sources

Architecture

The pipeline follows a four-phase ETL design:

source adapters → raw warehouse → canonical warehouse → projections

JSONL partitions are the durable storage. SQLite is the query layer, rebuilt from flat files at any time. See ARCHITECTURE.md for the full design.

Quick start

See DEVELOPMENT.md for setup instructions and tooling.

See CONTRIBUTING.md for the development workflow, commit conventions, and issue lifecycle.

Output

Canonical warehouse

data/
├──vitals/
│  └── <iso 8601: YYYY-MM-DD>.jsonl # infraday data
├──sleep/
│  └── <iso 8601: YYYY-MM-DD>.jsonl # infraday data
├──nutrition/
│  └── <iso 8601: YYYY-MM-DD>.jsonl # infraday data
├──measurements/
│  └── <iso 8601: YYYY-MM-DD>.jsonl # infraday data
└──activity/
   └── <iso 8601: YYYY-MM-DD>.jsonl # infraday data

Projections

build/projection/<iso 8601: YYYY-MM-DD-HHMMSS>/
├── status.json              # live dashboard snapshot
└── history/
    ├── vitals.json           # rolling heart rate, steps, calories
    ├── sleep.json            # rolling sleep duration, score, stages
    ├── nutrition.json        # rolling calories, macros, meals
    ├── measurements.json     # rolling weight, body fat, measurements
    └── activity.json         # rolling exercises, distance, floors

symlink the latest projection directory to current.