Contributing

We welcome contributions to lisa-gap! Whether you’re reporting bugs, suggesting features, improving documentation, or contributing code, your help is appreciated.

Getting Started

If you’re interested in contributing, here are several ways you can help:

Reporting Issues

Found a bug or have a feature request? Please check if it already exists in our issue tracker and create a new issue if needed.

When reporting bugs, please include:

  • Your operating system and Python version

  • lisa-gap version

  • A minimal code example that reproduces the issue

  • The full error message or unexpected behavior

Suggesting Features

We’re always interested in new ideas! Open an issue with the “enhancement” label and describe:

  • What you’d like to see

  • Why it would be useful

  • How you envision it working

Contributing Code

If you’d like to contribute code, here’s how to get started:

Setting Up Development Environment

  1. Fork the repository on GitHub

  2. Clone your fork locally:

    git clone https://github.com/yourusername/lisa-gap.git
    cd lisa-gap
    
  3. Install in development mode:

    pip install -e ".[dev]"
    
  4. Create a new branch for your work:

    git checkout -b feature-name
    

Making Changes

  • Write clear, documented code

  • Add tests for new functionality

  • Ensure existing tests still pass

  • Follow the existing code style

  • Update documentation as needed

Testing

Run the test suite to ensure your changes don’t break existing functionality:

uv run pytest tests/

Submitting Changes

  1. Commit your changes with a clear commit message

  2. Push to your fork on GitHub

  3. Open a pull request against the main repository

Pull Request Guidelines

  • Provide a clear description of what your changes do

  • Reference any related issues

  • Include tests for new functionality

  • Ensure all tests pass

  • Update documentation if needed

Documentation

Documentation improvements are always welcome! You can:

  • Fix typos or unclear explanations

  • Add examples or tutorials

  • Improve API documentation

  • Translate documentation (future feature)

To build documentation locally if using uv:

cd docs
uv run make clean
uv run make html

Questions?

If you have questions about contributing, feel free to:

  • Open an issue for discussion

  • Reach out to the maintainers

  • Start a discussion on GitHub

  • email Ollie Burke directly – ollie.burke@glasgow.ac.uk

Happy coding!