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
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
- 📖 Examples
- 🐛 Issues
- 💬 Discussions
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file astra_runtime-0.1.5.tar.gz.
File metadata
- Download URL: astra_runtime-0.1.5.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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6bca8684b3f5f6e276fc4ec8c99b6080b06c741886abddfee39fc155696b1753
|
|
| MD5 |
d7d2ee4f1580bb5b227500872c0c6412
|
|
| BLAKE2b-256 |
b189cf4491c2d4739d88a79ece28fa061d92969e31cb3df8127c7f061c3db4e9
|
File details
Details for the file astra_runtime-0.1.5-py3-none-any.whl.
File metadata
- Download URL: astra_runtime-0.1.5-py3-none-any.whl
- Upload date:
- Size: 179.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fc8058a061b08d6a52b8df38cdf81023b120002befdd02a04df9f66e80d6e43b
|
|
| MD5 |
55d049909c9f837b518179506528ae3c
|
|
| BLAKE2b-256 |
1879735514b934dba3cb72af5a80ab546e61e7eb11a79f3e1dcaab1bd213f12b
|