Contributing to asimov-gwdata
We welcome contributions to asimov-gwdata! This guide will help you get started.
Getting Started
Development Setup
Fork the repository on GitHub or git.ligo.org
Clone your fork locally:
$ git clone https://github.com/yourusername/asimov-gwdata.git
$ cd asimov-gwdata
Install the package in development mode:
Install the documentation dependencies:
$ pip install -r docs-requirements.txt
Making Changes
Code Style
Follow PEP 8 style guidelines for Python code
Use meaningful variable and function names
Add docstrings to all public functions and classes
Use Google or NumPy style docstrings
Testing
Before submitting changes:
Test your changes manually
Ensure existing functionality still works
Update tests if you add new features
Documentation
When adding new features:
Add docstrings to new functions and classes
Update relevant documentation pages in docs/
Add usage examples where appropriate
Build the documentation locally to verify:
Submitting Changes
Pull Request Process
Create a new branch for your changes:
$ git checkout -b feature/your-feature-name
Make your changes and commit them:
$ git add .
$ git commit -m "Add feature: description"
Push to your fork:
$ git push origin feature/your-feature-name
Create a pull request on GitHub
Pull Request Guidelines
Provide a clear description of the changes
Reference any related issues
Ensure all documentation is updated
Be responsive to feedback during review
Types of Contributions
Bug Reports
When reporting bugs, please include:
Your operating system and Python version
Steps to reproduce the issue
Expected behavior vs. actual behavior
Any error messages or stack traces
Feature Requests
We’re always interested in new ideas! When suggesting features:
Explain the use case clearly
Describe how it would benefit users
Consider backward compatibility
Documentation Improvements
Documentation improvements are always welcome:
Fix typos or unclear explanations
Add more examples
Improve API documentation
Add tutorials for common tasks
Code Contributions
Ideas for contributions:
Add support for new data sources
Improve error handling and messages
Optimize performance
Add new configuration options
Extend calibration support
Code Review Process
All submissions require review. We use GitHub pull requests for this purpose.
Reviews typically happen within a few days
Be patient and responsive to feedback
All discussions should be constructive and respectful
Maintainers have the final say on what gets merged
Getting Help
If you need help:
Thank you for contributing to asimov-gwdata!