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.pyfor 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
Agentclass for invoking agents via the Hurozo API - Compose agents programmatically via the
Nodebuilder and run/save them withAgent
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_URIis 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(createsrequirements.txtandmain.py) main.pyinstantiates each selected agent by display name and pre-fills.input({...})if inputs are defined- When run,
main.pywill 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
- Prints the node catalog stored in
-
hurozo nodes refresh- Fetches the latest node catalog from the backend into
.hurozo/nodes.json(requiresHUROZO_API_TOKEN)
- Fetches the latest node catalog from the backend into
-
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())
Agent(...) accepts the saved agent id, the public agent UUID, or the saved
agent name. Id-shaped identifiers must resolve exactly; unresolved ids raise an
error instead of creating an empty placeholder.
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 for human-readable names. Id-shaped
identifiers and UUIDs must resolve exactly. 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,requestsmain.py– a runnable script that:- imports
Agentfromhurozo - 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
- imports
.env(optional) – if not present, a template is created with aHUROZO_API_TOKENplaceholder
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 themHUROZO_API_URL– override the default backend host (https://hurozo.com)HUROZO_SERVER_URI– compatibility alias forHUROZO_API_URLHUROZO_NODES_FILE– override the location of.hurozo/nodes.jsonwhen loading node definitions programmaticallyNO_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_TOKENis 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
Trueas the secondAgentargument - Inputs missing at runtime: open the agent in the Hurozo UI and ensure inputs are defined; re-run
hurozo initto regenerate a script with updated keys
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 hurozo-0.4.6.tar.gz.
File metadata
- Download URL: hurozo-0.4.6.tar.gz
- Upload date:
- Size: 32.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
004eeb501d8d23fa6341a99799ada6ed1b8b6c338a8849733e080601a8c3bbd4
|
|
| MD5 |
3f8e582400fad9bdfe746569acdff8f9
|
|
| BLAKE2b-256 |
3b5c5ca5abc01ce5d04e30b446589503f9b6b0503d5de7cc71e27d6c2ab4f510
|
File details
Details for the file hurozo-0.4.6-py3-none-any.whl.
File metadata
- Download URL: hurozo-0.4.6-py3-none-any.whl
- Upload date:
- Size: 26.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c142aad6fddf165d693089d00100795b509cffc94b0e845c02d0e52ab3ba5cb1
|
|
| MD5 |
f2cb4543ff1e59cf440ea7d973317f72
|
|
| BLAKE2b-256 |
8b9126fb14d7b974ae05c1d3e2d4f7a5d62c5a4de26f7467872a095b8e0ccb94
|