Metadata-Version: 2.4
Name: patientzero
Version: 0.1.0
Summary: A generic framework for LLM-driven patient simulations.
Author: Surya Mani, Aaron Tamte, Lile Zhang
License: MIT
License-File: LICENSE
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Requires-Python: >=3.11
Requires-Dist: python-dotenv>=1.0.0
Provides-Extra: all
Requires-Dist: fastapi>=0.115; extra == 'all'
Requires-Dist: openai>=1.0.0; extra == 'all'
Requires-Dist: pydantic>=2.0.0; extra == 'all'
Requires-Dist: sse-starlette>=2.0; extra == 'all'
Requires-Dist: uvicorn>=0.30; extra == 'all'
Provides-Extra: backend
Requires-Dist: fastapi>=0.115; extra == 'backend'
Requires-Dist: pydantic>=2.0.0; extra == 'backend'
Requires-Dist: sse-starlette>=2.0; extra == 'backend'
Requires-Dist: uvicorn>=0.30; extra == 'backend'
Provides-Extra: dev
Requires-Dist: build>=1.0.0; extra == 'dev'
Requires-Dist: httpx>=0.27.0; extra == 'dev'
Requires-Dist: pytest-asyncio>=0.24.0; extra == 'dev'
Requires-Dist: pytest>=8.0.0; extra == 'dev'
Provides-Extra: openai
Requires-Dist: openai>=1.0.0; extra == 'openai'
Description-Content-Type: text/markdown

# PatientZero

Explaining Health: How AI Explanation Styles and Interaction Modalities Affect User Comprehension of Medical Information

## Overview

A simulation system that uses LLM-powered agents to simulate doctor-patient interactions around medical test results and evaluate patient comprehension.

## Tech Stack

- **Frontend**: React + Vite + TypeScript, Tailwind CSS, shadcn/ui
- **Backend**: Python, FastAPI, SQLite
- **LLM**: Abstracted provider layer (Mock, OpenAI, Claude, Local)

## Project Structure

```
PatientZero/
├── core/              # Domain logic (imported by the backend)
├── frontend/          # React app
├── backend/           # FastAPI HTTP layer
└── report.txt         # Research report
```

## Prerequisites

- Python 3.12+
- Node.js 20+
- [uv](https://docs.astral.sh/uv/) (Python package manager)

## Quick Start

1. Clone the repo:
```bash
git clone https://github.com/tamteaa/PatientZero.git
cd PatientZero
```

2. Set up environment:
```bash
cp .env.example .env
```

3. Install Python deps and start the backend (from the repo root so `core` imports resolve):
```bash
uv sync
uv run uvicorn backend.api.main:app --reload
```

4. Start the frontend:
```bash
cd frontend
npm install
npm run dev
```

5. Open http://localhost:5173

## License

MIT
