To get the development installation with all the necessary dependencies, please run the following:
git clone https://github.com/gymprecice/gymprecice.git
cd gymprecice
pip install -e .
pip install -e .[dev]
pre-commit install
We use GitHub issues to track public bugs. Please ensure your description is clear and has sufficient instructions to reproduce the issue.
Please avoid using the issue tracker for questions or debugging personal forks. Instead please use our tutorials discussions forum
Please note that if you have any contributions concerning the Gym-preCICE adapter, it should be submitted to our gymprecice repository.
We accept the following types of contributions:
- Bug reports
- New environment requests
- Pull requests for bug fixes
- Documentation improvements
- Performance improvements/issues
For pull requests, the project runs a number of tests for the whole project using pytest
.
- To check all test units locally, run:
pytest ./tests
Gym-preCICE uses pre-commit to run several checks at every new commit. This enforces a common code style across the repository. We use black for code formatting, flake8 for linting, pyright for type checking, and Pydocstyle to check if all new functions/classes/modules follow the google docstring style.
Please follow the development installation instructions to install the necessary dependencies.
Note: You might have to run pre-commit run --all-files
a few times since formatting tool formats the code initially and fails the first time.
Note: We do not check or enforce format/style/type/docstring for Python scripts that define controllers (e.g. ppo_controller.py
) in our tutorials.
By contributing to Gym-preCICE and its tutorials, you agree that your contributions will be licensed under the LICENSE file in the root directory of this source tree.