Contributing to Wagtail Subscriptions
We welcome contributions! This document provides guidelines for contributing to the project.
Development Setup
Fork and clone the repository:
git clone https://github.com/your-username/wagtail-subscriptions.git
cd wagtail-subscriptions
Create a virtual environment:
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
Install development dependencies:
pip install -e .[dev]
Run tests to ensure everything works:
pytest
Code Style
We use several tools to maintain code quality:
Black for code formatting
isort for import sorting
flake8 for linting
Run these before submitting:
black wagtail_subscriptions tests
isort wagtail_subscriptions tests
flake8 wagtail_subscriptions tests
Testing
Write tests for new features
Ensure all tests pass:
pytestCheck coverage:
coverage run -m pytest && coverage reportAim for 90%+ test coverage
Pull Request Process
Create a feature branch:
git checkout -b feature/your-featureMake your changes with tests
Run the full test suite
Update documentation if needed
Submit a pull request with a clear description
Reporting Issues
Use GitHub Issues for bug reports and feature requests
Include Python/Django/Wagtail versions
Provide minimal reproduction steps
Include relevant error messages
Documentation
Update docstrings for new/changed functions
Add examples for new features
Update README.md if needed
Build docs locally:
sphinx-build -b html docs docs/_build/html
Release Process
Update version in
setup.pyUpdate
CHANGELOG.mdCreate release PR
Tag release after merge
GitHub Actions will publish to PyPI
Thank you for contributing!