Metadata-Version: 2.4
Name: ethical-gardeners
Version: 0.0.1
Summary: A RL environment for learning ethically-aligned behaviours
Project-URL: Source code, https://github.com/ethicsai/ethicalgardeners
Project-URL: Bug Tracker, https://github.com/ethicsai/ethicalgardeners/issues
Project-URL: Documentation, https://ethicsai.github.io/ethical-gardeners/
Author: Enzo Dos Anjos
Author-email: Rémy Chaput <rchaput.pro@gmail.com>
License-Expression: MIT
Keywords: Gym,Gymnasium,Machine Ethics,Multi-Agent System,OpenAI Gym,Reinforcement Learning
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.9
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
Requires-Python: >=3.9
Requires-Dist: gymnasium>=0.26.0
Requires-Dist: hydra-core>=1.2.0
Requires-Dist: numpy>=1.20.0
Requires-Dist: pettingzoo>=1.20.0
Provides-Extra: algorithms
Requires-Dist: sb3-contrib>=2.0.0; extra == 'algorithms'
Requires-Dist: stable-baselines3>=2.0.0; extra == 'algorithms'
Provides-Extra: dev
Requires-Dist: flake8>=4.0.0; extra == 'dev'
Requires-Dist: pytest>=7.0.0; extra == 'dev'
Provides-Extra: docs
Requires-Dist: furo>=2022.11.15; extra == 'docs'
Requires-Dist: sphinx-copybutton>=0.5.0; extra == 'docs'
Requires-Dist: sphinx-multiversion>=0.2.4; extra == 'docs'
Requires-Dist: sphinx>=5.0.0; extra == 'docs'
Provides-Extra: metrics
Requires-Dist: wandb>=0.12.0; extra == 'metrics'
Provides-Extra: viz
Requires-Dist: opencv-python>=4.5.0; extra == 'viz'
Requires-Dist: pygame>=2.0.0; extra == 'viz'
Description-Content-Type: text/markdown

# EthicalGardeners

**EthicalGardeners** is a [PettingZoo](https://pettingzoo.farama.org/)
multi-agent environment for simulating gardeners tending to a grid-world
garden, including ethical considerations.

The goal is to make agents learn an ethically-aligned behaviour that includes
and respects these considerations.


## How to

### Run

To launch the simulation with default settings, use the following command in a shell, with the current
working directory being the project root:

```sh
python ethicalgardeners/main.py --config-name config
```

### Run tests

Tests must be placed in the `tests/` folder; files must follow the `test_*.py`
naming convention to be detected by unittest.

To run the tests, use the following command in a shell, with the current
working directory being the project root:

```sh
python -m unittest tests/test_*.py
```

### Build the docs

Documentation can be found in the `docs/` folder, and is built using Sphinx.
A quick command to build the documentation in the HTML format is:

```sh
cd docs/
make html
```

Then, open the `build/html/index.html` file in your favorite browser to read 
the rendered docs.

Documentation has its own requirements, which can be installed with

```sh
pip install -r docs/requirements.txt
```

See the [documentation](https://ethicsai.github.io/ethical-gardeners/main/index.html) for more details.
