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.3.tar.gz (129.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.3-py3-none-any.whl (178.2 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: avs_blueprint_agents-0.6.3.tar.gz
  • Upload date:
  • Size: 129.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.3.tar.gz
Algorithm Hash digest
SHA256 04026bb295c9d303fe5690a2ee812052f02955abb2c8a6b58b00c9696a4155e8
MD5 e209f5950e098b034aab57a9a7204075
BLAKE2b-256 28978f6ecbb461a83678ea919e62c7c3120c263978dd53d1c8b41ccb16372a55

See more details on using hashes here.

Provenance

The following attestation bundles were made for avs_blueprint_agents-0.6.3.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.3-py3-none-any.whl.

File metadata

File hashes

Hashes for avs_blueprint_agents-0.6.3-py3-none-any.whl
Algorithm Hash digest
SHA256 a94ca75bd3a66f5ad55cbe85fb7c6054cbae67fcef65fe4d5b9977ced45a2457
MD5 7d93b233c1d4b6e0dec294467e94ec10
BLAKE2b-256 a5ac971f9e2004b2a0aa488cc3764afb386ee61e23bf927649539de88f96f506

See more details on using hashes here.

Provenance

The following attestation bundles were made for avs_blueprint_agents-0.6.3-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