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.5.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.5-py3-none-any.whl (1.9 MB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: dynamical_cli-0.1.5.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.5.tar.gz
Algorithm Hash digest
SHA256 882964b7ccad2dd5abc325de1fef96e9eabdbc3f74b7936acd29a63c100d4dd5
MD5 62fefc953dc302aa54013fdb32ca7059
BLAKE2b-256 f2d811aea3fcea5733cb000088086c57f44a15967e7083fc11786328f8a85f9e

See more details on using hashes here.

File details

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

File metadata

  • Download URL: dynamical_cli-0.1.5-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.5-py3-none-any.whl
Algorithm Hash digest
SHA256 3a2baa7337c164ccec836d9b38672f4d57262b2e8936a88360ceb7eeeab42e0f
MD5 2e34c144e129a095448a56ef63a6ea74
BLAKE2b-256 932e75f378b1291ae48f3933f3d688ddf10d4bce0e02315ea4469295a1d7fac5

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