Skip to content

Contributing to EvoToolkit

Thank you for your interest in contributing to EvoToolkit! This guide will help you get started.


Ways to Contribute

  • πŸ› Report bugs - Submit issues on GitHub
  • πŸ’‘ Suggest features - Share your ideas
  • πŸ“ Improve documentation - Fix typos, add examples
  • πŸ”§ Submit code - Fix bugs or add features
  • πŸŽ“ Share examples - Contribute tutorials and use cases

Development Setup

1. Fork and Clone

git clone https://github.com/your-username/evotoolkit.git
cd evotool

2. Install Development Dependencies

# Install development dependencies
uv sync --group dev

# Optional: Install specific task dependencies
uv sync --extra cuda_engineering       # For CUDA tasks
uv sync --extra scientific_regression  # For scientific regression
uv sync --extra adversarial_attack     # For adversarial attacks
uv sync --extra all_tasks              # All task dependencies

3. Create a Branch

git checkout -b feature/your-feature-name

Code Style

EvoToolkit uses: - Black for code formatting - isort for import sorting - Type hints throughout the codebase

Format your code:

uv run black .
uv run isort .

Submitting Changes

  1. Commit your changes with clear messages
  2. Push to your fork
  3. Open a Pull Request
  4. Respond to review feedback

Questions?

Join GitHub Discussions or email pguo6680@gmail.com