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¶
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¶
Code Style¶
EvoToolkit uses: - Black for code formatting - isort for import sorting - Type hints throughout the codebase
Format your code:
Submitting Changes¶
- Commit your changes with clear messages
- Push to your fork
- Open a Pull Request
- Respond to review feedback
Questions?¶
Join GitHub Discussions or email pguo6680@gmail.com