How panendrajadav/testlabs works
TestLabs is an AutoML application: users upload datasets, launch training, follow progress, inspect model results and artifacts, and ask dataset questions. The backend pipeline explicitly runs EDA, preprocessing, feature engineering, then parallel model evaluation; the pipeline route handles job execution, progress, and result persistence. The frontend also provides experiment tracking and local artifact/chat storage, with Firestore helpers for artifact and experiment records. Route and agent capabilities beyond the sampled implementation are represented where the tree supports them; their internal wiring is not inferred.
Main entry points: graph/pipeline.py Workflow runner · api.ts API client · router.py API router · routes/pipeline.py Pipeline jobs
Components 26
Web application
- App pages
frontend/src/app - Dataset state
frontend/src/hooks/useStoredDataset.ts - API client
frontend/src/services/api.ts - API hooks
frontend/src/hooks/useApi.ts - Pipeline view
frontend/src/components/visualization/Pipeline3DVisualizer.tsx - Local records
frontend/src/hooks/useStoredDataset.ts
Backend API
- FastAPI app
backend/api/app.py - API router
backend/api/router.py - Dataset upload
backend/api/routes/upload.py - Pipeline jobs
backend/api/routes/pipeline.py - Dataset chat
backend/api/routes/chat.py - Artifact endpoints
backend/api/routes/artifacts.py
AutoML workflow
- Workflow runner
backend/graph/pipeline.py - Workflow state
backend/graph/state.py - Model evaluation
backend/agents/evaluation_agent.py - Model selection
backend/agents/model_selection_agent.py - Hyperparameter tuning
backend/agents/hyperparameter_agent.py
Dataset analysis
- EDA
backend/agents/eda_agent.py - Preprocessing
backend/agents/preprocessing_agent.py - Feature selection
backend/agents/feature_engineering_agent.py
Results and records
- Artifact creation
backend/agents/artifacts_agent.py - Firestore records
frontend/src/services/firestoreService.ts - Dataset records
frontend/src/hooks/useStoredDataset.ts
Other components
- User
- Firebase
- Browser
Connections 25
- User → App pages: uses
- App pages → Dataset state: tracks dataset
- App pages → API hooks: starts actions
- API hooks → API client: calls
- API hooks → Pipeline view: updates status
- API client → Dataset upload: uploads dataset
- API client → Pipeline jobs: requests pipeline
- API client → Dataset chat: sends question
- API client → Artifact endpoints: requests artifacts
- FastAPI app → API router: mounts
- API router → Dataset upload: dispatches
- API router → Pipeline jobs: dispatches
- API router → Dataset chat: dispatches
- API router → Artifact endpoints: dispatches
- Pipeline jobs → Workflow runner: runs workflow
- Workflow runner → EDA: calls
- Workflow runner → Preprocessing: calls
- Workflow runner → Feature selection: calls
- Workflow runner → Model evaluation: calls
- Pipeline jobs → Artifact creation: creates artifacts
- Workflow runner → Workflow state: passes state
- Pipeline jobs → Pipeline view: broadcasts progress
- Dataset state → Dataset records: reads and writes
- Local records → Browser: stores locally
- Firestore records → Firebase: reads and writes