๐ป Contributing: Join the Preprocessing Revolution! ๐ ๏ธ
Help us build the future of data preprocessing!
We're excited to welcome new contributors to KDP. This guide will help you get started on your contribution journey.
๐ Contribution Process Overview
1
Getting Started
- Fork the Repository: Visit our GitHub page, fork the repository, and clone it to your local machine.
- Set Up Your Environment: Make sure you have TensorFlow, Loguru, and all necessary dependencies installed.
- Install Pre-commit Hook: This ensures code quality before commits.
# Install pre-commit hook
conda install -c conda-forge pre-commit
# Go to the root folder of the repository and run
pre-commit install
2
Making Changes
- Create a Branch: Always work in a dedicated branch for your changes.
- Follow Coding Standards: Maintain the project's coding style and conventions.
- Write Tests: All new features must include tests.
- Use Standardized Commit Messages: Follow the format below.
{LABEL}(KDP): {message}
# Examples:
feat(KDP): Add distribution-aware encoding
fix(KDP): Resolve memory leak in feature selection
3
Submitting Your Work
- Create Small MRs: Keep merge requests under 400 lines for easier review.
- Request Code Review: All code must be reviewed before merging.
- Address Feedback: Resolve all comments and ensure CI checks pass.
- Tests Must Pass: NO TESTS = NO MERGE ๐จ
๐ก Feature Requests & Issues
Have ideas or found a bug?
We welcome your input! Please use our GitHub issues page to:
- Report bugs or unexpected behavior
- Suggest new features or improvements
- Discuss implementation approaches
๐ Commit Message Guidelines
Label Types
Label | Usage | Version Impact |
---|---|---|
break |
Changes that break backward compatibility | major |
feat |
New backward-compatible features | minor |
fix |
Bug fixes | patch |
docs |
Documentation changes | patch |
style |
Code style changes (formatting, etc.) | patch |
refactor |
Code changes that neither fix bugs nor add features | patch |
perf |
Performance improvements | patch |
test |
Adding or updating tests | minor |
build |
Build system or dependency changes | patch |
ci |
CI configuration changes | minor |
๐ Merge Request Process
Creating Effective Merge Requests
Merge requests are the heart of our collaborative development process:
- Create your MR early - even as a work in progress
- Use the same naming convention as commits:
{LABEL}(KDP): {message}
- Break large features into smaller, focused MRs
- Include relevant tests for your changes
- Ensure all CI checks pass before requesting review
- Address all feedback before merging
Merge requests generate our changelog automatically, so clear and descriptive messages help everyone understand your contributions!