Contributing
Thank you for considering contributing to paystack-django! We welcome contributions from the community.
Getting Started
Fork the repository
Clone your fork:
git clone https://github.com/yourusername/paystack-django.gitCreate a branch:
git checkout -b feature-nameInstall development dependencies:
pip install -e ".[dev]"
cd paystack-django
pip install -e ".[dev]"
pre-commit install
Code Style
We use the following tools:
Black for code formatting
isort for import sorting
flake8 for linting
mypy for type checking
Run checks:
make lint
make format
make type-check
Testing
Write tests for your changes:
# Run all tests
pytest
# Run with coverage
pytest --cov=djpaystack
# Run specific test
pytest djpaystack/tests/test_transactions.py
Documentation
Update documentation for new features:
cd docs
make html
# Open _build/html/index.html
Commit Messages
Use clear commit messages:
git commit -m "Add feature X
- Brief description of changes
- Additional details if needed
"
Pull Request Process
Update CHANGELOG.md
Add tests for new features
Update documentation
Submit PR with clear description
Ensure all checks pass
Code of Conduct
Be respectful and inclusive. We’re all here to learn and help.
Questions?
Open an issue on GitHub
Start a discussion
Email: dev@hummingbyte.org
Thank you for contributing! 🎉