LyboAI Mobile Edge Runtime — Python SDK for on-device AI agent creation, evaluation, and training workflows
Project description
lyboai (Python SDK)
Python is the builder's language for the LyboAI ecosystem: create agents,
package and sign capability packs, run evaluations, tune routing, and export
training datasets. Agents execute in the Rust runtime — locally via the
lybo binary (this SDK drives it over the JSON-lines protocol, identical to
the on-device C ABI) and on phones via the mobile bindings.
pip install -e sdk/python # from the repo, or publish to your index
cargo build -p lybo-cli # the runtime the SDK drives
Create an agent
from lyboai import Client
with Client(data_dir="/tmp/agent", binary="./target/debug/lybo") as lybo:
lybo.install_knowledge(doc_id="handbook", title="Team Handbook",
body="Support tickets are answered within 24 hours.")
lybo.register_skill(skill_id="app.ask", name="Ask the handbook",
triggers=["what does the handbook say"],
keywords=["handbook"], pattern="retrieval")
session = lybo.start_session()
out = lybo.run_to_completion(session, "what does the handbook say about tickets")
print(out["output"]["text"], out["output"]["sources"])
Train routing from labelled examples
from lyboai import train_triggers
learned = train_triggers({
"faq.ask": ["what does the guide say about refunds", "search the faq"],
"task.plan": ["plan my week", "break this goal into steps"],
})
# → per-skill {"triggers": [...], "keywords": [...]} via class-discriminative
# tf-idf; feeds both the keyword tier and the on-device semantic centroids.
Build, sign, evaluate, ship a pack
from lyboai import PackBuilder, sign_pack, evaluate
src = (PackBuilder("acme.faq", "FAQ", "1.0.0", publisher="acme")
.add_knowledge("faq", "Store FAQ", "Refunds take five business days.")
.add_skill("faq.ask", "Ask FAQ", pattern="retrieval",
triggers=learned["faq.ask"]["triggers"],
keywords=learned["faq.ask"]["keywords"],
knowledge_scopes=["acme.faq"])
.add_eval_case("faq.suite", "routes", "what does the guide say about refunds",
expect_skill="faq.ask", expect_contains=["refund"])
.save("pack.json"))
sign_pack("pack.json", SECRET_KEY_HEX, "dist/acme-faq.lybopack")
with Client(data_dir="/tmp/qa", trust=[f"acme:{PUBLIC_KEY_HEX}"]) as lybo:
lybo.install_pack_file("dist/acme-faq.lybopack")
report = evaluate(lybo, suite) # routing + outcome + content checks
assert report.ok, report.summary() # gate your CI on this
Delegate to a cloud agent (agent-to-agent)
The local (device) agent can hand intensive work to a cloud LyboAI runtime —
the agent.delegate tool / delegate workflow step, with PII redaction at
the egress boundary and graceful local fallback (docs/cloud-delegation.md):
from lyboai import Client, HttpClient
# Provision / drive the cloud agent directly (lybo serve --http):
cloud = HttpClient("https://agent.example.com", token="SECRET")
print(cloud.healthz())
# A local agent that may delegate to it:
with Client(data_dir="/tmp/dev",
remote_agents={"cloud.orchestrator": "https://agent.example.com"},
remote_agent_token="SECRET") as lybo:
lybo.register_workflow({...}) # workflow with a {"kind": "delegate"} step
out = lybo.run_to_completion(lybo.start_session(), "run the deep analysis")
Export training data (privacy-preserving)
from lyboai import export_routing_dataset
export_routing_dataset(lybo, "routing.jsonl")
# skill ids, confidence, outcomes, latency, model ids — never raw user content.
Run the SDK's own tests: LYBO_BIN=./target/debug/lybo python3 -m unittest discover sdk/python/tests
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
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 lyboai-0.3.1.tar.gz.
File metadata
- Download URL: lyboai-0.3.1.tar.gz
- Upload date:
- Size: 20.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cc8e4301950a3a0d56a3e9b25ecac8a5b7ad571195b16baac0cbca75a4a615c6
|
|
| MD5 |
1b771fb64c962b76789e305fe7f692d4
|
|
| BLAKE2b-256 |
2f97f57a87374a6cb6ce70122887265878c690ac994cbd1901cabd836b00b0c4
|
File details
Details for the file lyboai-0.3.1-py3-none-any.whl.
File metadata
- Download URL: lyboai-0.3.1-py3-none-any.whl
- Upload date:
- Size: 18.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6134258900362c37c906a343d87447aac4cab3903fe0c69986478050505ee572
|
|
| MD5 |
e2f403cf84e5524b18aaac87948e28ee
|
|
| BLAKE2b-256 |
f72462c66c0bd652b54cdb89f1b4294498329d81401716676aa00641515d09d8
|