You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
92 lines
2.2 KiB
92 lines
2.2 KiB
---
|
|
title: Dependencies and Library Usage
|
|
category: dependencies
|
|
---
|
|
|
|
# Dependencies and Library Usage
|
|
|
|
## Core Dependencies
|
|
|
|
### duckdb
|
|
- **Required**: Yes
|
|
- **Fallback**: None (core functionality)
|
|
- **Usage**: SQL database for motions, embeddings, SVD vectors
|
|
- **Files**: database.py, analysis/*.py, pipeline/*.py
|
|
|
|
### streamlit
|
|
- **Required**: Yes
|
|
- **Fallback**: None
|
|
- **Usage**: Web UI framework
|
|
- **Files**: app.py, pages/*.py, explorer.py
|
|
|
|
### requests
|
|
- **Required**: Yes
|
|
- **Fallback**: None
|
|
- **Usage**: HTTP client for API calls
|
|
- **Files**: api_client.py, ai_provider.py
|
|
|
|
### plotly
|
|
- **Required**: Yes
|
|
- **Fallback**: None (raises ImportError)
|
|
- **Usage**: Interactive charts for explorer
|
|
- **Files**: explorer.py, explorer_helpers.py
|
|
|
|
## Optional Dependencies
|
|
|
|
### umap-learn
|
|
- **Required**: No
|
|
- **Fallback**: Use raw SVD vectors (first 2 dimensions)
|
|
- **Usage**: Dimensionality reduction for visualization
|
|
- **Files**: analysis/clustering.py
|
|
|
|
### matplotlib
|
|
- **Required**: No
|
|
- **Fallback**: Plotly or raw output
|
|
- **Usage**: Static charting
|
|
- **Files**: Various analysis scripts
|
|
|
|
## ML Dependencies
|
|
|
|
### sklearn
|
|
- **Required**: Yes
|
|
- **Usage**: KMeans clustering, cosine_similarity, StandardScaler
|
|
- **Files**: analysis/clustering.py, similarity/compute.py
|
|
|
|
### scipy
|
|
- **Required**: Yes
|
|
- **Usage**: SVD (scipy.linalg.svd), spatial.procrustes for alignment
|
|
- **Files**: analysis/trajectory.py, pipeline/svd_pipeline.py
|
|
|
|
### numpy
|
|
- **Required**: Yes
|
|
- **Usage**: Array operations, linear algebra
|
|
- **Files**: Throughout codebase
|
|
|
|
## Key Imports by File
|
|
|
|
### explorer.py
|
|
- `import streamlit as st`
|
|
- `from database import db`
|
|
- `from explorer_helpers import *`
|
|
|
|
### explorer_helpers.py
|
|
- `import pandas as pd`
|
|
- `import plotly.graph_objects as go`
|
|
- `from database import db` (optional, for type hints)
|
|
|
|
### database.py
|
|
- `import ibis`
|
|
- `import duckdb`
|
|
- `from config import config, PARTY_COLOURS`
|
|
|
|
### config.py
|
|
- `from dataclasses import dataclass, field`
|
|
- `import streamlit as st` (optional, for warnings)
|
|
|
|
## Singleton Instances
|
|
|
|
| Module | Instance | Type |
|
|
|--------|----------|------|
|
|
| `database.py` | `db` | `MotionDatabase` |
|
|
| `config.py` | `config` | `Config` (dataclass) |
|
|
| `config.py` | `PARTY_COLOURS` | `dict[str, str]` |
|
|
|