Skip to main content

Microservice blueprint for creating agents

Project description

Blueprint Agents

PyPI version Python 3.13+ License: MIT CI

A Python framework for building production-ready AI agent microservices with event-driven architecture.

Blueprint Agents gives you a component-based toolkit for building intelligent microservices that process events, call LLMs, expose REST APIs, and run scheduled tasks -- all wired together with a fluent builder API and backed by production-grade observability.


Key Features

  • Component Architecture -- Five composable base classes (EventHandlerBase, ServiceBase, RestApiBase, AgentRuntime, SchedulerBase) assembled via a fluent AppBuilder
  • Event-Driven Processing -- CloudEvents v1.0 with chain-of-responsibility handlers, Dapr and NATS pub/sub support
  • LLM Integration -- AI agents powered by Pydantic AI with structured outputs, tool calling, and multi-model support (OpenAI, vLLM)
  • Built-in Observability -- OpenTelemetry tracing, metrics, and structured logging out of the box
  • CLI Scaffolding -- Generate complete project structures and individual components with the asbs CLI
  • Deployment Ready -- Docker, Kubernetes with Helm charts, health checks, and CI/CD patterns included

Quick Start

# Install the framework
pip install avs-blueprint-agents

# Scaffold a new project
asbs setup my-agent

# Start developing
cd my-agent
pip install -e .
asbs dev

Your service is now running at http://localhost:8000 with interactive API docs at /docs.


Installation

Stable Release (PyPI)

pip install avs-blueprint-agents

Or with uv:

uv add avs-blueprint-agents

Alpha Release (TestPyPI)

To install the latest alpha version for testing, add the TestPyPI index to your pyproject.toml:

[[tool.uv.index]]
name = "test-pypi"
url = "https://test.pypi.org/simple/"
priority = "supplemental"

Then install:

uv add avs-blueprint-agents

Or with pip:

pip install --index-url https://test.pypi.org/simple/ --extra-index-url https://pypi.org/simple/ avs-blueprint-agents

From Source

git clone https://github.com/2SpeakAI/blueprint-agents.git
cd blueprint-agents
pip install -e ".[dev]"

How It Works

Blueprint Agents uses five composable component types, wired together with the AppBuilder:

from blueprint.agents import AppBuilder, AgentBuilder, Config

from src.handlers.order_handler import OrderHandler
from src.services.order_service import OrderService
from src.api.routes import OrderApi

config = Config(settings_files=["settings.toml", "secrets.toml"])

app = (
    AppBuilder(config)
    .with_handler(OrderHandler)
    .with_service(OrderService)
    .with_rest_api(OrderApi())
    .with_cache()
    .build()
)

The Five Components

Component Base Class Purpose
Event Handler EventHandlerBase Process CloudEvents via chain-of-responsibility with priority ordering
Service ServiceBase Encapsulate business logic with full registry access
REST API RestApiBase Define HTTP endpoints with @get(), @post(), @put(), @delete(), @patch() decorators
Agent AgentRuntime Run LLM agents with structured outputs, tool calling, and prompt management
Scheduler SchedulerBase Execute cron-based background tasks with auto-registered trigger endpoints

Component Lifecycle

All components follow a consistent lifecycle managed by the framework:

__init__()     -->  Register with component registry
on_startup()   -->  Resolve dependencies, connect to external services
[running]      -->  Process events, handle requests, run tasks
on_shutdown()  -->  Clean up resources, close connections

Examples

Explore complete, runnable examples in the examples/ directory:

Example Description Components Used
inventory_api Product inventory CRUD REST API RestApiBase, ServiceBase, Cache
order_event_pipeline E-commerce order processing with Dapr pub/sub EventHandlerBase, ServiceBase, Dapr
document_summarizer LLM-powered document summarization with structured output AgentRuntime, AgentBuilder, Tools
webhook_relay Webhook ingestion and normalization pipeline with NATS EventHandlerBase, NATS, Cache
health_monitor System health monitoring with scheduled checks SchedulerBase, ServiceBase, Cache

Configuration

Blueprint Agents uses Dynaconf for hierarchical configuration via TOML files:

settings.toml (checked into version control):

[default]
app_name = "my-agent"
app_port = 8000
event_bus = "dapr"          # "dapr", "nats", or "sessions"
log_level = "INFO"

[default.runtimes.my_agent]
model_provider = "openai"
model_name = "gpt-4o-mini"
model_max_tokens = 1000
model_temperature = 0.3

[default.cache]
cache_dir = ".cache/my-agent"
default_ttl = 3600

secrets.toml (never commit this file):

[default.runtimes.my_agent]
model_api_key = "sk-your-api-key"

For the sessions transport (consumes SSE jobs from service-sessions):

[default]
event_bus = "sessions"

[default.sessions_service]
base_url = "http://sessions:8000"
agent_id = "my-agent"
agent_type = "analyser"
capabilities = ["analyse_documents"]
api_key = "@format {env[SESSIONS_API_KEY]}"
max_concurrent_jobs = 5
job_timeout_seconds = 300

No SessionsBus, SessionsApiClient, or SessionKeyProvider references in service main.pyAppBuilder.build() wires them automatically.

See the Configuration Reference for all available settings.


CLI Reference

The asbs CLI scaffolds projects and components:

asbs setup <project-name>                         # Create a new project
asbs create handler <name> [--event-type <type>]  # Add an event handler
asbs create service <name>                        # Add a business service
asbs create api <name>                            # Add a REST API
asbs create agent <name>                          # Add an AI agent
asbs create scheduler <name> [--cron <expr>]      # Add a scheduler
asbs validate                                     # Validate project structure
asbs dev [--port <port>]                          # Run development server

See the full CLI Reference.


Deployment

Blueprint Agents services deploy as standard Python containers:

  • Docker -- Multi-stage Dockerfile included with scaffolded projects
  • Kubernetes -- Helm charts with Dapr sidecar injection, health probes, and ConfigMap/Secret management
  • CI/CD -- GitHub Actions workflows for linting, testing, and publishing

See the Deployment Guide for detailed instructions.


Documentation

Getting Started

Core Concepts

Component Guides

Operations

Reference


Requirements

  • Python 3.13+
  • Docker (optional, for containerized deployment)
  • Dapr CLI (optional, for Dapr pub/sub event processing)
  • NATS Server (optional, for NATS event processing)
  • API keys for AI providers (optional, only for LLM agent features)

Contributing

We welcome contributions! See CONTRIBUTE.md for guidelines on:

  • Setting up the development environment
  • Running tests and linting
  • Submitting pull requests

License

This project is licensed under the MIT License. See LICENSE for details.

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

avs_blueprint_agents-0.6.1.tar.gz (124.0 kB view details)

Uploaded Source

Built Distribution

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

avs_blueprint_agents-0.6.1-py3-none-any.whl (173.0 kB view details)

Uploaded Python 3

File details

Details for the file avs_blueprint_agents-0.6.1.tar.gz.

File metadata

  • Download URL: avs_blueprint_agents-0.6.1.tar.gz
  • Upload date:
  • Size: 124.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for avs_blueprint_agents-0.6.1.tar.gz
Algorithm Hash digest
SHA256 353b22c2dcec01d1725e398d727d2559f953cd3b15cf8289c8a72ea21a7962f5
MD5 ea62f04eaa477b75051c8ec307efd628
BLAKE2b-256 f0ba742595af04da6d51defc5ae5139f9b33325d27a9e290260aabbb5dc8cc54

See more details on using hashes here.

Provenance

The following attestation bundles were made for avs_blueprint_agents-0.6.1.tar.gz:

Publisher: publish.yml on bechtleav360/AVS.AI.Blueprint.AgenticService

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file avs_blueprint_agents-0.6.1-py3-none-any.whl.

File metadata

File hashes

Hashes for avs_blueprint_agents-0.6.1-py3-none-any.whl
Algorithm Hash digest
SHA256 54d3dbe6cea0b515ceacedb1bd87138c013e050f0fa786397300dc7dcfdab4f2
MD5 fa2b9c95c301698eecb5be3af3d49b8d
BLAKE2b-256 470a53260625c28639a7273414264c404a231dfff8785c31878a1b2d0b894643

See more details on using hashes here.

Provenance

The following attestation bundles were made for avs_blueprint_agents-0.6.1-py3-none-any.whl:

Publisher: publish.yml on bechtleav360/AVS.AI.Blueprint.AgenticService

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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