Contributing

Contributions to asimov-bayeswave are welcome! This page provides guidelines for contributing to the project.

Development Setup

  1. Fork the repository on GitHub

  2. Clone your fork:

    git clone https://github.com/YOUR_USERNAME/asimov-bayeswave.git
    cd asimov-bayeswave
    
  3. Install in development mode with test dependencies:

    pip install -e ".[docs,test]"
    
  4. Create a new branch for your changes:

    git checkout -b feature/your-feature-name
    

Running Tests

The project uses pytest for testing. To run the test suite:

pytest

To run with coverage reporting:

pytest --cov=asimov_bayeswave --cov-report=html

Building Documentation

To build the documentation locally:

cd docs
make html

The built documentation will be in docs/build/html/.

Code Style

Please follow these guidelines:

  • Use PEP 8 style for Python code

  • Include docstrings for all public functions and classes

  • Use NumPy-style docstrings

  • Add type hints where appropriate

  • Keep line length to 100 characters or less

Submitting Changes

  1. Commit your changes with clear, descriptive commit messages

  2. Push to your fork

  3. Submit a pull request to the main repository

  4. Ensure all CI checks pass

Your pull request should:

  • Include tests for new functionality

  • Update documentation as needed

  • Pass all existing tests

  • Follow the project’s code style

Reporting Issues

If you find a bug or have a feature request, please open an issue on the GitHub issue tracker. Include:

  • A clear description of the issue

  • Steps to reproduce (for bugs)

  • Expected vs. actual behavior

  • Your environment (OS, Python version, asimov version, etc.)

License

By contributing to asimov-bayeswave, you agree that your contributions will be licensed under the project’s license.

© Copyright 2026, Daniel Williams.
Created using Sphinx 9.0.4.