Skip to main content

Dynamical

Release CI Python License

Dynamical helps materials R&D teams assemble verified virtual labs from real facility capabilities, explore research campaigns, and run approved physical experiments through one interface. It is infrastructure for physical autoresearch.

The current release runs virtual labs and calibrated digital twins. Physical execution requires a facility integration and approval.

Dynamical system architecture, from instrument onboarding to virtual and physical SDL execution

Quickstart

Install the CLI with Python 3.11 or later:

python -m pip install dynamical-cli

Download the example campaign and run the full virtual workflow:

curl -fsSLO https://raw.githubusercontent.com/Dynamical-Systems-Research/dynamical-cli/main/examples/quickstart/requirement.yaml

dynamical capabilities --json
dynamical compose requirement.yaml -o composition.json
dynamical compile composition.json -o compiled-world
dynamical run compiled-world -o trace.ndjson
dynamical validate trace.ndjson --json

The example transfers one sample into an ultrasonic conditioning station and runs a bounded virtual process. The trace records each action, observation, constraint, sample-state change, cost, and duration.

Use dynamical compose --schema before you write a new requirement. Use dynamical capabilities --operation <operation-id> --json to inspect the typed contract for one operation.

What Dynamical does

Dynamical gives a research system five commands:

  • capabilities lists available operations, instrument models, and facility routes.
  • compose maps a research requirement to compatible capabilities.
  • compile creates a portable virtual lab and its execution contract.
  • run executes a virtual campaign or replays a recorded campaign.
  • validate checks the result, its provenance, and its execution record.

Each campaign uses the same action, observation, sample-lineage, and evidence contracts across virtual and physical routes. A virtual result is simulation or digital-twin output. A physical result can only come from an approved facility execution.

Instrument onboarding

Dynamical starts with evidence from the instrument and facility:

  • Manuals and operating procedures.
  • APIs, drivers, and simulator interfaces.
  • Operating limits, failure modes, and safety controls.
  • Calibration records and covered operating ranges.
  • CAD, asset provenance, and license rights.

That evidence becomes three reviewable parts:

  1. An instrument skill that describes capabilities, procedures, limits, and recovery.
  2. An adapter that connects the contract to a simulator or physical instrument.
  3. A typed contract for actions, observations, units, state, errors, and provenance.

Conformance tests check the integration. The facility then reviews the proposed capabilities, evidence, and execution limits before approval. Approved parts enter the verified instrument registry. An integration cannot approve itself.

Use the included dynamical-instrument skill to prepare a candidate integration from source material. The skill preserves missing calibration, licensing, safety, and facility evidence as explicit review items.

Architecture

Dynamical is the control plane. It composes capabilities, applies facility policy, routes execution, and records evidence.

OpenUSD is the portable compiled world. It carries the facility scene, instrument assets, and composition needed by each campaign.

NVIDIA Isaac Sim is the embodied execution layer. It runs the compiled scene and connects physical state to the campaign contract.

Instrument models produce scientific observations. These models can be simulators, calibrated digital twins, or approved facility adapters. Each model declares its inputs, outputs, units, limits, uncertainty, and evidence.

One hash-bound trace connects campaign actions, scene state, scientific observations, sample lineage, and replay. The trace makes each result inspectable without treating virtual output as a physical measurement.

Agent use

The portable dynamical skill lets a research agent inspect capabilities, compose a campaign, run it, and validate the returned evidence. Install the CLI and skill from the same commit:

git clone https://github.com/Dynamical-Systems-Research/dynamical-cli.git
cd dynamical-cli
npx skills add . --skill dynamical --global --copy --yes
dynamical --help

The Codex plugin exposes the same skill:

codex plugin marketplace add Dynamical-Systems-Research/dynamical-cli --json
codex plugin add dynamical@dynamical-systems-research --json

The repository does not include an MCP server.

Source and licensing

Dynamical is licensed under the Apache License 2.0. Third-party geometry and calibration data keep their original licenses and attribution. See THIRD_PARTY_NOTICES.md for details.

Machine-readable source records include artifact hashes, provenance, license evidence, and known limits. A packaged derived asset does not replace its original source or grant new rights.

Development

git clone https://github.com/Dynamical-Systems-Research/dynamical-cli.git
cd dynamical-cli
uv sync --extra dev
uv run ruff check .
uv run ruff format --check .
uv run pytest -q

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

dynamical_cli-0.1.6.tar.gz (1.8 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

dynamical_cli-0.1.6-py3-none-any.whl (1.9 MB view details)

Uploaded Python 3

File details

Details for the file dynamical_cli-0.1.6.tar.gz.

File metadata

  • Download URL: dynamical_cli-0.1.6.tar.gz
  • Upload date:
  • Size: 1.8 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.12.3 {"installer":{"name":"uv","version":"0.12.3","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for dynamical_cli-0.1.6.tar.gz
Algorithm Hash digest
SHA256 ac1619314e23cc132b4d4de36942c481b3997571237297493de033de1de049cc
MD5 9f11d982fa9a45722f566b61ee05d05b
BLAKE2b-256 6e247b55cfbad83dae3b8f4f0613fd056d0fd6b12f531dc58c33921dd4720f55

See more details on using hashes here.

File details

Details for the file dynamical_cli-0.1.6-py3-none-any.whl.

File metadata

  • Download URL: dynamical_cli-0.1.6-py3-none-any.whl
  • Upload date:
  • Size: 1.9 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.12.3 {"installer":{"name":"uv","version":"0.12.3","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for dynamical_cli-0.1.6-py3-none-any.whl
Algorithm Hash digest
SHA256 6a8d28f5e9f559c3d7a38f2d56122c190df4fdebbe771051a68e1529ccf69a11
MD5 a2bce85576cc28bdb6b74707727cbcca
BLAKE2b-256 bbf7f4b8c00f66e7389822c1fd6bda695e3225c4933eebe1fe2824ef52fd18f9

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page