Aegra CLI - Manage your self-hosted agent deployments
Project description
aegra-cli
Aegra CLI - Command-line interface for managing self-hosted agent deployments.
Aegra is an open-source, self-hosted alternative to LangSmith Deployments. Use this CLI to initialize projects, run development servers, and manage Docker services.
Installation
From PyPI
pip install aegra-cli
From Source
# Clone the repository
git clone https://github.com/aegra/aegra.git
cd aegra
# Install all workspace packages
uv sync --all-packages
Quick Start
# Initialize a new Aegra project (prompts for location, template, and name)
aegra init
# Follow the printed next steps
cd <your-project>
cp .env.example .env # Add your OPENAI_API_KEY
uv sync # Install dependencies
uv run aegra dev # Start PostgreSQL + dev server
Commands
aegra version
Show version information for aegra-cli and aegra-api.
aegra version
Output displays a table with versions for both packages.
aegra init
Initialize a new Aegra project with configuration files and directory structure.
aegra init [PATH] [OPTIONS]
Arguments:
| Argument | Default | Description |
|---|---|---|
PATH |
. |
Project directory to initialize |
Options:
| Option | Description |
|---|---|
-t, --template INT |
Template number (1 = "New Aegra Project", 2 = "ReAct Agent") |
-n, --name STR |
Project name |
--force |
Overwrite existing files if they exist |
Templates:
| # | Name | Description |
|---|---|---|
| 1 | New Aegra Project | Simple chatbot with basic graph structure |
| 2 | ReAct Agent | Tool-calling agent with a tools module |
Examples:
# Initialize in current directory
aegra init
# Initialize in a specific directory
aegra init my-project
# Initialize with a specific template and name
aegra init my-project --template 2 --name "My ReAct Agent"
# Initialize in current directory, overwriting existing files
aegra init --force
Created Files:
aegra.json- Graph configurationpyproject.toml- Python project configuration.env.example- Environment variable template.gitignore- Git ignore rulesREADME.md- Project readmesrc/<slug>/__init__.py- Package init filesrc/<slug>/graph.py- Graph implementationsrc/<slug>/state.py- State schema definitionsrc/<slug>/prompts.py- Prompt templatessrc/<slug>/context.py- Context configurationsrc/<slug>/utils.py- Utility functionssrc/<slug>/tools.py- Tool definitions (ReAct template only)docker-compose.yml- Docker Compose for PostgreSQL and API servicesDockerfile- Container build
aegra dev
Run the development server with hot reload.
aegra dev [OPTIONS]
Options:
| Option | Default | Description |
|---|---|---|
--host HOST |
127.0.0.1 |
Host to bind the server to |
--port PORT |
2026 |
Port to bind the server to |
--app APP |
aegra_api.main:app |
Application import path |
-c, --config PATH |
Path to aegra.json config file | |
-e, --env-file PATH |
Path to .env file | |
-f, --file PATH |
Path to docker-compose.yml file | |
--no-db-check |
Skip the automatic database check |
Examples:
# Start with defaults (localhost:2026)
aegra dev
# Start on all interfaces, port 3000
aegra dev --host 0.0.0.0 --port 3000
# Start with a custom app
aegra dev --app myapp.main:app
# Start with a specific config and env file
aegra dev --config ./aegra.json --env-file ./.env
# Start without automatic database check
aegra dev --no-db-check
The server automatically restarts when code changes are detected.
aegra serve
Run the production server (no hot reload).
aegra serve [OPTIONS]
Options:
| Option | Default | Description |
|---|---|---|
--host HOST |
0.0.0.0 |
Host to bind the server to |
--port PORT |
2026 |
Port to bind the server to |
--app APP |
aegra_api.main:app |
Application import path |
-c, --config PATH |
Path to aegra.json config file |
Examples:
# Start with defaults (0.0.0.0:2026)
aegra serve
# Start with a custom config
aegra serve --config ./aegra.json
aegra up
Start services with Docker Compose.
aegra up [SERVICES...] [OPTIONS]
Arguments:
| Argument | Description |
|---|---|
SERVICES |
Optional list of specific services to start |
Options:
| Option | Default | Description |
|---|---|---|
-f, --file FILE |
Path to docker-compose.yml file | |
--build / --no-build |
--build |
Build images before starting containers (on by default) |
Examples:
# Start all services (builds by default)
aegra up
# Start only postgres
aegra up postgres
# Start without building
aegra up --no-build
# Start with a custom compose file
aegra up -f ./docker-compose.yml
aegra down
Stop services with Docker Compose.
aegra down [OPTIONS]
Options:
| Option | Description |
|---|---|
-f, --file FILE |
Path to docker-compose.yml file |
-v, --volumes |
Remove named volumes declared in the compose file |
Examples:
# Stop all services
aegra down
# Stop and remove volumes (WARNING: data will be lost)
aegra down -v
# Stop with a custom compose file
aegra down -f ./docker-compose.yml
Environment Variables
The CLI respects the following environment variables (typically set via .env file):
# Database
POSTGRES_USER=aegra
POSTGRES_PASSWORD=aegra_secret
POSTGRES_HOST=localhost
POSTGRES_DB=aegra
# Authentication
AUTH_TYPE=noop # Options: noop, custom
# Server (for aegra dev)
HOST=0.0.0.0
PORT=2026
# Configuration
AEGRA_CONFIG=aegra.json
Requirements
- Python 3.12+
- Docker (for
aegra upandaegra downcommands) - PostgreSQL (or use Docker)
Related Packages
- aegra-api: Core API package providing the Agent Protocol server
- aegra: Meta-package that installs both aegra-cli and aegra-api
Project details
Release history Release notifications | RSS feed
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 aegra_cli-0.9.18.tar.gz.
File metadata
- Download URL: aegra_cli-0.9.18.tar.gz
- Upload date:
- Size: 37.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2dcb41f53645d9c10fdd7f305cbaf6484537c2bee53244f2158464d15ab69538
|
|
| MD5 |
731c795e005a14ce8255e4071a577f16
|
|
| BLAKE2b-256 |
067c2f1c83656e8375d89dcee193f8e084906d401691589589cb87fc395a8263
|
File details
Details for the file aegra_cli-0.9.18-py3-none-any.whl.
File metadata
- Download URL: aegra_cli-0.9.18-py3-none-any.whl
- Upload date:
- Size: 33.4 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 |
d77493909b0c0caefc8c5961025179a564877f59180aa820c293ac9bdb346a1a
|
|
| MD5 |
ca4bc19bc5fd0208728a91b4b8f39a78
|
|
| BLAKE2b-256 |
f5130788e422a2c92ac918d30c2812f6c1b8ee120aecf4a7ee0ef69dea1b7896
|