Metadata-Version: 2.4
Name: Mesa-LLM
Version: 0.3.2
Summary: Generative Agent-Based Modeling with Large Language Models Empowered Agents
Project-URL: homepage, https://github.com/mesa/mesa-llm
Project-URL: repository, https://github.com/mesa/mesa-llm
Author-email: Mesa Team <maintainers@projectmesa.dev>
License: MIT
License-File: LICENSE
License-File: NOTICE
Requires-Python: >=3.12
Requires-Dist: litellm
Requires-Dist: mesa[rec]<4,>=3.0
Requires-Dist: ollama
Requires-Dist: python-dotenv
Requires-Dist: rich
Requires-Dist: tenacity
Requires-Dist: terminal-style
Provides-Extra: all
Requires-Dist: black[jupyter]; extra == 'all'
Requires-Dist: coverage; extra == 'all'
Requires-Dist: ipython; extra == 'all'
Requires-Dist: ipywidgets; extra == 'all'
Requires-Dist: isort; extra == 'all'
Requires-Dist: jupyterlab; extra == 'all'
Requires-Dist: jupyterlab-code-formatter; extra == 'all'
Requires-Dist: jupyterlab-execute-time; extra == 'all'
Requires-Dist: jupyterlab-lsp; extra == 'all'
Requires-Dist: matplotlib; extra == 'all'
Requires-Dist: myst-nb; extra == 'all'
Requires-Dist: myst-parser; extra == 'all'
Requires-Dist: pre-commit; extra == 'all'
Requires-Dist: pydata-sphinx-theme; extra == 'all'
Requires-Dist: pytest-asyncio; extra == 'all'
Requires-Dist: pytest-cov; extra == 'all'
Requires-Dist: pytest-mock; extra == 'all'
Requires-Dist: pytest>=4.6; extra == 'all'
Requires-Dist: python-lsp-server; extra == 'all'
Requires-Dist: ruff; extra == 'all'
Requires-Dist: seaborn; extra == 'all'
Requires-Dist: sphinx; extra == 'all'
Provides-Extra: dev
Requires-Dist: black[jupyter]; extra == 'dev'
Requires-Dist: coverage; extra == 'dev'
Requires-Dist: pre-commit; extra == 'dev'
Requires-Dist: pytest-asyncio; extra == 'dev'
Requires-Dist: pytest-cov; extra == 'dev'
Requires-Dist: pytest-mock; extra == 'dev'
Requires-Dist: pytest>=4.6; extra == 'dev'
Requires-Dist: ruff; extra == 'dev'
Requires-Dist: sphinx; extra == 'dev'
Provides-Extra: docs
Requires-Dist: ipython; extra == 'docs'
Requires-Dist: ipywidgets; extra == 'docs'
Requires-Dist: isort; extra == 'docs'
Requires-Dist: jupyterlab; extra == 'docs'
Requires-Dist: jupyterlab-code-formatter; extra == 'docs'
Requires-Dist: jupyterlab-execute-time; extra == 'docs'
Requires-Dist: jupyterlab-lsp; extra == 'docs'
Requires-Dist: matplotlib; extra == 'docs'
Requires-Dist: myst-nb; extra == 'docs'
Requires-Dist: myst-parser; extra == 'docs'
Requires-Dist: pydata-sphinx-theme; extra == 'docs'
Requires-Dist: python-lsp-server; extra == 'docs'
Requires-Dist: seaborn; extra == 'docs'
Requires-Dist: sphinx; extra == 'docs'
Description-Content-Type: text/markdown

# Mesa-LLM: Generative Agent-Based Modeling with Large Language Models Empowered Agents

| | |
| --- | --- |
| CI/CD | [![GitHub CI](https://github.com/mesa/mesa-llm/workflows/build/badge.svg)](https://github.com/mesa/mesa-llm/actions) [![Read the Docs](https://readthedocs.org/projects/mesa-llm/badge/?version=stable)](https://mesa-llm.readthedocs.io/) [![Codecov](https://codecov.io/gh/projectmesa/mesa-llm/branch/main/graph/badge.svg)](https://codecov.io/gh/projectmesa/mesa-llm) |
| Package | [![PyPI](https://img.shields.io/pypi/v/mesa-llm.svg)](https://pypi.org/project/mesa-llm) [![PyPI - License](https://img.shields.io/pypi/l/mesa-llm)](https://pypi.org/project/mesa-llm/) [![PyPI - Downloads](https://img.shields.io/pypi/dw/mesa-llm)](https://pypistats.org/packages/mesa-llm) |
| Meta | [![linting - Ruff](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json)](https://github.com/astral-sh/ruff) [![code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black) [![Hatch project](https://img.shields.io/badge/%F0%9F%A5%9A-Hatch-4051b5.svg)](https://github.com/pypa/hatch) |
| Chat | [![chat](https://img.shields.io/matrix/mesa-llm:matrix.org?label=chat&logo=Matrix)](https://matrix.to/#/#mesa-llm:matrix.org) |

Mesa-LLM integrates large language models (LLMs) as decision-making agents into the Mesa agent-based modeling (ABM) framework. It enables sophisticated, language-driven agent behaviors, allowing researchers to model scenarios involving communication, negotiation, and decision-making influenced by natural language.

> **⚠️ WARNING ⚠️**
> This repository is currently under active development. The API and functionality may change significantly. Please stay tuned for our first release coming soon!

## Installation

To install Mesa-LLM, run:
```bash
pip install -U mesa-llm
```

Mesa-LLM pre-releases can be installed with:
```bash
pip install -U --pre mesa-llm
```

You can also use `pip` to install the GitHub version:
```bash
pip install -U -e git+https://github.com/mesa/mesa-llm.git#egg=mesa-llm
```

Or any other (development) branch on this repo or your own fork:
```bash
pip install -U -e git+https://github.com/YOUR_FORK/mesa-llm@YOUR_BRANCH#egg=mesa-llm
```

For more help on using Mesa-LLM, check out the following resources:

- [Getting Started](http://mesa-llm.readthedocs.io/en/stable/getting_started.html)
- [Docs](http://mesa-llm.readthedocs.io/)
- [Mesa-LLM Discussions](https://github.com/mesa/mesa-llm/discussions)
- [PyPI](https://pypi.org/project/mesa-llm/)

## Supported LLM Providers

Mesa-LLM supports the following LLM providers:

- OpenAI
- Anthropic
- xAI
- Hugging Face
- Ollama
- OpenRouter
- Novita AI
- Google Gemini


## Contributing to Mesa-LLM

Want to join the team, or just curious about what is happening with Mesa and Mesa-LLM? You can:

- Join our [Matrix chat room](https://matrix.to/#/#mesa-llm:matrix.org) where questions, issues, and ideas can be discussed informally.
- Come to a monthly dev session (you can find dev session times, agendas, and notes at [Mesa discussions](https://github.com/mesa/mesa/discussions)).
- Check out the code on [GitHub](https://github.com/mesa/mesa-llm/).

If you run into an issue, please file a [ticket](https://github.com/mesa/mesa-llm/issues) for us to discuss. If possible, follow up with a pull request.

If you would like to add a feature, please reach out via a [ticket](https://github.com/mesa/mesa-llm/issues) or join a dev session (see [Mesa discussions](https://github.com/mesa/mesa/discussions)).

A feature is most likely to be added if you build it!

Don't forget to check out the [Contributors Guide](https://github.com/mesa/mesa-llm/blob/main/CONTRIBUTING.md).
