hf-viz / backend /api /dependencies.py
midah's picture
Add force-directed graph UI controls, rounded points, growth rate calculation, and error handling improvements
4b829ab
"""Shared dependencies for API routes."""
import pandas as pd
import numpy as np
from typing import Optional, Dict
from utils.data_loader import ModelDataLoader
from utils.embeddings import ModelEmbedder
from utils.dimensionality_reduction import DimensionReducer
from utils.graph_embeddings import GraphEmbedder
# Try to import chunked loader
try:
from utils.chunked_loader import ChunkedEmbeddingLoader
CHUNKED_LOADER_AVAILABLE = True
except ImportError:
CHUNKED_LOADER_AVAILABLE = False
ChunkedEmbeddingLoader = None
# Global state (initialized in startup) - these are module-level variables
# that will be updated by main.py during startup
data_loader = ModelDataLoader()
embedder: Optional[ModelEmbedder] = None
graph_embedder: Optional[GraphEmbedder] = None
reducer: Optional[DimensionReducer] = None
chunked_embedding_loader: Optional[ChunkedEmbeddingLoader] = None # For chunked loading
df: Optional[pd.DataFrame] = None
embeddings: Optional[np.ndarray] = None
graph_embeddings_dict: Optional[Dict[str, np.ndarray]] = None
combined_embeddings: Optional[np.ndarray] = None
reduced_embeddings: Optional[np.ndarray] = None
reduced_embeddings_graph: Optional[np.ndarray] = None
cluster_labels: Optional[np.ndarray] = None