Python SDK
Theferal-sdk package lets you talk to a running FERAL Brain, build plugins, and create hardware device adapters — all from Python.
FeralClient
FeralClient is an async HTTP + WebSocket client for the Brain API.
Constructor
Methods
| Method | Return | Description |
|---|---|---|
health() | dict | Brain health status |
get_dashboard() | dict | Aggregated dashboard data |
get_system_info() | dict | Version, memory stats, provider info |
chat(message, session_id=None) | str | Send a message, wait for the full response |
list_skills() | list[dict] | All registered skills |
search_memory(query, limit=10) | list[dict] | Search the agent’s memory |
create_note(content, tags=[]) | dict | Create a persistent memory note |
list_conversations(limit=20) | list[dict] | Conversation history |
invoke_skill(skill_id, endpoint, args={}) | dict | Directly invoke a skill endpoint |
FeralPlugin
Build agent tools as Python classes. Decorate methods with@feral_tool to expose them.
Plugin Lifecycle
| Method | When Called |
|---|---|
on_load() | Brain loads the plugin at startup |
on_unload() | Brain shuts down or hot-reloads |
execute(endpoint_id, args, vault) | Brain invokes a tool — called automatically |
to_manifest() | Generates a FERAL skill manifest from decorated methods |
@feral_tool Decorator
HUPDevice
Create device adapters that connect physical hardware to the Brain’s device mesh.HUPDevice Methods
| Method | Description |
|---|---|
connect(brain_url) | Connect to the Brain’s hardware mesh |
run(brain_url) | Connect + start telemetry and command loops |
read_telemetry() | Override: return current sensor data |
execute_action(action, params) | Override: handle commands from the Brain |
get_manifest() | Returns the device’s HUP manifest |
