EZ Smolagents makes smolagents easy.
Project description
EZSmolagents
EZSmolagents makes smolagents easy - a simplified API for running AI agents with LiteLLMModel using Docker isolation.
Quick Start
from easyrun import run_simple
result = run_simple("Write a Python script that fetches weather data", model="openai/gpt-4o-mini")
Installation
pip install -e .
Requires Docker and a LiteLLM-compatible API key (e.g., OpenRouter).
Features
- Docker isolation: Safe execution with configurable security levels
- Multiple execution modes: Docker (isolated) or local (development)
- Streaming support: Real-time output
- Any LiteLLM model: OpenAI, Anthropic, Google, etc.
- Simple API: Just import and run
Usage
Docker Execution (default)
from easyrun import run_simple
result = run_simple(
prompt="Write a Python script that fetches weather data",
model="openai/gpt-4o-mini",
api_key="your-api-key",
security_level="standard" # or "strict" / "relaxed"
)
Streaming Execution
from easyrun import run_simple_stream
for line in run_simple_stream("Write a report"):
print(line, end="")
Local Execution (no Docker)
from easyrun import run_local
result = run_local("Debug this code", model="openai/gpt-4o-mini")
Security Levels
| Level | Capabilities | Read-only FS | Network | Memory | CPU |
|---|---|---|---|---|---|
strict |
All dropped | Yes | Disabled | 512MB | 50% |
standard |
All dropped | No | Enabled | 1GB | 100% |
relaxed |
Minimal | No | Enabled | None | None |
Custom Executor Scripts
You can also pass a custom executor script:
result = run_simple(
"Analyze the data",
model="openai/gpt-4o",
executor_path="/path/to/my_task.py"
)
Your script should define a main(prompt, model) or run(prompt, model) function.
Setup
The Docker runner uses a custom image ezsmolagents-runner:latest with smolagents[litellm] pre-installed. Build it with:
docker build -t ezsmolagents-runner -f - . <<'EOF'
FROM python:3.13-slim
RUN pip install --no-cache-dir smolagents[litellm]>=1.24.0 docker>=7.1.0
EOF
Or use the pre-built image (if available).
License
GNU Affero General Public License v3.0
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
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 ezsmolagents-1.0.0-py3-none-any.whl.
File metadata
- Download URL: ezsmolagents-1.0.0-py3-none-any.whl
- Upload date:
- Size: 23.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
63d4b6521141dd530fbf5069301aca1826f634de1a7d663455fb3cb6c005cef5
|
|
| MD5 |
4adf6b600fd9a888e1d1e18dc9e28b25
|
|
| BLAKE2b-256 |
1aa2035f81f8fc9bc61e0fde8a3615de54c09210ca22cbdc57964c3ec3fbeab2
|