Skip to main content

Dari CLI.

Project description

Dari CLI

dari is the CLI for validating a managed deployment bundle, packaging the current checkout, and publishing agent versions to Agent Host.

Full platform docs live at https://docs.dari.dev.

Install

After the package is published to PyPI:

uv tool install dari-cli

Or:

pipx install dari-cli

Install directly from GitHub before a PyPI release:

uv tool install git+https://github.com/mupt-ai/dari-cli.git

Or:

pipx install git+https://github.com/mupt-ai/dari-cli.git

Commands

Validate a managed bundle:

dari manifest validate .

Log in through the browser:

dari auth login

Manage runtime credentials for the current org:

dari credentials add OPENAI_API_KEY
dari credentials list

Create or inspect execution backends for Pi deploys:

dari execution-backends create --name "Primary E2B" --provider e2b --api-key e2b_api_123
dari execution-backends list

Deploy the current checkout:

dari deploy .

For harness: pi, you must also provide the execution backend to pin for that publish:

dari deploy . --execution-backend-id execb_123

Or set it through the environment:

DARI_EXECUTION_BACKEND_ID=execb_123 dari deploy .

This management flow uses the browser login session from dari auth login and the currently selected org.

The CLI talks to https://api.dari.dev.

Managed Bundle Shape

dari expects a repo-root bundle with:

  • dari.yml
  • Dockerfile
  • any prompt files referenced by instructions
  • discovered custom tools under tools/<name>/tool.yml

Minimal example:

name: support-agent
harness: opencode

instructions:
  system: prompts/system.md

runtime:
  dockerfile: Dockerfile

tools:
  - name: repo_search
    path: tools/repo_search
    kind: main
  - name: sandbox.exec
    kind: ephemeral

env:
  APP_ENV: production

Example custom tool definition:

name: repo_search
description: Search the checked-out repository for matching content.
input_schema: input.schema.json
runtime: typescript
handler: handler.ts:main
retries: 2
timeout_seconds: 20

Pi Deploys

Pi deploys require an execution backend ID pinned at publish time.

Create an E2B-backed execution backend for the current org:

dari execution-backends create --name "Primary E2B" --provider e2b

The command prompts for a provider API key securely by default. Use --api-key or --api-key-stdin when the backend config is just an API key.

For any provider, you can also pass config through --config-json or --config-json-stdin:

dari execution-backends create \
  --name "Sandbox Backend" \
  --provider modal \
  --config-json '{"api_key":"modal_123"}'

List existing execution backends and copy the returned execb_* ID:

dari execution-backends list

Deploy the Pi repo with that backend pinned:

dari deploy . --execution-backend-id execb_123

Local Development

Install dependencies and run tests:

uv sync --group dev
uv run pytest

Examples live under examples.

Release

  1. Update version in pyproject.toml.
  2. Update uv.lock so the editable package entry matches the new version.
  3. Commit the version bump before tagging.
  4. Run uv build and uv run pytest.
  5. Configure PyPI trusted publishing for the Publish CLI GitHub Actions workflow.
  6. Push a tag like v0.1.1 from the commit that contains that exact version. The release workflow rejects tags that do not match pyproject.toml.
  7. GitHub Actions publishes the tagged build to PyPI.

Contributing

Read CONTRIBUTING.md before opening a PR.

Project details


Download files

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

Source Distribution

dari_cli-0.1.2.tar.gz (33.8 kB view details)

Uploaded Source

Built Distribution

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

dari_cli-0.1.2-py3-none-any.whl (27.2 kB view details)

Uploaded Python 3

File details

Details for the file dari_cli-0.1.2.tar.gz.

File metadata

  • Download URL: dari_cli-0.1.2.tar.gz
  • Upload date:
  • Size: 33.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for dari_cli-0.1.2.tar.gz
Algorithm Hash digest
SHA256 30c53ad06bedf9059e0a9e73416d8f6cfd85ac4ee3972f80887e24cf9e64ffd9
MD5 b24382793841c2e058324483baccbe74
BLAKE2b-256 ae6f94b2f7d74e8f1ab55fca3f57392c927a406f4c18bc3c0b19b0a1d80d9539

See more details on using hashes here.

Provenance

The following attestation bundles were made for dari_cli-0.1.2.tar.gz:

Publisher: release.yml on mupt-ai/dari-cli

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file dari_cli-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: dari_cli-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 27.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for dari_cli-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 c554971f8551fe862d1c2685fa04c6ffcfbc7cfcce4e72088161671aac9ddc64
MD5 9f6d88f96faaceb630e9aa40fefb6c6a
BLAKE2b-256 478380dc3632c71ca878b15c41def85e82a92cbe09bc5e6f0ee4da860e7436da

See more details on using hashes here.

Provenance

The following attestation bundles were made for dari_cli-0.1.2-py3-none-any.whl:

Publisher: release.yml on mupt-ai/dari-cli

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

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