Skip to main content

Launchpad

The Enterprise AI Capability SDK

Launchpad provides a standardized way to turn AI/ML research implementations into reusable, production-ready capabilities. Define your capability once with typed Pydantic contracts — Launchpad handles how it gets delivered.

Why Launchpad?

AI teams repeatedly solve the same problems: wrapping a model call in retry logic, exposing a capability as an API, logging inputs/outputs for evaluation, versioning prompts. Launchpad makes this a one-time effort.

You implement a capability once. Launchpad handles:

  • Multiple delivery mechanisms — REST API, gRPC, CLI, SDK import, async queue
  • Typed contracts — Pydantic models as first-class input/output schemas, validated at every boundary
  • Observability — structured logging, tracing, evaluation hooks
  • Configuration — prompt versioning, model routing, runtime overrides
  • Reliability — retries, fallbacks, circuit breakers

Core Concepts

Concept Description
Capability A typed, self-contained AI function: Capability[InputModel, OutputModel]
Adapter A delivery mechanism that exposes a capability (HTTP, gRPC, etc.)
Pipeline A composable chain of capabilities

Quick Start

pip install launchpad-ai
pip install 'launchpad-ai[http]'  # for the HTTP adapter

Define your contracts as Pydantic models, then implement the capability:

from pydantic import BaseModel
from launchpad import Capability, capability

class SummarizeInput(BaseModel):
    text: str
    max_length: int = 200

class SummarizeOutput(BaseModel):
    summary: str

@capability(name="summarize", version="1.0")
class Summarize(Capability[SummarizeInput, SummarizeOutput]):
    def run(self, input: SummarizeInput) -> SummarizeOutput:
        # your implementation here
        ...

Use it directly:

result = Summarize().run(SummarizeInput(text="..."))
print(result.summary)

Or serve it over HTTP:

from launchpad.adapters.http import HttpAdapter

HttpAdapter(Summarize).serve(port=8080)
# POST /summarize  →  { "text": "...", "max_length": 200 }
# GET  /health
# GET  /docs       (OpenAPI)

Project Structure

launchpad/
├── src/launchpad/
│   ├── core/          # Capability[I,O] base class and @capability decorator
│   ├── adapters/      # http/ — delivery mechanisms
│   ├── pipeline/      # Capability composition
│   ├── observability/ # Structured logging, OpenTelemetry, eval hooks
│   └── config/        # Prompt versioning, model routing
├── examples/          # Self-contained runnable examples
└── tests/

Documentation

See AGENTS.md for conventions used when building capabilities and adapters in this repo.

License

Apache 2.0

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

launchpad_ai-0.1.0.tar.gz (4.6 MB view details)

Uploaded Source

Built Distribution

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

launchpad_ai-0.1.0-py3-none-any.whl (10.3 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: launchpad_ai-0.1.0.tar.gz
  • Upload date:
  • Size: 4.6 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.10.9

File hashes

Hashes for launchpad_ai-0.1.0.tar.gz
Algorithm Hash digest
SHA256 d585ba23652c9739133b934798dddc8e9f34c003ae636be4327b2f60f0d3e47d
MD5 fee789accaae388956973a65a97c7390
BLAKE2b-256 f63a78d6014adfc847b5b577cb33a043d56d0e174f86af0e3ac1869b0aa89806

See more details on using hashes here.

File details

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

File metadata

  • Download URL: launchpad_ai-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 10.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.10.9

File hashes

Hashes for launchpad_ai-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 e81c01852378c57c1f1f363a789e012c9feeb279c8db186f6f937635ce793fd8
MD5 b7f3fc0817c4bb5f311d4769c5ccb186
BLAKE2b-256 ebdca977ba34a8375b36de8bffbc2c7820dba5fcab52030f73124e52b68d8c58

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