Contributing
Thank you for your interest in contributing to SerializableExcel! This document provides guidelines and instructions for contributing.
Getting Started
Fork the repository on GitHub
Clone your fork locally:
git clone https://github.com/yourusername/serializable-excel.git cd serializable-excel
Create a virtual environment:
python -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate
Install development dependencies:
pip install -r requirements.txt pip install -r requirements-docs.txt
Development Workflow
Create a feature branch:
git checkout -b feature/your-feature-name
Make your changes
Write or update tests
Ensure all tests pass:
pytest
Update documentation if needed
Commit your changes:
git commit -m "Add feature: description of your feature"
Push to your fork:
git push origin feature/your-feature-name
Open a Pull Request on GitHub
Code Style
Follow PEP 8 style guide
Use type hints where appropriate
Write docstrings for all public functions and classes
Keep functions focused and small
Testing
Write tests for new features
Ensure all existing tests pass
Aim for good test coverage
Documentation
Update relevant documentation when adding features
Use reStructuredText for Sphinx documentation
Include code examples in documentation
Keep examples up-to-date with the code
Pull Request Guidelines
Provide a clear description of changes
Reference any related issues
Ensure all tests pass
Update documentation as needed
Keep PRs focused on a single feature or fix
Questions?
If you have questions, please open an issue on GitHub or contact the maintainers.
Thank you for contributing!