Contributing to NPAP#
First off, thank you for considering contributing to NPAP! It’s people like you who make open-source such a wonderful place to learn, create, and collaborate.
Ways to Contribute#
We value every type of contribution, not just code!
Found something that doesn’t work? Let us know! Open an issue with details about the problem.
Have an idea to improve NPAP? We’d love to hear it. Describe your use case and proposed solution.
Spotted a typo or unclear explanation? Help us fix it. Good docs make everyone’s life easier.
Bug fixes, new features, or performance improvements. All code contributions are welcome!
Contribution Workflow Overview#
flowchart LR
A[Fork Repository] --> B[Clone & Setup]
B --> C[Create Branch]
C --> D[Make Changes]
D --> E[Test & Lint]
E --> F[Commit]
F --> G[Push & PR]
G --> H[Review & Merge]
style A fill:#2993B5,stroke:#1d6f8a,color:#fff
style B fill:#2993B5,stroke:#1d6f8a,color:#fff
style C fill:#2993B5,stroke:#1d6f8a,color:#fff
style D fill:#2993B5,stroke:#1d6f8a,color:#fff
style E fill:#0fad6b,stroke:#076b3f,color:#fff
style F fill:#2993B5,stroke:#1d6f8a,color:#fff
style G fill:#2993B5,stroke:#1d6f8a,color:#fff
style H fill:#0fad6b,stroke:#076b3f,color:#fff
Quick Links#
Topic |
Description |
|---|---|
Fork, clone, and set up your development environment |
|
Code style, testing, and building documentation |
|
Create custom strategies for data loading, partitioning, and aggregation |
|
PR guidelines and commit message conventions |
|
How to report bugs and suggest features |
|
Community guidelines |
|
How to cite NPAP in academic work |
Quick Start for Contributors#
1. Fork and Clone#
# Fork on GitHub first, then:
git clone https://github.com/YOUR-USERNAME/NPAP.git
cd NPAP
2. Set Up Development Environment#
# Create virtual environment
python -m venv venv
source venv/bin/activate # Windows: venv\Scripts\activate
# Install with all dependencies
pip install -e ".[dev,test,docs]"
# Install pre-commit hooks
pre-commit install
3. Create a Branch#
git checkout -b feature/your-feature-name
# or
git checkout -b fix/your-bug-fix
4. Make Your Changes#
Follow the code style guidelines
Add tests for new functionality
Update documentation if needed
5. Test and Lint#
# Run tests
pytest
# Check linting
ruff check .
# Format code
ruff format .
6. Commit and Push#
git add .
git commit -m "Short description of changes"
git push origin feature/your-feature-name
7. Open a Pull Request#
Go to GitHub and open a pull request from your branch to main.
Questions?
Don’t hesitate to open an issue. There are no silly questions!
Thank you for contributing — every contribution helps make NPAP better for everyone.