Skip to main content

CLI tool for interacting with Raga Canvas no-code agent deployment platform

Project description

Raga Canvas CLI

A command-line interface for interacting with the Raga Canvas no-code agent deployment platform.

Installation

pip install raga-canvas-cli

Quick Start

  1. Login
canvas login [--api-base https://api.canvas.raga.ai] [--profile <name>]
  • Prompts for username and password, saves a profile locally.
  1. Initialize a workspace
canvas init <directory> [--profile <name>] [--force] [--name <home-dir-name>]
  • Fetches projects, asks for the default project short name, creates canvas.yaml, project_config.yaml, environments/<project>.env, and the workspace folders.
  1. List your projects and agents
canvas list projects [--profile <name>]
canvas list agents [--project <short-name>] [--folder <id>] [--search <text>] [--active-only] [--profile <name>]
  1. Pull resources locally (optional)
canvas pull projects [--profile <name>]
canvas pull agents [--agent <short-name-or-id>] [--profile <name>]
canvas pull tools [--tool <short-name-or-id>] [--profile <name>]
canvas pull datasources [--datasource <short-name-or-id>] [--profile <name>]
  1. Push and deploy an agent
canvas push agents --agent <short-name> [--target-project <short-name>] [--profile <name>] [--force]
canvas deploy agents --agent <short-name> [--target-project <short-name>] [--profile <name>]

Commands

canvas login

Authenticate with the Canvas platform and save credentials.

Usage:

canvas login [--api-base <url>] [--profile <name>]
  • Prompts for username and password, validates, and stores a token under the given profile (default: default).

canvas init

Initialize Canvas workspaces for all projects in separate folders by shortName.

Usage:

canvas init <directory> [--profile <name>] [--force] [--name <home-dir-name>]
  • --profile: profile to use for authentication
  • --force: proceed even if files already exist
  • --name: home directory name under the provided <directory>

Creates the base structure and writes:

  • canvas.yaml
  • project_config.yaml
  • environments/<project>.env
  • Folders: agents/, tools/, datasources/, environments/

canvas set default-project

Set the default project short name in canvas.yaml.

Usage:

canvas set default-project <project_short_name>

canvas list

List Canvas resources.

  • Projects
canvas list projects [--profile <name>]
  • Agents
canvas list agents [--project <short-name>] [--folder <id>] [--search <text>] [--active-only] [--profile <name>]
  • Tools
canvas list tools --project <short-name> [--search <text>] [--profile <name>]
  • Datasources
canvas list datasources --project <short-name> [--search <text>] [--profile <name>]
  • Workflows
canvas list workflows --project <short-name> [--folder <id>] [--profile <name>]

canvas pull

Pull resources from the Canvas platform into your workspace.

  • Projects → writes project_config.yaml and per-project env files
canvas pull projects [--profile <name>]
  • Agents (uses default project unless overridden in config)
canvas pull agents [--agent <short-name-or-id>] [--profile <name>]
  • Tools
canvas pull tools [--tool <short-name-or-id>] [--profile <name>]
  • Datasources
canvas pull datasources [--datasource <short-name-or-id>] [--profile <name>]

canvas push

Create or update resources in the target project. Uses the default project unless --target-project is provided.

  • Agents
canvas push agents --agent <short-name> [--target-project <short-name>] [--profile <name>] [--force]
  • Tools
canvas push tools --tool <short-name> [--target-project <short-name>] [--profile <name>] [--force]
  • Datasources
canvas push datasources --datasource <short-name> [--target-project <short-name>] [--profile <name>] [--force]

canvas deploy

Trigger deployment for an existing remote agent version in the target project.

  • Agents
canvas deploy agents --agent <short-name> [--target-project <short-name>] [--profile <name>]

Directory Structure

When you run canvas init or pull from a project, the following structure is created:

my-canvas-repo/
├── canvas.yaml                 # workspace config
├── .canvasrc                   # local profiles (ignored by VCS)
├── agents/
│   └── test-agent/
│       ├── agent.yaml
│       └── config.yaml
├── tools/
│   └── test-tool/
│       ├── tool.yaml
│       └── config.yaml
├── datasources/
│   └── test-datasource/
│       ├── datasource.yaml
│       └── config.yaml
├── environments/
│   ├── dev.env
│   ├── stage.env
│   ├── prod.env
│   └── <project>.env
└── project_config.yaml

Configuration

The CLI uses the following configuration files:

  • ~/.canvasrc - Global user configuration and profiles
  • canvas.yaml - Workspace configuration
  • project_config.yaml - Project IDs and metadata pulled from the platform
  • environments/*.env - Environment-specific secrets/placeholders

Development

To set up for development:

git clone https://github.com/raga-ai/raga-canvas-cli
cd raga-canvas-cli
pip install -e ".[dev]"

Run tests:

pytest

License

MIT License - see LICENSE file for details.

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

raga_canvas_cli-0.1.7.tar.gz (28.6 kB view details)

Uploaded Source

Built Distribution

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

raga_canvas_cli-0.1.7-py3-none-any.whl (31.7 kB view details)

Uploaded Python 3

File details

Details for the file raga_canvas_cli-0.1.7.tar.gz.

File metadata

  • Download URL: raga_canvas_cli-0.1.7.tar.gz
  • Upload date:
  • Size: 28.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.4

File hashes

Hashes for raga_canvas_cli-0.1.7.tar.gz
Algorithm Hash digest
SHA256 f5c77d78d51fc83df814696b430b2c96d96ba59e543bbd569ec89b6ab23e6a01
MD5 0353fd269a2de9a2a3a0cc6dd3bf911e
BLAKE2b-256 0dce7c96881a04d9cf83bd1a4df7ee18e13fb287ad8a610d88d6c340973b2540

See more details on using hashes here.

File details

Details for the file raga_canvas_cli-0.1.7-py3-none-any.whl.

File metadata

File hashes

Hashes for raga_canvas_cli-0.1.7-py3-none-any.whl
Algorithm Hash digest
SHA256 c5c4153739388335931f159576ec7dfd6072f9adba88a091657b0de1b9857c56
MD5 98e2dfc3f8bb262262eadb0e3262b87f
BLAKE2b-256 d2153b6625b1ff04c3f6a42490d0bd93cce7511496b4885ddceee6c7cc587b75

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 Pingdom Monitoring Sentry Error logging StatusPage Status page