A library for creating agents
Project description
artificer-agents
A lightweight Python library for running deterministic agent loops with MCP tools.
Installation
pip install artificer-agents
# With OpenAI support
pip install artificer-agents[openai]
Requires Python 3.13+.
Usage
Define agents as classes:
import asyncio
from pydantic import BaseModel
from artificer.agents import Agent
from artificer.agents.mcp import MCPClient
from artificer.agents.models import OpenAIModel
class Input(BaseModel):
query: str
class Output(BaseModel):
result: str
class MyAgent(Agent):
system_prompt = "You are a helpful assistant."
model = OpenAIModel(model="gpt-4o-mini")
mcp_client = MCPClient(["path/to/mcp-server.py"]) # optional
_input_schema = Input
_output_schema = Output
async def main():
agent = MyAgent()
async with agent.mcp_client:
result = await agent.run(Input(query="Hello"), verbose=True)
print(result.result)
asyncio.run(main())
Simple String Agents
For simple str -> str agents, no schemas needed:
class SimpleAgent(Agent):
system_prompt = "Answer questions concisely."
model = OpenAIModel(model="gpt-4o-mini")
result = await SimpleAgent().run("What is Python?")
print(result.output) # StringOutput with .output field
Subagents
Agents can spawn other agents:
class ResearcherAgent(Agent):
system_prompt = "Research the topic and return findings."
model = model
mcp_client = mcp_client
_input_schema = ResearchInput
_output_schema = ResearchOutput
class OrchestratorAgent(Agent):
system_prompt = "Use the researcher subagent to gather info."
model = model
subagents = [ResearcherAgent()]
_input_schema = Input
_output_schema = Output
Development
uv sync # Install dependencies
./scripts/check.sh # Run all checks (lint, format, typecheck, tests)
./scripts/test.sh # Run tests only
./scripts/format.sh # Format code
License
MIT
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 Distribution
artificer_agents-0.1.0a12.tar.gz
(96.8 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
File details
Details for the file artificer_agents-0.1.0a12.tar.gz.
File metadata
- Download URL: artificer_agents-0.1.0a12.tar.gz
- Upload date:
- Size: 96.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.8.22
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
61b0aaadd8a0229e27bfbe6e56793a971123062892e6eb199faf68b70613c31a
|
|
| MD5 |
7af7d6be3b565dde34c56c42c203bd47
|
|
| BLAKE2b-256 |
3a81cf46759313f2aef9ffb1dd28abea1310549e2f096000ab7d89f4128b6c96
|
File details
Details for the file artificer_agents-0.1.0a12-py3-none-any.whl.
File metadata
- Download URL: artificer_agents-0.1.0a12-py3-none-any.whl
- Upload date:
- Size: 19.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.8.22
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
bff9f67b20f8b29a6f0b76311b3f6ef37b60cf10f98eda98f50e07d1339f1c86
|
|
| MD5 |
c45a35fc4592c89e9bdd59cb53b1417c
|
|
| BLAKE2b-256 |
1689a4b6e187cf1b359c95c6f5882bf505e1e37b13150f63bf4c4f5d41a810cf
|