LIATE — L[LM] · I[ntegration] · A[gent] · T[ools] · E[nvironment]
Class is an Agent. Agent is an API.
The Open Source AI Agent Runtime for OOP Architecture. 🇮🇳
🎉 Liate is selected for the Sarvam AI Startup Program.
Built solo by Vinod Hatti (@solovinod)
Run Millions of AI Agents on Edge Cloud. Free Forever. Self Host.
Agent is a Function on Neon — 1,000,000 free runs/month on your own account.
If your language has a class — your class can be an AI Agent.
Java · JavaScript · TypeScript · Python
Deploy Free — 1M Agent Runs/Month (BYOC)
Not a Framework. A Runtime.
Frameworks tell you how to write code.
A runtime executes your code.
Liate is the runtime for AI Agents.
You write a class. Liate runs it as an autonomous AI Agent — locally, on edge, or on your own cloud.
The 3 Pillars
- 🛠️ Build Your Own AI Agent — Extend
LiateAgent. Your class IS the agent and the API. Zero boilerplate. - 🧠 Bring Your Own AI (BYOAI) — Plug in your own Sarvam AI key (
SARVAM_API_KEY). Direct access, zero markup. - ☁️ Bring Your Own Cloud (BYOC) — Connect your own Neon account. 1,000,000 free agent runs/month on your own infrastructure.
Hello Agent ⚡
The frontier agent. One class. All 5 layers. Any OOP language.
TypeScript
import { LiateAgent } from "liate";
class HelloAgent extends LiateAgent {
constructor() {
super({
L: "sarvam/sarvam-105b",
I: { memory: "sessions/hello" },
A: { name: "hello-agent", prompt: "You are HelloAgent." },
T: ["mcp/local"],
E: { SARVAM_API_KEY: process.env.SARVAM_API_KEY }
});
}
}
await new HelloAgent().run("Hello Agent World!");
Java
import dev.liate.LiateAgent;
public class HelloAgent extends LiateAgent {
public HelloAgent() {
super(new AgentConfig()
.L("sarvam/sarvam-105b")
.I("sessions/hello")
.A("hello-agent", "You are HelloAgent.")
.T("mcp/local")
.E("SARVAM_API_KEY")
);
}
}
new HelloAgent().run("Hello Agent World!");
Python
from liate import LiateAgent
import os
class HelloAgent(LiateAgent):
def __init__(self):
super().__init__(
L="sarvam/sarvam-105b",
I={"memory": "sessions/hello"},
A={"name": "hello-agent", "prompt": "You are HelloAgent."},
T=["mcp/local"],
E={"SARVAM_API_KEY": os.environ["SARVAM_API_KEY"]}
)
await HelloAgent().run("Hello Agent World!")
JavaScript
import { LiateAgent } from "liate";
class HelloAgent extends LiateAgent {
constructor() {
super({
L: "sarvam/sarvam-105b",
I: { memory: "sessions/hello" },
A: { name: "hello-agent", prompt: "You are HelloAgent." },
T: ["mcp/local"],
E: { SARVAM_API_KEY: process.env.SARVAM_API_KEY }
});
}
}
await new HelloAgent().run("Hello Agent World!");
Or zero-code with agent.json:
{
"L": "sarvam/sarvam-105b",
"I": { "memory": "sessions/hello" },
"A": { "name": "hello-agent", "prompt": "You are HelloAgent." },
"T": ["mcp/local"],
"E": { "SARVAM_API_KEY": "$SARVAM_API_KEY" }
}
npx liate run agent.json "Hello Agent World!"
Run on the fly
No project setup needed:
npx liate run "Analyze this repository and find performance bottlenecks"
Deploy to Your Own Cloud (BYOC) 🚀
Deploy the Liate runtime engine directly into your own Neon account:
# Connect your own Neon account via OAuth
liate connect --neon
# Deploy Liate engine to your Neon account
liate deploy --neon
- Scale to Zero — zero cost when agents sleep.
- Neon Cron — scheduled agents wake up automatically.
- 1,000,000 free executions/month on your own account.
- Your data never leaves your own infrastructure.
The LIATE Architecture
Every agent runs on 5 layers, declared as class properties:
+--------------------------------------------------+
| [L] LLM — Sarvam AI (India-First) |
+--------------------------------------------------+
| [I] Integration — Conversation Memory |
+--------------------------------------------------+
| [A] Agent — Name + Intent |
+--------------------------------------------------+
| [T] Tools — MCP Server Connector |
+--------------------------------------------------+
| [E] Environment — API Keys & Edge Runtime |
+--------------------------------------------------+
The 5 Layers (L·I·A·T·E)
| Layer | Name | Day 1 | Community PRs |
|---|---|---|---|
| L | LLM | Sarvam AI (hub/llm/sarvam.json) 🇮🇳 |
Add OpenAI, Claude, Gemini... |
| I | Integration | In-memory conversation state | Add Neon Postgres, Redis... |
| A | Agent | LiateAgent class — name, prompt, intent |
Add ReAct, multi-agent... |
| T | Tools | Local MCP v2 (stdio) | Add remote MCP servers... |
| E | Environment | Pure .env key reader |
Add edge isolate configs... |
Contributing
Liate's core runtime is minimal and focused.
The hub/ directory belongs to the community:
- Add a new LLM → PR to
hub/llm/ - Share your agent → PR to
hub/agents/
License
MIT © 2026 Vinod Hatti (@solovinod). Free and open source forever.
Metadata
Release files for liate 0.0.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| liate-0.0.0.tar.gz | 6.2 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| liate-0.0.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 11.0 kB
Release files / liate-0.0.0.tar.gz
| Download URL | liate-0.0.0.tar.gz |
|---|---|
| Size | 6.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
7d9984b121ef7ce8bb8da805ac0876390fe1e05049d0487d2e7b01823cdc1a5a
|
|
BLAKE2b-256 checksum How to use checksums |
e5ab3093aa8778295614df3407814205c60884b0243dbf5966be43e82cbf0334
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.10
|
Release files / liate-0.0.0-py3-none-any.whl
| Download URL | liate-0.0.0-py3-none-any.whl |
|---|---|
| Size | 4.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
43fe6c6a0879dc4386fc9a36bf339925503fdff6f3b20b7686de3912a62d1143
|
|
BLAKE2b-256 checksum How to use checksums |
1b690cc9d0cf234bf6057624d85eb9b90e57e08e143609ce6fc2122c1b42b097
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.10
|
Security for liate 0.0.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.