Thank you for your interest in contributing to LabSoundPy! This document provides guidelines and instructions for contributing to the project.
Please be respectful and considerate of others when contributing to this project. We aim to foster an inclusive and welcoming community.
- Fork the repository on GitHub
- Clone your fork locally
- Set up the development environment
- Create a new branch for your changes
- Make your changes
- Run tests to ensure your changes don't break existing functionality
- Submit a pull request
# Clone the repository
git clone https://github.com/LabSound/LabSound.git
cd LabSound/labsoundpy
# Install in development mode
pip install -e .
- Follow PEP 8 style guidelines
- Use Google-style docstrings
- Use type hints where appropriate
- Write unit tests for new functionality
- Follow the existing code style in the LabSound project
- Use C++17 features where appropriate
- Document all public APIs
- Write unit tests for new functionality
Before submitting a pull request, make sure all tests pass:
# Run Python tests
python -m unittest discover -s tests
# Build and run C++ tests
cd build
cmake --build . --target test
- Update the README.md or documentation with details of changes if appropriate
- Update the examples if you've added or changed functionality
- Make sure all tests pass
- The pull request will be reviewed by maintainers
- Address any feedback from the review
- Once approved, your changes will be merged
When adding new features, please follow these guidelines:
- Discuss major changes in an issue before implementing
- Ensure the feature is well-documented
- Add appropriate tests
- Add examples demonstrating the feature
- Update the API documentation
When reporting bugs, please include:
- A clear description of the bug
- Steps to reproduce the bug
- Expected behavior
- Actual behavior
- Environment information (OS, Python version, etc.)
Feature requests are welcome! Please include:
- A clear description of the feature
- Use cases for the feature
- Any relevant examples or references
By contributing to LabSoundPy, you agree that your contributions will be licensed under the same license as the project.