Contributing¶
Thank you for your interest in contributing to Multi!
Development Setup¶
Prerequisites¶
- Python 3.9 or higher
- Git
- uv (recommended) or pip
Clone the Repository¶
Install Dependencies¶
Using uv (recommended):
Using pip:
Verify Setup¶
Development Workflow¶
Running Tests¶
# Run all tests
pytest
# Run with coverage
pytest --cov=multi --cov-report=html
# Run specific test file
pytest tests/test_sync.py
# Run tests matching a pattern
pytest -k "test_init"
Code Style¶
This project uses ruff for linting and formatting.
Type Checking¶
The project uses Python type hints. Ensure your code includes appropriate type annotations.
Making Changes¶
- Create a branch for your changes:
-
Make your changes following the code style guidelines
-
Add tests for new functionality
-
Run the test suite to ensure everything passes:
-
Commit your changes with a descriptive message
-
Push and create a pull request
Pull Request Guidelines¶
- Keep PRs focused on a single feature or fix
- Include tests for new functionality
- Update documentation if needed
- Ensure all tests pass
- Follow the existing code style
Building Documentation¶
To preview documentation locally:
Then open http://localhost:8000 in your browser.
Reporting Issues¶
Found a bug or have a feature request? Please open an issue on GitHub.
When reporting bugs, please include:
- Your Python version
- Your operating system
- Steps to reproduce the issue
- Expected vs actual behavior