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.ymlDockerfile- 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
- Update
versioninpyproject.toml. - Update
uv.lockso the editable package entry matches the new version. - Commit the version bump before tagging.
- Run
uv buildanduv run pytest. - Configure PyPI trusted publishing for the
Publish CLIGitHub Actions workflow. - Push a tag like
v0.1.1from the commit that contains that exact version. The release workflow rejects tags that do not matchpyproject.toml. - 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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
30c53ad06bedf9059e0a9e73416d8f6cfd85ac4ee3972f80887e24cf9e64ffd9
|
|
| MD5 |
b24382793841c2e058324483baccbe74
|
|
| BLAKE2b-256 |
ae6f94b2f7d74e8f1ab55fca3f57392c927a406f4c18bc3c0b19b0a1d80d9539
|
Provenance
The following attestation bundles were made for dari_cli-0.1.2.tar.gz:
Publisher:
release.yml on mupt-ai/dari-cli
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
dari_cli-0.1.2.tar.gz -
Subject digest:
30c53ad06bedf9059e0a9e73416d8f6cfd85ac4ee3972f80887e24cf9e64ffd9 - Sigstore transparency entry: 1287529748
- Sigstore integration time:
-
Permalink:
mupt-ai/dari-cli@1bf6f5b2e6aaa4971ec4147e8feb74d717854435 -
Branch / Tag:
refs/tags/v0.1.2 - Owner: https://github.com/mupt-ai
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@1bf6f5b2e6aaa4971ec4147e8feb74d717854435 -
Trigger Event:
push
-
Statement type:
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c554971f8551fe862d1c2685fa04c6ffcfbc7cfcce4e72088161671aac9ddc64
|
|
| MD5 |
9f6d88f96faaceb630e9aa40fefb6c6a
|
|
| BLAKE2b-256 |
478380dc3632c71ca878b15c41def85e82a92cbe09bc5e6f0ee4da860e7436da
|
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
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
dari_cli-0.1.2-py3-none-any.whl -
Subject digest:
c554971f8551fe862d1c2685fa04c6ffcfbc7cfcce4e72088161671aac9ddc64 - Sigstore transparency entry: 1287529849
- Sigstore integration time:
-
Permalink:
mupt-ai/dari-cli@1bf6f5b2e6aaa4971ec4147e8feb74d717854435 -
Branch / Tag:
refs/tags/v0.1.2 - Owner: https://github.com/mupt-ai
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@1bf6f5b2e6aaa4971ec4147e8feb74d717854435 -
Trigger Event:
push
-
Statement type: