Contributing
We welcome contributions to fmus-vox! This guide will help you get started.
Getting Started
Fork the repository
Clone your fork
git clone https://github.com/your-username/fmus-vox.git
cd fmus-vox
Install in development mode
pip install -e ".[dev]"
Development Setup
Running Tests
pytest
With coverage:
pytest --cov=fmus_vox --cov-report=html
Code Formatting
fmus-vox uses Black and isort for code formatting:
# Format code
black fmus_vox tests
# Sort imports
isort fmus_vox tests
Type Checking
mypy fmus_vox
Submitting Changes
Create a new branch
git checkout -b feature/your-feature-name
Make your changes and write tests
Run tests and linting
pytest
black fmus_vox tests
isort fmus_vox tests
mypy fmus_vox
Commit your changes
git add .
git commit -m "Description of your changes"
Push to your fork and create a pull request
Code Style
Follow PEP 8 style guidelines
Write descriptive docstrings for all public APIs
Keep functions focused and modular
Write tests for new features
Documentation
To build the documentation locally:
cd docs
make html
The built documentation will be in docs/_build/html/.
Reporting Issues
Please report bugs and request features on the GitHub issue tracker.
When reporting an issue, please include:
Your Python version
The fmus-vox version
Minimal code to reproduce the issue
Full error traceback (if applicable)
License
By contributing to fmus-vox, you agree that your contributions will be licensed under the MIT License.