Skip to main content

Hurozo Agentic Platform CLI

Project description

Hurozo CLI

Hurozo is a visual agent builder and execution platform. You compose agents as graphs of nodes, connect inputs and outputs, and save them to run via API calls, webhooks, or the UI. The Hurozo CLI helps you:

  • Scaffold runnable Python projects for your saved agents
  • List available agents in your account
  • Run agents programmatically using Python

The CLI is designed for quick prototyping and integration into scripts or services.

Features

  • Scaffold a minimal Python project with main.py for selected agents
  • Instantiate agents by name (existing definitions are fetched automatically)
  • Prefill input keys in the scaffolded script (when the agent defines required inputs)
  • Lightweight Agent class for invoking agents via the Hurozo API
  • Compose agents programmatically via the Node builder and run/save them with Agent

Installation

Install from PyPI:

pip install hurozo

This will provide the hurozo console command and the hurozo Python package.

Authentication

The CLI and the Agent class use a bearer token to access your Hurozo account.

  • HUROZO_API_TOKEN: required. A user or org API token.
  • HUROZO_API_URL: optional backend URL override. HUROZO_SERVER_URI is kept as a compatibility alias.

Example:

export HUROZO_API_TOKEN=...your token...

Commands

  • hurozo init [dirname]

    • Interactively select one or more agents from your account
    • Scaffolds a minimal project in dirname (creates requirements.txt and main.py)
    • main.py instantiates each selected agent by display name and pre-fills .input({...}) if inputs are defined
    • When run, main.py will execute all selected agents and print their results
  • hurozo list

    • Lists accessible agents with their display names and UUIDs
  • hurozo nodes list

    • Prints the node catalog stored in .hurozo/nodes.json
  • hurozo nodes refresh

    • Fetches the latest node catalog from the backend into .hurozo/nodes.json (requires HUROZO_API_TOKEN)
  • hurozo help [command]

    • Shows help for a specific command

Python API

The packaged Python module exposes helpers for both running existing agents and for composing new graphs locally.

from hurozo import Agent

# Loads the saved agent (or creates an empty placeholder if it does not exist yet)
agent = Agent("My Remote Agent")

# Run the agent on Hurozo using the current input payload
agent.input({"naam": "De Hengst"})
print(agent.run())

# Inspect or update the agent's saved JSON graph
print(agent.to_agent_graph())

# Environment variables mirror the "Env" tab in the UI
agent.set_env("OPENAI_MODEL", "gpt-4o-mini")
print(agent.list_env())

If you already know the agent UUID you can pass Agent("uuid-value", True) to skip the name lookup. When the provided identifier is not found the SDK creates a new saved agent with an empty graph so subsequent operations behave consistently.

Building local graphs with Node

from hurozo import Agent, Node

inputs = Node("Basic/Input/TextArea").set_property("text", "Hello")
separator = Node("Basic/Input/TextArea").set_property("text", ", ")
name = Node("Basic/Input/TextArea").set_property("text", "world")

concat = Node("Text/String/ConcatStrings")
concat(inputs, name, separator=separator)

agent = Agent("CLI Demo")
agent.addNodes(concat)
result = agent.run()  # Executes locally while nodes are staged
agent.save("CLI Demo")  # Persists the graph via /api/agents

Node instances load their input/output definitions from .hurozo/nodes.json and automatically wrap literal inputs with the appropriate constant nodes. Numeric literals are wrapped with the current Basic/Float node. Agent(name) loads the saved definition if it already exists; otherwise it creates an empty saved placeholder. When you call addNodes(...) the SDK keeps the staged graph locally—run() executes it immediately, and save() replaces the saved graph with the current staged version.

Managing environment variables

Remote agents support lightweight environment variables that are hydrated at execution time (the same values you configure in the web UI under Env). The SDK exposes helpers for reading and mutating them:

from hurozo import Agent

agent = Agent("My Remote Agent")

agent.set_env("OPENAI_MODEL", "gpt-4o-mini")
print(agent.get_env("OPENAI_MODEL"))

for name, value in agent.list_env().items():
    print(name, value)

agent.delete_env("OPENAI_MODEL")

These methods require HUROZO_API_TOKEN and always target the saved agent. If the agent does not exist yet, the SDK creates an empty placeholder so the environment helpers operate consistently.

Scaffolded Project Layout

When you run hurozo init my-agent, the CLI generates:

  • requirements.txt – dependencies: hurozo, python-dotenv, requests
  • main.py – a runnable script that:
    • imports Agent from hurozo
    • defines one variable per selected agent using its display name
    • fills in .input({...}) from the agent’s defined input keys (if available)
    • calls .run() for each agent and prints the results
  • .env (optional) – if not present, a template is created with a HUROZO_API_TOKEN placeholder

Run it with:

cd my-agent
pip install -r requirements.txt
export HUROZO_API_TOKEN=...your token... (or set it in .env)
python main.py

Environment Variables

  • HUROZO_API_TOKEN – required for both listing agents and executing them
  • HUROZO_API_URL – override the default backend host (https://hurozo.com)
  • HUROZO_SERVER_URI – compatibility alias for HUROZO_API_URL
  • HUROZO_NODES_FILE – override the location of .hurozo/nodes.json when loading node definitions programmatically
  • NO_COLOR – if set, disables colored output in the CLI

Designing agents

  • Go to https://hurozo.com/ to design your agents visually. Save your agent, create an API token, and scaffold a project with hurozo init.

Troubleshooting

  • Missing token: ensure HUROZO_API_TOKEN is set in your shell or .env
  • Name resolution fails: the CLI falls back to using the provided string; switch to UUID-based invocation by passing True as the second Agent argument
  • Inputs missing at runtime: open the agent in the Hurozo UI and ensure inputs are defined; re-run hurozo init to regenerate a script with updated keys

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

hurozo-0.4.4.tar.gz (31.7 kB view details)

Uploaded Source

Built Distribution

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

hurozo-0.4.4-py3-none-any.whl (26.0 kB view details)

Uploaded Python 3

File details

Details for the file hurozo-0.4.4.tar.gz.

File metadata

  • Download URL: hurozo-0.4.4.tar.gz
  • Upload date:
  • Size: 31.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.13

File hashes

Hashes for hurozo-0.4.4.tar.gz
Algorithm Hash digest
SHA256 e677cd8d8d76d01d10bf35b53add4b6e17f92f2ce6674b9b38875ee9cb20f9af
MD5 7e851f5bc33508d2379bf1f67c0c9354
BLAKE2b-256 e42d110e99d40282b4a2490bc86caef14e703da1c9d7870ed6ad415ece48bcbf

See more details on using hashes here.

File details

Details for the file hurozo-0.4.4-py3-none-any.whl.

File metadata

  • Download URL: hurozo-0.4.4-py3-none-any.whl
  • Upload date:
  • Size: 26.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.13

File hashes

Hashes for hurozo-0.4.4-py3-none-any.whl
Algorithm Hash digest
SHA256 c501acf793a3695acfa7179eebe98d55fec3301dbedc9df7b7bf6ae5bb3a43ec
MD5 d15b971a25d864ad095a4f8250c1ad60
BLAKE2b-256 3c1d32a60211445df953315fc00430d37b77ce3c9b3db9d4579cdfd46d535dc3

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