Skip to main content

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


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)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

artificer_agents-0.1.0a12-py3-none-any.whl (19.2 kB view details)

Uploaded Python 3

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

Hashes for artificer_agents-0.1.0a12.tar.gz
Algorithm Hash digest
SHA256 61b0aaadd8a0229e27bfbe6e56793a971123062892e6eb199faf68b70613c31a
MD5 7af7d6be3b565dde34c56c42c203bd47
BLAKE2b-256 3a81cf46759313f2aef9ffb1dd28abea1310549e2f096000ab7d89f4128b6c96

See more details on using hashes here.

File details

Details for the file artificer_agents-0.1.0a12-py3-none-any.whl.

File metadata

File hashes

Hashes for artificer_agents-0.1.0a12-py3-none-any.whl
Algorithm Hash digest
SHA256 bff9f67b20f8b29a6f0b76311b3f6ef37b60cf10f98eda98f50e07d1339f1c86
MD5 c45a35fc4592c89e9bdd59cb53b1417c
BLAKE2b-256 1689a4b6e187cf1b359c95c6f5882bf505e1e37b13150f63bf4c4f5d41a810cf

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