Skip to content

Contributing to MeshiPhi

Thank you for considering contributing to MeshiPhi!

How to Contribute

  • Fork the repository and create your branch from main.
  • Ensure code is well-documented and type-annotated.
  • Run tests and linters before submitting a pull request.
  • Add or update documentation as needed.

Development Setup

We provide a Makefile with common development commands to streamline your workflow. After cloning the repository, set up your development environment:

pip install -e .[dev]

Makefile Commands

The following commands are available via the Makefile:

  • make coverage - Generate coverage report (terminal and HTML)
  • make clean - Clean build artifacts and cache files
  • make docs - Build documentation
  • make docs-clean - Clean documentation build artifacts
  • make help - Show all available commands with descriptions

Pre-commit Hooks

We use pre-commit to automate code linting and formatting (Ruff). Please install and run pre-commit before pushing your changes:

pip install pre-commit
pre-commit install
pre-commit run --all-files

This will ensure your code passes all style checks before submission.

Pull Request Process

  • Describe your changes in detail.
  • Reference any related issues.
  • Ensure all CI checks pass.

Code Style

  • Use Ruff for linting and formatting.

Reporting Issues

  • Use the issue tracker to report bugs or request features.
  • For bug reports, please include:
  • A clear and concise description of the bug and what you expected to happen.
  • Steps to reproduce the behavior.
  • Screenshots and configuration/data files if relevant.
  • For feature/enhancement requests, please include:
  • A clear description of the problem or feature you want.
  • The solution you'd like to see.
  • Tag the issue appropriately and check for duplicates before submitting.