Skip to main content

A developer-friendly framework for building AI agents with Google ADK

Project description

FastADK

FastADK is an open‑source Python framework that layers ergonomic abstractions over Google ADK and Vertex AI, enabling developers to design, test, and deploy tool‑using LLM agents with minimal boilerplate. Declarative decorators, auto‑generated FastAPI routes, pluggable memory back‑ends, and built‑in observability let teams prototype locally and scale the same code seamlessly to containerised, serverless environments.

Quality Assurance

Before submitting any code changes, please run our quality checks locally. See the Developer Guidelines for Quality Assurance for detailed instructions.

Features

  • Declarative Agent Development: Create agents with simple @Agent and @tool decorators
  • Configuration System: YAML/TOML-based configuration with environment variables support
  • CLI Interface: Interactive command-line interface for agent development and testing
  • Testing Utilities: Built-in testing framework for agent validation and simulation
  • Comprehensive Observability: Logging, metrics, and tracing for monitoring agent behavior

Quick Start

from fastadk import Agent, BaseAgent, tool

@Agent(model="gemini-1.5-pro", description="Weather assistant")
class WeatherAgent(BaseAgent):
    @tool
    def get_weather(self, city: str) -> dict:
        """Fetch current weather for a city."""
        return {"city": city, "temp": "22°C", "condition": "sunny"}

# Run the agent
if __name__ == "__main__":
    import asyncio
    
    async def main():
        agent = WeatherAgent()
        response = await agent.run("What's the weather in London?")
        print(response)
    
    asyncio.run(main())

Configuration

FastADK supports configuration through YAML or TOML files and environment variables:

# fastadk.yaml
environment: dev

model:
  provider: gemini
  model_name: gemini-1.5-pro
  api_key_env_var: GEMINI_API_KEY

memory:
  backend_type: inmemory
  ttl_seconds: 3600

telemetry:
  log_level: debug

Testing

FastADK provides a testing framework for agent validation:

from fastadk.testing import AgentTest, test_scenario

class TestWeatherAgent(AgentTest):
    agent = WeatherAgent()
    
    @test_scenario("sunny_weather")
    async def test_sunny_weather(self):
        response = await self.agent.run("What's the weather in London?")
        assert "sunny" in response.lower()
        assert self.agent.tools_used == ["get_weather"]

Installation

pip install fastadk

License

FastADK is released under the MIT License.

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

fastadk-0.1.0.tar.gz (125.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

fastadk-0.1.0-py3-none-any.whl (59.9 kB view details)

Uploaded Python 3

File details

Details for the file fastadk-0.1.0.tar.gz.

File metadata

  • Download URL: fastadk-0.1.0.tar.gz
  • Upload date:
  • Size: 125.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.8

File hashes

Hashes for fastadk-0.1.0.tar.gz
Algorithm Hash digest
SHA256 0b324c92ec3dece6bee3b4a789a0f78cac6f39ec7d9f02458b3d156d1514ec0f
MD5 0f8ed0dfbc411ef08c9fd6ccd281269e
BLAKE2b-256 c50765fa600763329ab1ee2b863b3681137fdb350eaafff2d6abdb5a82cc2b83

See more details on using hashes here.

File details

Details for the file fastadk-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: fastadk-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 59.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.8

File hashes

Hashes for fastadk-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 ff36b0d61b01b538a4252c4e82493a3a6be02d84a500811776102d478fe6c8e4
MD5 ea94716227140ea9e6d9a4fb1a999cfe
BLAKE2b-256 388a75e88f9245c870298e64568b26efe93518bb602348e0ed7510036aebc818

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page