Skip to content

Commit cf0d4e9

Browse files
committed
Add Workspaces & SDK section to README
- New section showcasing managed JupyterLab workspaces and Python SDK - SDK usage examples: register, train, infer, visualize - Add screenshot3 showing workspace notebook and plotly visualization - Update features list and dashboard pages to reflect new platform capabilities
1 parent 826f284 commit cf0d4e9

2 files changed

Lines changed: 44 additions & 1 deletion

File tree

README.md

Lines changed: 44 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ A robust, flexible, and lightweight open source User & Entity Behavior Analytics
3232
- [Rule Canvas](#rule-canvas)
3333
- [Model Library](#model-library)
3434
- [Model Execution Sandbox](#model-execution-sandbox)
35+
- [Workspaces & SDK](#workspaces--sdk)
3536
- [Authentication and Access Control](#authentication-and-access-control)
3637
- [LLM Assistant](#llm-assistant)
3738
- [Getting Started](#getting-started)
@@ -157,12 +158,20 @@ OpenUBA v0.0.2 is a Kubernetes-native platform with a modular, cloud-native arch
157158
- Rule-triggered alerts linked to anomalies and cases
158159
- Alerts can be enabled or disabled per-rule
159160

161+
### Workspaces & SDK
162+
- Launch managed JupyterLab environments from the UI with configurable hardware tiers
163+
- Python SDK (`pip install openuba`) for programmatic model registration, job submission, and visualization
164+
- Register sklearn, PyTorch, TensorFlow, and NetworkX models directly from notebooks
165+
- Submit training and inference jobs with real-time SSE progress streaming
166+
- Multi-backend visualization rendering (matplotlib, seaborn, plotly, bokeh, altair, plotnine, datashader, networkx, geopandas)
167+
- Workspace lifecycle managed by the K8s operator via UBAWorkspace CRDs
168+
160169
### Dashboard
161170
- Modern Next.js + shadcn/ui interface with dark mode default
162171
- Real-time updates via GraphQL subscriptions
163172
- Global time range selector, command palette, and keyboard navigation
164173
- Modular components with responsive layout
165-
- Pages: Home, Models, Anomalies, Cases, Data, Entities, Rules, Alerts, Schedules, Settings, Users
174+
- Pages: Home, Data, Models, Rules, Alerts, Entities, Anomalies, Cases, Workspaces, Visualizations, Dashboards, Experiments, Features, Pipelines, Jobs, Datasets
166175

167176
### Security and Access Control
168177
- JWT authentication with role-based access control (admin, manager, triage, analyst)
@@ -271,6 +280,40 @@ The custom OpenUBA operator watches for `UBATraining` and `UBAInference` custom
271280

272281
---
273282

283+
## Workspaces & SDK
284+
285+
OpenUBA includes managed JupyterLab workspaces that run as Kubernetes pods, giving analysts and data scientists a full notebook environment connected directly to the platform. From a workspace, you can register models, submit training and inference jobs, query results, and render visualizations -- all through the Python SDK.
286+
287+
```bash
288+
pip install openuba
289+
```
290+
291+
```python
292+
import openuba
293+
294+
# register a trained sklearn model from a notebook
295+
openuba.register_model("ssh-anomaly-detector", model, runtime="sklearn")
296+
297+
# submit a training job and poll until complete
298+
openuba.start_training(model_id, dataset_id=dataset_id)
299+
300+
# run inference -- returns anomaly scores
301+
openuba.start_inference(model_id, dataset_id=dataset_id)
302+
303+
# render a plotly visualization and push to the platform
304+
openuba.render(fig, viz_id=viz_id)
305+
```
306+
307+
The SDK supports 9 visualization backends out of the box. Any matplotlib, seaborn, plotly, bokeh, altair, plotnine, datashader, networkx, or geopandas figure can be rendered and pushed to the platform for display in the Visualizations page.
308+
309+
Workspaces are managed by the K8s operator via `UBAWorkspace` custom resources. Hardware tiers (`cpu-small`, `cpu-large`, `gpu-small`, `gpu-large`) control resource allocation. Each workspace gets its own persistent volume, pre-installed SDK, and API token for authenticated access to the platform.
310+
311+
<div align="center">
312+
<img src="images/screenshot3.png" width="100%" alt="OpenUBA Workspace and Visualization" />
313+
</div>
314+
315+
---
316+
274317
## Authentication and Access Control
275318

276319
OpenUBA v0.0.2 includes a complete authentication and role-based access control system:

images/screenshot3.png

406 KB
Loading

0 commit comments

Comments
 (0)