Metadata-Version: 2.4
Name: co-simulations
Version: 0.2.1
Author: HZ-9000
Classifier: Programming Language :: Python :: 3
Requires-Python: >=3.11
Description-Content-Type: text/markdown
Provides-Extra: linting
Requires-Dist: pylint; extra == "linting"
Requires-Dist: mypy==1.18.1; extra == "linting"
Requires-Dist: typing-extensions; extra == "linting"
Requires-Dist: pre-commit; extra == "linting"
Requires-Dist: ruff; extra == "linting"
Requires-Dist: typeguard; extra == "linting"
Provides-Extra: testing-minimal
Requires-Dist: pytest; extra == "testing-minimal"
Requires-Dist: pytest-xdist; extra == "testing-minimal"
Requires-Dist: pytest-timeout; extra == "testing-minimal"
Requires-Dist: pytest-split; extra == "testing-minimal"
Provides-Extra: testing
Requires-Dist: co-simulations[testing_minimal]; extra == "testing"
Provides-Extra: docs
Requires-Dist: mkdocs; extra == "docs"
Requires-Dist: mkdocs-material; extra == "docs"
Requires-Dist: mkdocstrings[python]; extra == "docs"
Requires-Dist: markdown-callouts; extra == "docs"
Requires-Dist: markdown-exec[ansi]; extra == "docs"
Requires-Dist: black; extra == "docs"

<div align="center">

<picture>
  <source media="(prefers-color-scheme: light)" srcset="/docs/Common_Optima_Logo.png">
  <img alt="common optima logo" src="/docs/Common_Optima_Logo.png" width="45%" height="45%">
</picture>

<h3>

[Homepage](https://github.com/HZ-9000/co-simulations) | [Documentation](https://docs.co-simulations.dev/)

</h3>

[![Unit Tests](https://github.com/HZ-9000/co-simulations/actions/workflows/test.yml/badge.svg)](https://github.com/HZ-9000/co-simulations/actions/workflows/test.yml)
[![Pylint](https://github.com/HZ-9000/co-simulations/actions/workflows/lint.yml/badge.svg)](https://github.com/HZ-9000/co-simulations/actions/workflows/lint.yml)


</div>

---

co-simulations provides the following scenarios for testing collaboration between 2 intelligent systems:

- **Factory** Used for testing optimization of layouts and output.
- **Harbor** Used for testing response to emergency situations.
- **Dungeon** Used for testing problem solving and colaboration.

The package is used as part of a larger project called Common Optima, a website exploring the interactions between basic intelligent systems and ways to improve their efficency and optimizations.

---

## Installation

### From Pip

```sh
pip3 install co-simulations
```

### From source

```sh
git https://github.com/HZ-9000/co-simulations.git
cd co-simulations
python3 -m pip install -e .
```

---

## Documentation 

Documentation along with a quick start guide can be found on the [docs website](https://docs.co-simulations.dev/) built from the [docs/](/docs) directory.

---

### Running tests

For more examples on how to run the full test suite please refer to the [CI workflow](.github/workflows/test.yml).

Some examples of running tests locally:
```sh
python3 -m pip install -e '.[testing]'  # install extra deps for testing
python3 test/test_factory.py            # just the factory sim
python3 -m pytest test/                 # whole test suite
```
