Skip to content

Installation

1. Install the Python package

pip install strands-osmo

This pulls in strands-agents, pyyaml, and jinja2. Nothing else.

2. Install the OSMO CLI

strands-osmo is a thin wrapper around the production osmo binary. The binary handles auth, transport, and protocol - we just normalize its output for an agent.

curl -fsSL https://raw.githubusercontent.com/NVIDIA/OSMO/main/install.sh | bash

Download a release for your platform from the OSMO releases page and place osmo on your PATH.

Verify:

osmo version

3. Authenticate

osmo login

This runs an OAuth flow in your browser. For headless environments, use a long-lived access token:

osmo access-token create   # on a workstation
export OSMO_TOKEN=<token>  # on the headless host

4. Verify everything from Python

from strands_osmo import osmo_doctor
osmo_doctor()

You should see something like:

{
  "osmo_present": true,
  "version_ok": true,
  "logged_in": true,
  "profile_ok": true
}

If any of these are false, the fix field will tell you what to do.

Optional extras

pip install "strands-osmo[dev]"   # pytest + ruff
pip install "strands-osmo[docs]"  # mkdocs-material
pip install "strands-osmo[all]"   # all of the above