Metadata-Version: 2.3
Name: openmas
Version: 0.1.0
Summary: OpenMAS: A lightweight SDK for building Multi-Agent Systems
License: MIT
Keywords: multi-agent-systems,mas,agent,ai,mcp,model-context-protocol,sdk
Author: Wilson Urdaneta
Author-email: wilson.urdaneta@gmail.com
Requires-Python: >=3.10,<4.0
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Provides-Extra: all
Provides-Extra: grpc
Provides-Extra: mcp
Provides-Extra: mqtt
Requires-Dist: aiohttp (>=3.11.18,<4.0.0)
Requires-Dist: fastapi (>=0.115.12,<0.116.0)
Requires-Dist: grpcio (>=1.71.0,<2.0.0) ; extra == "grpc" or extra == "all"
Requires-Dist: grpcio-tools (>=1.71.0,<2.0.0) ; extra == "grpc" or extra == "all"
Requires-Dist: httpx (>=0.25.0)
Requires-Dist: httpx-sse (>=0.4.0,<0.5.0)
Requires-Dist: mcp (==1.6.0) ; extra == "mcp" or extra == "all"
Requires-Dist: paho-mqtt (>=1.6.1,<2.0.0) ; extra == "mqtt" or extra == "all"
Requires-Dist: protobuf (>=5.26.1,<6.0.0) ; extra == "grpc" or extra == "all"
Requires-Dist: pydantic (>=2.5.0,<3.0.0)
Requires-Dist: python-chess (>=1.999,<2.0)
Requires-Dist: python-dotenv (>=1.1.0,<2.0.0)
Requires-Dist: pyyaml (>=6.0.1,<7.0.0)
Requires-Dist: structlog (>=23.2.0,<24.0.0)
Requires-Dist: typer (>=0.15.2,<0.16.0)
Requires-Dist: uvicorn (>=0.34.2,<0.35.0)
Project-URL: Documentation, https://docs.openmas.ai
Project-URL: Homepage, https://openmas.ai
Project-URL: Repository, https://github.com/openmas-ai/openmas
Description-Content-Type: text/markdown

# OpenMAS

[![PyPI version](https://img.shields.io/pypi/v/openmas.svg)](https://pypi.org/project/openmas/)
[![Python Version](https://img.shields.io/badge/python-3.10-blue.svg)](https://www.python.org/downloads/)
[![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](https://opensource.org/licenses/MIT)
[![Poetry](https://img.shields.io/endpoint?url=https://python-poetry.org/badge/v0.json)](https://python-poetry.org/)
[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)
[![CI/CD](https://github.com/openmas-ai/openmas/actions/workflows/ci-cd.yml/badge.svg)](https://github.com/openmas-ai/openmas/actions)
[![codecov](https://codecov.io/gh/openmas-ai/openmas/graph/badge.svg)](https://codecov.io/gh/openmas-ai/openmas)


**Build Intelligent Agent Systems**

OpenMAS is a lightweight Python SDK for building asynchronous Multi-Agent Systems (MAS) with first-class support for the Model Context Protocol (MCP).

It provides the essential tools and patterns to create sophisticated, independent agents that can communicate, coordinate, and interact with AI models and services.

**Full Documentation:** [**https://docs.openmas.ai**](https://docs.openmas.ai)

## Key Features

*   **Simplified Agent Development:** Build agents inheriting from `BaseAgent` with a clear asynchronous lifecycle (`setup`, `run`, `shutdown`).
*   **Flexible Communication:** Pluggable communicators for HTTP, Model Context Protocol (SSE & Stdio), and **experimental** support for gRPC and MQTT, with **lazy loading** to keep dependencies minimal. Easily extend with custom communicators. See [Communication](guides/communication.md).
*   **Environment Configuration:** Easily configure agents via environment variables or configuration files.
*   **Testing Utilities:** Includes tools like `MockCommunicator` and `AgentTestHarness`.
*   **Deployment Ready:** CLI tools to help generate Dockerfiles.
*   **Agent Patterns:** Built-in support for patterns like Orchestrator-Worker.
*   **Package Management:** Git-based dependency management for agents using `openmas deps`.
*   **Structured Projects:** Standardized directory layout (`agents/`, `shared/`, `extensions/`, `packages/`) generated by `openmas init` promotes modularity and maintainability. See [Project Structure](project_structure.md).

## Installation

```bash
pip install openmas
```

OpenMAS has optional extras for different communication protocols (`[mcp]`, `[grpc]`, `[mqtt]`, `[all]`).

See the full [Installation Guide](https://docs.openmas.ai/installation/) for details on prerequisites, virtual environments, and optional dependencies.

## Quick Start

The best way to get started with OpenMAS is by following our detailed tutorial, which guides you through creating and running your first agent using the standard project structure:

* [**Getting Started Guide**](https://docs.openmas.ai/getting_started/)

This guide uses the `openmas init` command to set up a project with the proper directory structure and `openmas run` to execute the agent.

## Contributing

Contributions are welcome! Please see the [Contributing Guide](https://docs.openmas.ai/contributing/) for details on how to get involved, set up your development environment, run tests (`tox`), and submit pull requests.

## License

OpenMAS is licensed under the [MIT License](LICENSE).

