Metadata-Version: 2.4
Name: agentfield
Version: 0.1.0
Summary: Python SDK for the AgentField control plane
Author: AgentField Maintainers
License: Apache-2.0
Project-URL: Homepage, https://github.com/Agent-Field/agentfield
Project-URL: Documentation, https://github.com/Agent-Field/agentfield/tree/main/docs
Project-URL: Issues, https://github.com/Agent-Field/agentfield/issues
Keywords: agentfield,sdk,agents
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Requires-Python: >=3.10
Description-Content-Type: text/markdown
Requires-Dist: fastapi
Requires-Dist: uvicorn
Requires-Dist: requests>=2.28
Requires-Dist: pydantic>=2.0
Requires-Dist: litellm
Requires-Dist: psutil
Requires-Dist: PyYAML>=6.0
Requires-Dist: aiohttp>=3.8
Requires-Dist: websockets
Provides-Extra: dev
Requires-Dist: pytest<9,>=7.4; extra == "dev"
Requires-Dist: pytest-asyncio<0.24,>=0.21; extra == "dev"
Requires-Dist: pytest-cov<5,>=4.1; extra == "dev"
Requires-Dist: responses<0.26,>=0.23; extra == "dev"
Requires-Dist: respx<0.22,>=0.20; extra == "dev"
Requires-Dist: freezegun<2,>=1.2; extra == "dev"
Requires-Dist: syrupy<5,>=4; extra == "dev"
Requires-Dist: hypothesis<7,>=6.88; extra == "dev"
Requires-Dist: pytest-socket<0.8,>=0.6; extra == "dev"

# AgentField Python SDK

The AgentField SDK provides a production-ready Python interface for registering agents, executing workflows, and integrating with the AgentField control plane.

## Installation

```bash
pip install agentfield
```

To work on the SDK locally:

```bash
git clone https://github.com/Agent-Field/agentfield.git
cd agentfield/sdk/python
python -m pip install -e .[dev]
```

## Quick Start

```python
from agentfield import Agent

agent = Agent(
    node_id="example-agent",
    agentfield_server="http://localhost:8080",
    dev_mode=True,
)

@agent.reasoner()
async def summarize(text: str) -> dict:
    result = await agent.ai(
        prompt=f"Summarize: {text}",
        response_model={"summary": "string", "tone": "string"},
    )
    return result

if __name__ == "__main__":
    agent.serve(port=8001)
```

See `docs/DEVELOPMENT.md` for instructions on wiring agents to the control plane.

## Testing

```bash
pytest
```

To run coverage locally:

```bash
pytest --cov=agentfield --cov-report=term-missing
```

## License

Distributed under the Apache 2.0 License. See the project root `LICENSE` for details.
