Contributing

We welcome contributions to the IGRA Toolkit! This guide will help you get started.

Development Setup

  1. Fork the repository

  2. Clone your fork:

    git clone https://github.com/your-username/igrat.git
    cd igrat
    
  3. Create a virtual environment:

    python -m venv venv
    source venv/bin/activate  # On Windows: venv\Scripts\activate
    
  4. Install development dependencies:

    pip install -e ".[dev]"
    

Code Style

We follow these coding standards:

  • Use Google-style docstrings

  • Follow PEP 8 guidelines

  • Use type hints

  • Write unit tests for new features

Running Tests

Run the test suite:

pytest

Check code style:

black .
flake8

Documentation

Build the documentation:

cd docs
make html

Pull Request Process

  1. Create a new branch for your feature

  2. Write tests for your changes

  3. Update documentation

  4. Submit a pull request

Pull requests should:

  • Have a clear description

  • Include tests

  • Update documentation

  • Pass all CI checks

Code Review

All submissions require review. We look for:

  • Code quality

  • Test coverage

  • Documentation

  • Performance impact

Getting Help

  • Open an issue for bugs

  • Use discussions for questions

  • Join our community chat