Skip to main content

Astra Runtime - Build AI agents, teams, and RAG pipelines in Python with embedded runtime and FastAPI server

Project description

Astra Runtime

🚀 Build AI agents, teams, and RAG pipelines in pure Python.

Astra Runtime provides everything you need to build intelligent AI applications:

  • Embedded Mode: Use agents directly in your Python code
  • Server Mode: Deploy as REST APIs with FastAPI

PyPI version Python 3.10+ License: MIT

Installation

pip install astra-runtime

Optional Dependencies

# With MongoDB support
pip install astra-runtime[mongodb]

# With AWS Bedrock support
pip install astra-runtime[aws]

# Everything
pip install astra-runtime[all]

Quick Start

Embedded Mode

import asyncio
from astra import Agent, Gemini

agent = Agent(
    model=Gemini(model="gemini-2.0-flash"),
    instructions="You are a helpful assistant"
)

async def main():
    response = await agent.invoke("Hello!")
    print(response.content)

asyncio.run(main())

Server Mode

from astra import Agent, Gemini
from astra.server import create_app

agent = Agent(
    name="assistant",
    model=Gemini(model="gemini-2.0-flash"),
    instructions="You are a helpful assistant"
)

app = create_app(agents={"assistant": agent})

# Run with: uvicorn main:app --reload

With Tools

from astra import Agent, Tool, tool, Gemini

@tool
def get_weather(city: str) -> str:
    """Get the current weather for a city."""
    return f"The weather in {city} is sunny, 72°F"

agent = Agent(
    model=Gemini(model="gemini-2.0-flash"),
    instructions="You are a weather assistant",
    tools=[get_weather]
)

RAG (Retrieval-Augmented Generation)

from astra import Agent, Rag, LanceDB, HuggingFaceEmbedder, Gemini

# Create RAG pipeline
rag = Rag(
    vector_db=LanceDB(path="./my_db"),
    embedder=HuggingFaceEmbedder()
)

# Ingest documents
await rag.ingest("path/to/documents/")

# Create agent with RAG
agent = Agent(
    model=Gemini(model="gemini-2.0-flash"),
    instructions="Answer questions using the provided context",
    rag=rag
)

Features

Feature Description
🤖 Agents Build intelligent agents with tools, memory, and context
📚 RAG Retrieval-Augmented Generation with custom pipelines
🗄️ Storage LibSQL, MongoDB, and LanceDB backends
🛡️ Guardrails PII filtering, content moderation, prompt injection detection
🔧 Tools Easy function calling with @tool decorator
👥 Teams Multi-agent collaboration and delegation
🌐 Server FastAPI-based REST API with streaming support
💾 Memory Short-term and long-term agent memory
🔌 Middleware Input/output processing pipelines

Model Support

  • Google Gemini: Gemini(model="gemini-2.0-flash")
  • OpenAI: OpenAI(model="gpt-4")
  • AWS Bedrock: Bedrock(model="anthropic.claude-3")
  • HuggingFace Local: HuggingFaceLocal("Qwen/Qwen2.5-0.5B-Instruct")

Documentation

License

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

astra_runtime-0.1.4.tar.gz (168.2 kB view details)

Uploaded Source

Built Distribution

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

astra_runtime-0.1.4-py3-none-any.whl (179.0 kB view details)

Uploaded Python 3

File details

Details for the file astra_runtime-0.1.4.tar.gz.

File metadata

  • Download URL: astra_runtime-0.1.4.tar.gz
  • Upload date:
  • Size: 168.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.2

File hashes

Hashes for astra_runtime-0.1.4.tar.gz
Algorithm Hash digest
SHA256 bff585cd25a711965b9f5b4038468b42329f63d729b576b3aa4becfb7e590781
MD5 b8d5b8766c455b06ebb33e4ab240eb49
BLAKE2b-256 c81a018ca1b08a63d59904217d8c55f95896644da293b2d8e25040827c1d1364

See more details on using hashes here.

File details

Details for the file astra_runtime-0.1.4-py3-none-any.whl.

File metadata

  • Download URL: astra_runtime-0.1.4-py3-none-any.whl
  • Upload date:
  • Size: 179.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.2

File hashes

Hashes for astra_runtime-0.1.4-py3-none-any.whl
Algorithm Hash digest
SHA256 947b84041cea377d9c14789684aa84d8e13e9c310d5bc014c603626aee9efe7a
MD5 97184b77cde0dc86eede4e9c16975d2f
BLAKE2b-256 d930e2f4a217bf7314382a1f0ea7f5fa3a1e9d50dd6dedbdad886587624b4bbc

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