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.1.tar.gz (26.0 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.1-py3-none-any.whl (36.4 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: astra_runtime-0.1.1.tar.gz
  • Upload date:
  • Size: 26.0 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.1.tar.gz
Algorithm Hash digest
SHA256 386595b60d5429c91a7727a44ccde339a324a09aded98985d2b5fe54d6e75094
MD5 418fe3be500edd737b473df30b4c46a0
BLAKE2b-256 660007361616b43b9f21c82b3c280a9888edb42ec61f369cfd3732143abd19c1

See more details on using hashes here.

File details

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

File metadata

  • Download URL: astra_runtime-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 36.4 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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 5ccfa8f559002a89580cf726d43396b3d1ceda797f46f8aa7ed0e20cc5a0b92b
MD5 8c029f017b54829438c39ecccdbe2b51
BLAKE2b-256 79be4f64cf0d9509079d8873f7ee53dd15e8f819a61c66f2d678f7e9a8ec9f5a

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