Guidelines for contributing to InsightfulPy.
- Python 3.8+
- Git
- pip
# Fork on GitHub, then clone
git clone https://github.com/YOUR_USERNAME/insightfulpy.git
cd insightfulpy
# Add upstream remote
git remote add upstream https://github.com/dhaneshbb/insightfulpy.git# Install with development dependencies
pip install -e ".[dev]"
# Install pre-commit hooks
pre-commit installPre-commit hooks run Black, isort, mypy, Flake8, and file checks automatically.
See Developer Guide for detailed instructions.
Check existing issues first, then use Bug Report Template.
# Create feature branch
git checkout -b feature/description
# Make changes and add tests
# Run quality checks
pre-commit run --all-files
# Run tests
pytest
# Commit with conventional format
git commit -m "feat: add new function"
# Push and create pull request
git push origin feature/descriptionpre-commit run --all-filesAll contributions require tests with minimum 80% coverage:
pytestUse conventional commit format: <type>: <description>
Types:
feat- New featurefix- Bug fixdocs- Documentationstyle- Code formattingrefactor- Code refactoringtest- Testschore- Build/tooling
Examples:
feat: add median absolute deviation function
fix: handle empty DataFrames in detect_outliers
docs: update API reference for batch functions
See Developer Guide for architecture patterns, testing guidelines, and code quality details.
Use Pull Request Template and ensure:
- Tests pass with 80% coverage
- Pre-commit hooks pass
- Documentation updated
- Commit messages follow convention
By contributing, you agree that your contributions will be licensed under the MIT License.