docs: add ADR-0011 (KubeRay), ADR-0012 (uv), update architecture docs
This commit is contained in:
@@ -36,13 +36,19 @@ handler-base/ # Shared library for all handlers
|
||||
│ ├── health.py # K8s probes
|
||||
│ ├── telemetry.py # OpenTelemetry
|
||||
│ └── clients/ # Service clients
|
||||
├── tests/
|
||||
└── pyproject.toml
|
||||
|
||||
chat-handler/ # Text chat service
|
||||
voice-assistant/ # Voice pipeline service
|
||||
├── {name}.py # Standalone version
|
||||
├── {name}_v2.py # Handler-base version (preferred)
|
||||
└── Dockerfile.v2
|
||||
pipeline-bridge/ # Workflow engine bridge
|
||||
├── {name}.py # Handler implementation (uses handler-base)
|
||||
├── pyproject.toml # PEP 621 project metadata (see ADR-0012)
|
||||
├── uv.lock # Deterministic lock file
|
||||
├── tests/
|
||||
│ ├── conftest.py
|
||||
│ └── test_{name}.py
|
||||
└── Dockerfile
|
||||
|
||||
argo/ # Argo WorkflowTemplates
|
||||
├── {workflow-name}.yaml
|
||||
@@ -59,6 +65,29 @@ kuberay-images/ # GPU worker images
|
||||
|
||||
## Python Conventions
|
||||
|
||||
### Package Management (ADR-0012)
|
||||
|
||||
Use **uv** for local development and **pip** in Docker for reproducibility:
|
||||
|
||||
```bash
|
||||
# Install uv (one-time)
|
||||
curl -LsSf https://astral.sh/uv/install.sh | sh
|
||||
|
||||
# Create virtual environment and install
|
||||
uv venv
|
||||
source .venv/bin/activate
|
||||
uv pip install -e ".[dev]"
|
||||
|
||||
# Or use uv sync with lock file
|
||||
uv sync
|
||||
|
||||
# Update lock file after changing pyproject.toml
|
||||
uv lock
|
||||
|
||||
# Run tests
|
||||
uv run pytest
|
||||
```
|
||||
|
||||
### Project Structure
|
||||
|
||||
```python
|
||||
|
||||
Reference in New Issue
Block a user