You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
-**Project Management** -- Organize experiments with stage-based workflow (Ideation, Development, Production)
40
+
-**Project-Scoped Filtering** -- Global project selector in the topbar scopes every page (models, datasets, experiments, jobs, workspaces, features, visualizations) to a single project
40
41
-**Model Editor** -- Write and edit models directly in the browser with Monaco (Python + Rust)
41
-
-**Real-Time Training** -- Watch loss curves update live via SSE during training
42
+
-**Model Registry & CLI** -- Search, install, and manage models from the [Open Model Registry](https://github.com/GACWR/open-model-registry) via CLI (`openmodelstudio install iris-svm`) or the in-app registry browser. Install status syncs bidirectionally between CLI and UI
43
+
-**Real-Time Training** -- Watch loss curves, accuracy, and all metrics auto-update live during training with second-level duration accuracy
42
44
-**Generative Output Viewer** -- See video/image/audio outputs as models train
43
45
-**Experiment Tracking** -- Compare runs with parallel coordinates and sortable tables
44
-
-**JupyterLab Workspaces** -- Launch cloud-native notebooks with one click
46
+
-**Visualizations & Dashboards** -- 9 visualization backends (matplotlib, seaborn, plotly, bokeh, altair, plotnine, datashader, networkx, geopandas) with a unified `render()` abstraction. Combine visualizations into drag-and-drop dashboards with persistent layout
47
+
-**Global Search** -- Cmd+K command palette searches across models, datasets, experiments, training jobs, projects, and visualizations with instant navigation
48
+
-**Notifications** -- Real-time notification bell with unread count, grouped timeline (Today / This Week / Earlier), mark-all-read, and context-aware icons
-**LLM Assistant** -- Natural language control of the entire platform
46
51
-**AutoML** -- Automated hyperparameter search
47
52
-**Feature Store** -- Reusable features across projects
48
53
49
54
### For ML Engineers
50
55
-**Kubernetes-Native** -- Every model trains in its own ephemeral pod
51
56
-**Rust API** -- High-performance backend built with Axum + SQLx
57
+
-**Python SDK & CLI** -- `pip install openmodelstudio` gives you both a Python SDK (`import openmodelstudio as oms`) and a CLI for registry management, model install/uninstall, and configuration
52
58
-**GraphQL** -- Auto-generated from PostgreSQL via PostGraphile
53
59
-**Streaming Data** -- Never load full datasets to disk
54
60
-**One-Command Deploy** -- `make k8s-deploy` sets up everything
@@ -68,6 +74,60 @@
68
74
<imgsrc="docs/screenshots/oms-screenshot2.png"alt="OpenModelStudio Workspaces and Model Metrics"width="100%" />
69
75
</p>
70
76
77
+
### Visualizations & Dashboards
78
+
79
+
Create, render, and publish data visualizations from notebooks or the in-browser editor. OpenModelStudio supports **9 visualization backends** with a unified `render()` function that auto-detects the library:
80
+
81
+
| Backend | Output | Use Case |
82
+
|---------|--------|----------|
83
+
| matplotlib | SVG | Standard plots, publication-quality figures |
oms.publish_visualization(viz["id"]) # available for dashboards
99
+
```
100
+
101
+
Combine visualizations into **drag-and-drop dashboards** with resizable panels, lock/unlock layout, and persistent configuration. Each visualization also has a full **in-browser editor** (`/visualizations/{id}`) with Monaco, live preview for JSON backends, template insertion, and data/config tabs.
Browse, install, and manage models from the [Open Model Registry](https://github.com/GACWR/open-model-registry) -- a public GitHub repo that acts as a decentralized model package manager.
110
+
111
+
**From the CLI:**
112
+
```bash
113
+
openmodelstudio search classification # Search by keyword
114
+
openmodelstudio install iris-svm # Install a model
115
+
openmodelstudio list # List installed models
116
+
```
117
+
118
+
**From a notebook or script:**
119
+
```python
120
+
import openmodelstudio as oms
121
+
122
+
iris = oms.use_model("iris-svm") # Load from registry
123
+
handle = oms.register_model("my-iris", model=iris) # Register in project
124
+
job = oms.start_training(handle.model_id, wait=True) # Train it
125
+
```
126
+
127
+
`use_model()` resolves via the platform API, so it works inside workspace containers (K8s pods) without filesystem access. If the model isn't installed yet, it auto-installs from the registry. The web UI registry page shows **Installed** / **Not Installed** badges that stay in sync with CLI operations.
Follow these guides to go from zero to a fully tracked ML experiment:
182
245
183
246
1.**[Usage Guide](docs/USAGE.md)** -- Log in, create a project, upload a dataset, launch a workspace
184
-
2.**[Modeling Guide](docs/MODELING.md)** -- Train, evaluate, and track models using the SDK (13-cell notebook walkthrough)
247
+
2.**[Modeling Guide](docs/MODELING.md)** -- Train, evaluate, and track models using the SDK (16-cell notebook walkthrough including visualizations and dashboards)
248
+
3.**[Visualization Guide](docs/VISUALIZATIONS.md)** -- All 9 backends, `render()` function, dashboards, and the in-browser editor (pre-loaded as `visualization.ipynb` in workspaces)
249
+
4.**[Registry & CLI Guide](docs/CLI-REGISTRY.md)** -- Install, use, and manage models from the Open Model Registry (pre-loaded as `registry.ipynb` in workspaces)
185
250
186
251
---
187
252
@@ -222,6 +287,38 @@ Follow these guides to go from zero to a fully tracked ML experiment:
222
287
|`GET`|`/training/:id`| Get training job status |
223
288
|`GET`|`/training/:id/metrics`| SSE stream of training metrics |
224
289
290
+
### Visualizations & Dashboards
291
+
292
+
| Method | Endpoint | Description |
293
+
|--------|----------|-------------|
294
+
|`GET`|`/visualizations`| List visualizations (supports `?project_id=`) |
295
+
|`POST`|`/visualizations`| Create a visualization |
296
+
|`GET`|`/visualizations/:id`| Get visualization details |
0 commit comments