Thank you for your interest in contributing to OpenEvolve! This document provides guidelines and instructions for contributing to the project.
- Fork the repository
- Clone your fork:
git clone https://github.com/codelion/openevolve.git - Install the package in development mode:
pip install -e . - Run the tests to ensure everything is working:
python -m unittest discover tests
We recommend using a virtual environment for development:
python -m venv env
source env/bin/activate # On Windows: env\Scripts\activate
pip install -e ".[dev]"We follow the Black code style. Please format your code before submitting a pull request:
black openevolve tests examples- Create a new branch for your feature or bugfix:
git checkout -b feature/your-feature-name - Make your changes
- Add tests for your changes
- Run the tests to make sure everything passes:
python -m unittest discover tests - Commit your changes:
git commit -m "Add your descriptive commit message" - Push to your fork:
git push origin feature/your-feature-name - Submit a pull request to the main repository
We encourage adding new examples to showcase OpenEvolve's capabilities. To add a new example:
- Create a new directory in the
examplesfolder - Include all necessary files (initial program, evaluation code, etc.)
- Add a README.md explaining the example
- Make sure the example can be run with minimal setup
When reporting issues, please include:
- A clear description of the issue
- Steps to reproduce
- Expected behavior
- Actual behavior
- Environment details (OS, Python version, etc.)
Feature requests are welcome. Please provide:
- A clear description of the feature
- The motivation for adding this feature
- Possible implementation ideas (if any)
Please be respectful and considerate of others when contributing to the project. We aim to create a welcoming and inclusive environment for all contributors.