gamms


Namegamms JSON
Version 0.2.6 PyPI version JSON
download
home_pageNone
SummaryGAMMS (Graph based Adversarial Multiagent Modelling Simulator) is a Python library designed for simulating large scale multi-agent scenarios on environments represented as graphs
upload_time2025-10-07 18:38:09
maintainerNone
docs_urlNone
authorAndre Dion, Xiao Jiang
requires_python>=3.9
licenseNone
keywords multi-agent simulation graphs adversarial
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # GAMMS v0.2.6

GAMMS (Graph based Adversarial Multiagent Modelling Simulator) is a Python library designed for simulating large scale multi-agent scenarios on environments represented as graphs. The library is a framework which focuses on providing a flexible and extensible architecture to facilitate implementing interactions between agents and the environment as well as controlling the information flow between them. The library is geared towards easing development of high level scenario dynamics and testing agent behaviours rather than low level details like the actual physics of real world interactions. GAMMS tries to solve the following problems:

1. Run large simulations involving multiple agents on an everyday laptop.
2. Provide a simple interface to the user to define the agents and the environment.
3. Allow the user to work with the agents and the environment without worrying about the underlying packages.
4. Create a simulater that is easy to use on any operating system (Windows, Mac, Linux) and is easy to install.

The uniqueness of GAMMS comes from *what it is not* trying to be. It is *not* a physics engine, game engine, deep learning library, or a reinforcement learning library. The goal of GAMMS is to provide a framework where the user can use any of these libraries to implement their own agents and environments. Other libraries like [Unity](https://unity.com), [PyBullet](https://pybullet.org/wordpress/), and [OpenAI Gym](https://gymnasium.farama.org/) are great for simulating environments but they are not designed to be used as a framework for multi-agent simulations on graphs. GAMMS is trying to address the niche use for researchers and developers who want to do a quick iterations on their ideas and test them in simulated environments that have limited interactions. GAMMS want to be a tool to create a standardized way for simulating multi-agent systems, making it easier to share and reproduce results.

## Requirements

Python 3.9+ installed with pip.

Package dependecies:
- pygame
- shapely
- networkx
- cbor2
- aenum
- osmnx

## Installation

Direct pip installation from PyPI:

```bash
pip install gamms
```

Installation support is directly from the source code. If you have git installed,

```bash
pip install "git+https://github.com/GAMMSim/gamms.git"
```

Another option is to download the source code locally and run the following command in the root directory of the project:

```bash
pip install .
```

Detailed installation and setup instructions are available in the [Installation Guide](https://gammsim.github.io/gamms/stable/start/#installation-and-setup).

# Documentation

The documentation is available at [GAMMS Documentation](https://gammsim.github.io/gamms/stable/). The documentation is generated using [mkdocs-materials](https://squidfunk.github.io/mkdocs-material/) with mike for versioning. You can do a local build by cloning the repository and serving the documentation using mkdocs. For new users, [Tutorials](https://gammsim.github.io/gamms/stable/tutorials) is a good place to start.

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "gamms",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.9",
    "maintainer_email": null,
    "keywords": "multi-agent, simulation, graphs, adversarial",
    "author": "Andre Dion, Xiao Jiang",
    "author_email": "Rohan Patil <rpatil@ucsd.edu>, Jai Malegaonkar <jmalegaonkar@ucsd.edu>",
    "download_url": "https://files.pythonhosted.org/packages/2a/4c/87f6b082a57c0db10caed55cb577b453cdebbed5d8307d97e3017948776c/gamms-0.2.6.tar.gz",
    "platform": null,
    "description": "# GAMMS v0.2.6\n\nGAMMS (Graph based Adversarial Multiagent Modelling Simulator) is a Python library designed for simulating large scale multi-agent scenarios on environments represented as graphs. The library is a framework which focuses on providing a flexible and extensible architecture to facilitate implementing interactions between agents and the environment as well as controlling the information flow between them. The library is geared towards easing development of high level scenario dynamics and testing agent behaviours rather than low level details like the actual physics of real world interactions. GAMMS tries to solve the following problems:\n\n1. Run large simulations involving multiple agents on an everyday laptop.\n2. Provide a simple interface to the user to define the agents and the environment.\n3. Allow the user to work with the agents and the environment without worrying about the underlying packages.\n4. Create a simulater that is easy to use on any operating system (Windows, Mac, Linux) and is easy to install.\n\nThe uniqueness of GAMMS comes from *what it is not* trying to be. It is *not* a physics engine, game engine, deep learning library, or a reinforcement learning library. The goal of GAMMS is to provide a framework where the user can use any of these libraries to implement their own agents and environments. Other libraries like [Unity](https://unity.com), [PyBullet](https://pybullet.org/wordpress/), and [OpenAI Gym](https://gymnasium.farama.org/) are great for simulating environments but they are not designed to be used as a framework for multi-agent simulations on graphs. GAMMS is trying to address the niche use for researchers and developers who want to do a quick iterations on their ideas and test them in simulated environments that have limited interactions. GAMMS want to be a tool to create a standardized way for simulating multi-agent systems, making it easier to share and reproduce results.\n\n## Requirements\n\nPython 3.9+ installed with pip.\n\nPackage dependecies:\n- pygame\n- shapely\n- networkx\n- cbor2\n- aenum\n- osmnx\n\n## Installation\n\nDirect pip installation from PyPI:\n\n```bash\npip install gamms\n```\n\nInstallation support is directly from the source code. If you have git installed,\n\n```bash\npip install \"git+https://github.com/GAMMSim/gamms.git\"\n```\n\nAnother option is to download the source code locally and run the following command in the root directory of the project:\n\n```bash\npip install .\n```\n\nDetailed installation and setup instructions are available in the [Installation Guide](https://gammsim.github.io/gamms/stable/start/#installation-and-setup).\n\n# Documentation\n\nThe documentation is available at [GAMMS Documentation](https://gammsim.github.io/gamms/stable/). The documentation is generated using [mkdocs-materials](https://squidfunk.github.io/mkdocs-material/) with mike for versioning. You can do a local build by cloning the repository and serving the documentation using mkdocs. For new users, [Tutorials](https://gammsim.github.io/gamms/stable/tutorials) is a good place to start.\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "GAMMS (Graph based Adversarial Multiagent Modelling Simulator) is a Python library designed for simulating large scale multi-agent scenarios on environments represented as graphs",
    "version": "0.2.6",
    "project_urls": {
        "Bug Tracker": "https://github.com/gammsim/gamms/issues",
        "Homepage": "https://gammsim.github.io/gamms",
        "Repository": "https://github.com/gammsim/gamms"
    },
    "split_keywords": [
        "multi-agent",
        " simulation",
        " graphs",
        " adversarial"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "ac0a8089f4583f784fc69d636e7490111b8487c929cf42e580c438f48bf1e9b8",
                "md5": "0d89e8de33c0299659860346029d26fc",
                "sha256": "416bcd4d4f53d7452fa3ee407772f8699b7cce5c44588c27f31cf16418a3e31d"
            },
            "downloads": -1,
            "filename": "gamms-0.2.6-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "0d89e8de33c0299659860346029d26fc",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.9",
            "size": 64948,
            "upload_time": "2025-10-07T18:38:08",
            "upload_time_iso_8601": "2025-10-07T18:38:08.449468Z",
            "url": "https://files.pythonhosted.org/packages/ac/0a/8089f4583f784fc69d636e7490111b8487c929cf42e580c438f48bf1e9b8/gamms-0.2.6-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "2a4c87f6b082a57c0db10caed55cb577b453cdebbed5d8307d97e3017948776c",
                "md5": "75e4095d86da4b58eb5f8009e544f384",
                "sha256": "6657e011390e053d59acfee67766d3630c527aa7393d3536935dae7ac4eb86c4"
            },
            "downloads": -1,
            "filename": "gamms-0.2.6.tar.gz",
            "has_sig": false,
            "md5_digest": "75e4095d86da4b58eb5f8009e544f384",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.9",
            "size": 10438793,
            "upload_time": "2025-10-07T18:38:09",
            "upload_time_iso_8601": "2025-10-07T18:38:09.865108Z",
            "url": "https://files.pythonhosted.org/packages/2a/4c/87f6b082a57c0db10caed55cb577b453cdebbed5d8307d97e3017948776c/gamms-0.2.6.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-10-07 18:38:09",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "gammsim",
    "github_project": "gamms",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "gamms"
}
        
Elapsed time: 1.39706s