Contributing guidelines
We welcome all contributions that help improve the code, documentation, and overall functionality. Please follow these guidelines to ensure a smooth contribution process.
Table of Contents
Getting Started
Fork the repository and clone it locally:
git clone <github link to the repo>
cd pamflow
The anonymized version of the repo cannot be clonned and thus needs to be downloaded from the button on the upper right corner inside the link. 2. Create a new branch for your feature or bug fix:
git checkout -b feature-branch
Install dependencies:
pip install .
How to Contribute
Bug Fixes: If you find a bug, check if an issue already exists. If not, create a new issue and submit a fix.
Feature Requests: Open an issue describing the feature before starting work.
Documentation: Improvements to documentation are always welcome!
Code Standards
Follow PEP 8 for Python coding style.
Use
rufffor linting: linkUse type hints where possible:
def process_data(data: list) -> dict: # Processing logic return {}
Follow
kedrobest practices:Maintain a clear project structure using
kedro’s default directory layout.Use
kedro pipelinesto structure data workflows efficiently.Leverage
kedro catalogfor data management and reproducibility.Ensure modular, reusable, and well-documented nodes within pipelines.
Write tests for
kedronodes and pipelines to validate data processing logic.
Git Commit Names
Use the following commit message conventions:
BUILD: Indicates a change to the build system or external dependencies.DOC: Indicates a change to documentation.FEAT: Indicates a new feature being added to the code base.FIX: Indicates a bug fix.TEST: Indicates changes to the testing framework.
Testing
Ensure all changes include appropriate tests.
Run tests using:
pytest
Add new test cases for any added functionality.
Pull Request Process
Ensure your code follows the coding standards.
Run all tests before submitting.
Submit a pull request with a clear description of your changes.
Address any requested changes from reviewers.
Reporting Issues
When reporting an issue, provide clear reproduction steps and expected vs. actual behavior.
Include relevant error messages, system details, and screenshots if applicable.