Contributing to Predator-Prey Gridworld Environment¶
Thank you for your interest in contributing! This project aims to provide a clean, interpretable environment for Multi-Agent Reinforcement Learning research, and contributions from the community help make that possible.
We welcome contributions of all kinds: bug fixes, new features, documentation improvements, and more. This guide will walk you through the process step-by-step.
Table of Contents¶
Code of Conduct¶
By participating in this project, you agree to abide by our Code of Conduct. Please treat all contributors with respect and help us maintain a welcoming community.
Getting Started¶
1. Fork the Repository¶
Click the "Fork" button on the top right of the repository page to create your own copy.
2. Clone Your Fork¶
3. Add Upstream Remote¶
4. Set Up Development Environment¶
Prerequisite: Python 3.10-3.12.
# Create virtual environment
python -m venv .venv
# Activate it (Windows)
.\.venv\Scripts\Activate.ps1
# Activate it (macOS/Linux)
source .venv/bin/activate
# Install the package + development dependencies (editable)
pip install -e ".[dev,baselines]"
pip install -e . makes ppage (including ppage.baselines) importable without
setting PYTHONPATH, so the verification commands below run as-is from the
repository root.
5. Verify Setup¶
# Run tests
python -m pytest tests/ -q
# Check formatting
black --check .
# Check linting
flake8 .
pylint src
Development Workflow¶
Branching, commit conventions, what CI checks on your PR, and how to resolve conflicts are all covered in one place: Git Workflow.
The short version: branch from STRP (not main), never touch core/,
run the checks above before pushing, and open your PR against STRP.