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.8.tar.gz (38.7 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.8-py3-none-any.whl (47.7 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: raga_canvas_cli-0.1.8.tar.gz
  • Upload date:
  • Size: 38.7 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.8.tar.gz
Algorithm Hash digest
SHA256 04a0a3818ff7a35ad67a505d97ff490992f93c45f309e08d91e6c00d89db088a
MD5 d4ca1b124339f3ae04610e1f45d61b3e
BLAKE2b-256 7ff0a4f6092364813d63234806377b2b8b62a2f086f7e9e07660e193f3aaacf7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for raga_canvas_cli-0.1.8-py3-none-any.whl
Algorithm Hash digest
SHA256 a95d865ee187d68c2c5ebf40a273d6fc43e7b4787c8837cbeebbbb0e8170abed
MD5 8f92a665ffb66df2123cacc314feefca
BLAKE2b-256 4f56d9af46a3aa8a327bb436081e94b16679d407c941b675f1f560aaa82b8ceb

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