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
astra_runtime-0.1.5.tar.gz
(168.2 kB
view details)
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
astra_runtime-0.1.5-py3-none-any.whl
(179.1 kB
view details)
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
|