Skip to main content

Caasi

A lightweight, CLI-first orchestration layer for NVIDIA Isaac Sim, Isaac Lab and the wider robotics ecosystem (ROS 2, Nav2, MoveIt 2, ros2_control, ...).

Headless-first. CLI-first. Process-oriented. Visualization-independent.

Documentation: https://a6y3ap.github.io/caasi/

Note: Caasi is an independent open-source project. It is not affiliated with, endorsed by, or an official product of NVIDIA.

Philosophy

  • Use existing software. Don't reinvent it. Caasi discovers, configures, launches, connects, monitors and manages tools that already exist.
  • Simulation is not visualization. Run headless by default; attach a viewer only when needed.
  • Minimum required stack. The Caasi process itself stays lightweight and never imports the heavy Isaac stack, PyTorch or rclpy — it only delegates to them.
  • Don't become another ROS. ROS orchestration is delegated to the real ros2 tooling.
  • Unix-friendly. Small commands, --json output, sensible exit codes.

Install

Requires Python 3.10+ on Linux. The Isaac stack, ROS 2 and PyTorch are discovered, not installed, by Caasi.

pip install caasi

Or from source:

git clone https://github.com/a6y3ap/caasi.git
cd caasi
pip install -e .              # add pytest as well: pip install -e ".[dev]"

Either way this installs the caasi command. Shell completion is available:

caasi --install-completion

Quickstart

caasi doctor                    # diagnose the whole environment
caasi doctor --component nvidia # one section only
caasi gpu status                # GPU overview via nvidia-smi
caasi system status             # OS / CPU / RAM / disk summary
caasi info                      # CLI + configured/detected ecosystem versions
caasi config show               # effective configuration
caasi config set tools.isaacsim.default "6.0"

Every command supports --help. Data commands support --json for scripting:

caasi gpu status --json | jq '.gpus[0]["memory.used"]'
if caasi doctor --quiet; then echo "environment ready"; fi

Simulations, training jobs and ROS launches start detached and are tracked as runs — the CLI returns immediately and the work survives your terminal:

caasi sim run experiments/wave.yaml
caasi run list
caasi logs latest --follow      # Ctrl+C stops following, the run keeps going
caasi run status latest

Command surface

Group Commands Reference
Environment doctor, gpu status|info|memory|test, system status|memory|processes, info, version environment.html
Configuration config show|get|set|path|tools configuration.html
Projects init, setup, project info|validate, robot, scene, task projects.html
Runs & logs run list|status|logs|stop|pause|resume|delete|inspect, logs runs.html
Simulation sim run|status|check|stop|pause|resume, lab status simulation.html
Training train, benchmark start|report training.html
Data & sensors dataset generate|inspect|convert|validate, sensor list|inspect|test, vision status|inspect|test data.html
Review replay, view rviz|foxglove|open3d|attach review.html
ROS ecosystem ros status|doctor|list|launch|topic|node|graph, nav status|launch|inspect|test, moveit status|launch|plan|test, control status|list|check ros.html
Native & shell native run|sim|lab|ros, shell native.html
Remote & containers remote list|connect|run, container list|check|run remote.html

More examples:

caasi train experiments/ant.yaml --steps 500000 --envs 4096
caasi ros status && caasi nav launch --map maps/warehouse.yaml
caasi container run nvcr.io/nvidia/isaac-sim:5.1.0 ./runheadless.sh
caasi remote run gpu-box python train.py --steps 1000

Configuration

Global config lives at ~/.config/caasi/config.yaml; a project-local ./caasi.yaml is merged on top. Override the global file with CAASI_CONFIG or --config; CAASI_LANG overrides the language.

language: en
tools:
  isaacsim:
    default: "6.0"
    versions:
      "6.0": { path: /opt/isaac-sim-6.0 }
      "5.1": { path: /opt/isaac-sim-5.1 }
remotes:
  gpu-box:
    host: 10.0.0.5
    user: robot
    port: 2222
    identity: ~/.ssh/id_ed25519
    path: ~/experiments

Manage it with caasi config show|get|set|path|tools.

Examples

examples/navigation.yaml is a commented experiment config — the input format shared by sim run, train, benchmark start and dataset generate:

caasi sim run examples/navigation.yaml --dry-run   # print the launch command, start nothing

Tests

pytest

Documentation

Read it at https://a6y3ap.github.io/caasi/ or open docs/index.html directly in a browser.

License

MIT © a6y3ap — see LICENSE.

Download files

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

Source Distribution

caasi-0.1.0.tar.gz (151.7 kB view details)

Uploaded Source

Built Distribution

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

caasi-0.1.0-py3-none-any.whl (95.3 kB view details)

Uploaded Python 3

File details

Details for the file caasi-0.1.0.tar.gz.

File metadata

  • Download URL: caasi-0.1.0.tar.gz
  • Upload date:
  • Size: 151.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.12.9 {"installer":{"name":"uv","version":"0.12.9","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":null}

File hashes

Hashes for caasi-0.1.0.tar.gz
Algorithm Hash digest
SHA256 54cc8762d44106f6b2d04bc870b90483726803115bd48cc620de88d56c894124
MD5 44f26f031be8c1f6ccb7e40e91690306
BLAKE2b-256 434f1fb6b9501462e759b3c899eaf403e0e5453e4db4daa0726c0a801eaa8d50

See more details on using hashes here.

File details

Details for the file caasi-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: caasi-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 95.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.12.9 {"installer":{"name":"uv","version":"0.12.9","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":null}

File hashes

Hashes for caasi-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 a0fb181a4b57e2dc6c8a060e897efe0de623e423f747db6ebbd60415956a8192
MD5 35e90df5148b44cee05f0389d57191dd
BLAKE2b-256 2191bfdf1c7412b321bb3f76349f4ce717d58736a8d797d395ff48c5413a1981

See more details on using hashes here.

Release history Release notifications | RSS feed

0.2.0

2 files

This release

0.1.0 This release

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page