Metadata-Version: 2.4
Name: physio-std
Version: 0.1.0
Summary: Standalone wearable physiological data standardization library
Author: Feynman Agent Team
License-Expression: MIT
Keywords: physiology,wearable,garmin,huawei,health,data
Classifier: Development Status :: 3 - Alpha
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: pandas>=2.0.0
Requires-Dist: numpy>=1.24.0
Requires-Dist: scipy>=1.10.0
Requires-Dist: openpyxl>=3.1.0
Requires-Dist: click>=8.1.0
Requires-Dist: schedule>=1.2.0
Requires-Dist: pyyaml>=6.0
Requires-Dist: cryptography>=41.0.0
Requires-Dist: requests>=2.31.0
Requires-Dist: requests-oauthlib>=1.3.0
Provides-Extra: garmin
Requires-Dist: garminconnect>=0.2.0; extra == "garmin"
Provides-Extra: ble
Requires-Dist: bleak>=0.21.0; extra == "ble"
Provides-Extra: dev
Requires-Dist: pytest>=7.4.0; extra == "dev"
Requires-Dist: pytest-cov>=4.1.0; extra == "dev"
Requires-Dist: build>=1.2.0; extra == "dev"
Requires-Dist: twine>=5.0.0; extra == "dev"
Dynamic: license-file

# physio-std (Module 1.2)

Standalone Python library for wearable physiological data ingestion, normalization, and alignment.

## Features

- Multi-provider support: Garmin, Huawei, Lifesense Ring, Mock provider
- Standard schema (`PhysioRecord`, `DataType`)
- 1-minute unified alignment for Garmin/Huawei (`UnifiedPhysioProcessor`)
- CSV/XLSX export
- Optional SQLite persistence and long-term analytics commands

## Install / Build (standalone)

### Option A: Build isolated standalone workspace (recommended)

```bash
python scripts/build_physio_std_package.py
python scripts/verify_physio_std_standalone.py
cd .build/physio_std_pkg
python -m build
```

Artifacts will be generated under `.build/physio_std_pkg/dist/`.

### Option B: Build via setup script in monorepo root

```bash
python setup_physio_std.py sdist bdist_wheel
```

### Local editable install (for development)

```bash
pip install -e .
```

## CLI

```bash
physio-std --help
physio-std add-device <device_id>
physio-std sync --unified --days 1
physio-std init-db
physio-std db-status
physio-std db-export --user-id <user_id>
physio-std db-analyze --user-id <user_id>
```

## Standalone smoke checks

After installing built wheel in a clean environment:

```bash
physio-std --help
physio-std init-db
physio-std db-status
```

## Standalone migration notes

Canonical protocol types live in `physio_std.protocols`.
The legacy `src.interfaces.physio_protocol` now re-exports these types for compatibility.
