Developers

Build on CoDim

The SDK puts CoDim's data streaming, compute orchestration, analysis, and 3D viewer inside your product. Your users load, filter, probe, compare, and review their data without leaving your app.

Results.tsx
import { createClient } from '@codimensional/client'import { CoDimView } from '@codimensional/react'// Your backend issues the session. Users sign in to your app.const client = createClient({ embed: { acquire: acquireSession } })const workspace = await client.viewer.workspaces.open({})await workspace.addDataset(run.datasetId)export function Results() {return <CoDimView client={workspace.allocation.primaryView} />}

The full stack

Data streaming, compute orchestration, analysis, and the 3D viewer, behind one SDK.

Your sign-in

Your backend signs users in and hands CoDim a scoped session. Users never make a CoDim account.

Your framework

Kits for React and Vue on a framework-agnostic web client.

Hands-off compute orchestration

Let the SDK handle render servers, GPU drivers, job queues, and streaming protocols.

The components behind the CoDim platform

Use the components as they are, or build your own UI on hooks for filters, measurement, time series, comparison, and presence. Components ship for React and Vue.

Need Svelte, Angular, or another framework? We will build the kit with you.

<CoDimView /> Live 3D viewport, streamed from the cloud
<ComparisonView /> Runs side by side, cameras linked
<ViewPanes /> Multi-view layouts of one scene
<SequenceTimeline /> Transient results and playback
<ProbePanel /> Exact field values at any point
<ActorControls /> Display, color maps, and opacity per dataset
<CommentsPanel /> Threads pinned to the 3D data
<PresenceAvatars /> Who is in the scene, and follow

From your pipeline to your product

Publish from Python, the CLI, or REST. Your backend hands each signed-in user a short-lived, scoped session, and the SDK adds views, filter pipelines, probes, comparisons, and post-processing jobs to your app.

1Stream from your solver

stream_run.py
from codim.meshflight import StreamDataSetstream = StreamDataSet.get(run.dataset_id)fields = {"speed": solver.speed}with stream.connect(solver.mesh, point_data=fields) as live:for step in solver.run(case):live.send(point_data={"speed": step.speed})

2Embed it in your product

RunView.tsx
import { createClient } from '@codimensional/client'import { CoDimView } from '@codimensional/react'const client = createClient({embed: { acquire: acquireSession },})const workspace = await client.viewer.workspaces.open({})await workspace.addDataset(run.datasetId)<CoDimView client={workspace.allocation.primaryView} />

3Your users explore it in your app

app.yourplatform.com/runs/42
YourPlatformRun 42Run 41CompareReports
Run 42speed
Airflow around a car, drawn as streamlines colored by speed, inside a customer's app <CoDimView />
Live streaming

Stream results while the solver runs

Connect a running solver, script, or service to an open scene and send each step as it is computed. When only the fields change, the geometry is sent once and each step carries just the new values.

stream.py
from codim import Projectscene = Project("Wing study").default_scenesource = scene.add_stream("Live pressure")with source.connect(solver.mesh, point_data={"p": solver.p}) as live:for step in solver.run():live.send(point_data={"p": step.p})

Documentation

Guides, embedding tutorials, the SDK and Python references, and the MCP tool catalog are in the CoDim developer portal. Access comes with your workspace, and we open it for teams evaluating CoDim.

  • Quick start
  • Embed CoDim in React or Vue
  • Python client reference
  • Streaming live results
  • MCP tool catalog
  • Auth and permissions

What you would build without CoDim

Without CoDim With CoDim
Data streaming Moving meshes and time steps too large to copy, including output from running solvers, between storage, inference, filters, analysis, and viewers CoDim streams data, live solver output included, to and from every service and coordinates who reads what, and when
Compute orchestration Placing simulation, inference, analysis, and rendering work on the right GPUs and CPUs, and keeping up as live runs produce new steps Jobs, sessions, and live runs scheduled on managed GPU and CPU pools sized to the work
Server-side analysis Filters and probes that run next to data too large to download Filters, probes, and post-processing jobs run on full-resolution data where it lives
Hybrid rendering Progressive streaming and caching so the browser can draw data it cannot hold, a cloud GPU renderer, and a live handoff between them Browser rendering fed by progressive streaming and caching, with a live switch to cloud GPU that keeps state
AI agents Tools that let an agent interrogate cloud datasets too large to open, from slicing and measuring to running jobs An MCP server whose tools filter, probe, measure, and run analysis and processing jobs on your data
Live collaboration Keeping many users, their cameras, filters, and comments in sync on one server-side scene Shared scenes with presence, follow, and comments pinned to the data
Shared backend One state model behind your app, your SDK integration, Python scripts, and AI agents Your app, the CoDim app, Python, and MCP agents work on the same data and scenes