adk-extra-services icon indicating copy to clipboard operation
adk-extra-services copied to clipboard

A Python package providing additional service implementations for the Google ADK framework (S3, Redis, MongoDB, Azure, etc)

ADK Extra Services

License Python Tests

Extensions and additional services for the Agent Development Kit (ADK)

ADK Extra Services provides production-ready implementations of common services needed for building robust AI agents with the Google ADK framework.

🚀 Installation

pip install adk-extra-services

🛠️ Development Setup

If you want to contribute to the project or modify the source code, follow these steps:

  1. Clone the repository:

    git clone https://github.com/edu010101/adk-extra-services.git
    cd adk-extra-services
    
  2. Check out our Contributing Guidelines for detailed setup instructions and development workflow.

📖 Services

🔄 Sessions

Persistent session storage implementations for ADK agents.

Available Services:

  • MongoDBSessionService: Persistent session storage using MongoDB

    from adk_extra_services.sessions import MongoSessionService
    
    mongo_service = MongoSessionService(
      mongo_url="mongodb://your_mongo_uri:your_mongo_port",
      db_name="adk_test"
    )
    
  • RedisSessionService: High-performance session storage using Redis

    from adk_extra_services.sessions import RedisSessionService
    
    redis_service = RedisSessionService(redis_url="redis://your_redis_uri:your_redis_port")
    

For complete usage examples and API documentation, see the Sessions Guide.

📦 Artifacts

Storage and management of agent artifacts.

Available Services:

  • S3ArtifactService: Store and manage artifacts in AWS S3 or compatible storage (Compatible with MinIO, DigitalOcean Spaces, Wasabi, Backblaze B2, and others)

    from adk_extra_services.artifacts import S3ArtifactService
    
    s3_artifact_service = S3ArtifactService(
      bucket_name="your_bucket_name",
      endpoint_url="https://{your-bucket-name}.s3.{region}.amazonaws.com",
    )
    
    
  • LocalFolderArtifactService: Lightweight local-filesystem storage ideal for development & testing environments.

    from adk_extra_services.artifacts import LocalFolderArtifactService
    
    artifact_service = LocalFolderArtifactService(base_path="./artifacts_storage")
    
  • AzureBlobArtifactService: Store and manage artifacts in Azure Blob Storage

    from adk_extra_services.artifacts import AzureBlobArtifactService
    from azure.core.credentials import AzureSasCredential
    
    azure_service = AzureBlobArtifactService(
        account_url="https://yourstorageaccount.blob.core.windows.net",
        container_name="your-container-name",
        credential=AzureSasCredential("your-sas-token"),
        ensure_container=True,
    )
    
  • SupabaseArtifactService: Store and manage artifacts in Supabase Storage

    from adk_extra_services.artifacts import SupabaseArtifactService
    
    supabase_service = SupabaseArtifactService(
        bucket_name="artifacts"  # or from env vars SUPABASE_BUCKET
    )
    

For complete usage examples and API documentation, see the Artifacts Guide.

🤝 Contributing

Contributions are welcome! Please see our Contributing Guidelines for details.

📄 License

This project is licensed under the Apache 2.0 License - see the LICENSE file for details.