| Hey everyone! I'm excited to share ADK-Rust - a production-ready implementation of Google's Agent Development Kit in Rust. Why Rust?
After working extensively with adk-python in developing an ai agent factory at zavora.ai, I wanted to bring the same powerful agent development patterns to the Rust ecosystem, targeting use cases where: Performance is critical - Rust's zero-cost abstractions and memory safety
Deployment size matters - Single binary with no runtime dependencies
Systems-level integration - Embedded systems, edge computing, IoT
Concurrency at scale - Rust's async/await with tokio
Features
ADK-Rust maintains API parity with the Python ADK where possible: Model-agnostic - Gemini, OpenAI, Anthropic, DeepSeek support
Multiple agent types - LlmAgent, SequentialAgent, ParallelAgent, LoopAgent
Tool support - Built-in tools (Google Search, Code Execution) + custom tools
MCP support - Model Context Protocol integration
Sessions & Memory - InMemorySessionService, DatabaseSessionService
Streaming - Full streaming support for real-time responses
Telemetry - OpenTelemetry integration for tracing/metrics
A2A Protocol - Agent-to-Agent communication Quick Example use adk_rust::prelude::*; #[tokio::main]
async fn main() -> Result<()> {
let agent = LlmAgentBuilder::new()
.name("my_agent")
.model(GeminiModel::new("gemini-2.0-flash")?)
.instruction("You are a helpful assistant.")
.build()?; let response = agent.run("Hello!").await?;
println!("{}", response);
Ok(())
}Links
Crates.io: https://crates.io/crates/adk-rust
Docs: https://docs.rs/adk-rust
Website: https://adk-rust.com/
GitHub: https://github.com/zavora-ai/adk-rust
Looking for Feedback
I'd love to hear from the community: What agentic features would you prioritize?
Any interest in contributing or testing?
Use cases where a Rust implementation would be valuable?
This is an independent community project, not officially affiliated with Google, but designed to be compatible with the ADK ecosystem. Thanks for reading! |