|
1 |
| -# Contributing |
2 |
| - |
3 |
| -We welcome contributions from anyone beginner or advanced. Please before working on some features: |
4 |
| - |
5 |
| -* Search through the past issues, your concern may have been raised by others in the past. Check through the |
6 |
| -closed issues as well. |
7 |
| -* If there is no open issue for your feature request, please open one up to coordinate all collaborators. |
8 |
| -* Write your feature. |
9 |
| -* Submit a pull request on this repo with: |
10 |
| - * A brief description |
11 |
| - * **Detail of the expected change(s) in behavior** |
12 |
| - * How to test it (if it's not obvious) |
13 |
| - |
14 |
| -Ask someone to test it. |
| 1 | +# ./CONTRIBUTING.md (Updated) |
| 2 | + |
| 3 | +# Contributing to featurewiz_polars |
| 4 | + |
| 5 | +First off, thank you for considering contributing! We welcome contributions from everyone. Whether it's reporting a bug, proposing a feature, or writing code, your help is appreciated. |
| 6 | + |
| 7 | +## How Can I Contribute? |
| 8 | + |
| 9 | +### Reporting Bugs |
| 10 | +* Ensure the bug was not already reported by searching on GitHub under [Issues](https://github.com/AutoViML/featurewiz_polars/issues). |
| 11 | +* If you're unable to find an open issue addressing the problem, [open a new one](https://github.com/AutoViML/featurewiz_polars/issues/new). Be sure to include a **title and clear description**, as much relevant information as possible, and a **code sample** or an **executable test case** demonstrating the expected behavior that is not occurring. |
| 12 | + |
| 13 | +### Suggesting Enhancements |
| 14 | +* Open a new issue to discuss your enhancement suggestion. Clearly describe the proposed feature, why it's needed, and provide examples if possible. |
| 15 | + |
| 16 | +### Pull Requests |
| 17 | +We actively welcome your pull requests! |
| 18 | + |
| 19 | +1. **Fork the repo** and create your branch from `main`. |
| 20 | +2. **Set up your development environment:** |
| 21 | + ```bash |
| 22 | + git clone <your-fork-url> |
| 23 | + cd featurewiz_polars |
| 24 | + python -m venv venv |
| 25 | + source venv/bin/activate # On Windows use `venv\Scripts\activate` |
| 26 | + pip install -e ".[dev]" # Install in editable mode with dev dependencies |
| 27 | + pre-commit install # Optional, but recommended: install pre-commit hooks |
| 28 | + ``` |
| 29 | +3. **Make your changes.** Add features or fix bugs. |
| 30 | +4. **Add Tests:** If you've added code that should be tested, add tests to the `tests/` directory. |
| 31 | +5. **Ensure Code Quality:** |
| 32 | + * Format your code using Ruff/Black: `ruff format .` or `black .` |
| 33 | + * Lint your code using Ruff: `ruff check .` |
| 34 | + * Run type checks using MyPy: `mypy featurewiz_polars` |
| 35 | + * Run the test suite using Pytest: `pytest tests/ --cov=featurewiz_polars` |
| 36 | + * Ensure tests pass and coverage meets requirements (aim for high coverage). |
| 37 | +6. **Update Documentation:** If your changes affect documentation (docstrings, README, etc.), please update them accordingly. |
| 38 | +7. **Commit your changes** using a clear commit message. |
| 39 | +8. **Push** to your fork and submit a **Pull Request (PR)** to the `main` branch of the `AutoViML/featurewiz_polars` repository. |
| 40 | +9. **Link the PR to an issue** if it resolves one (e.g., "Closes #123"). |
| 41 | +10. **Wait for review.** Address any comments or feedback from the maintainers. |
| 42 | +
|
| 43 | +## Coding Standards |
| 44 | +* Follow PEP 8 style guidelines. |
| 45 | +* Use `ruff` for linting and `black` or `ruff format` for code formatting (configuration is in `pyproject.toml` or `.ruff.toml` if added). |
| 46 | +* Write clear, understandable code with meaningful variable names. |
| 47 | +* Add type hints to function signatures. |
| 48 | +* Write comprehensive docstrings for public modules, classes, and functions (NumPy or Google style). |
| 49 | +
|
| 50 | +Thank you for contributing! |
0 commit comments