4.2 KiB
Contributing to preprocessing
Thank you for considering contributing to preprocessing!
Your input helps make this package robust, reliable, and extensible for the community.
Please follow these guidelines to ensure a smooth and constructive contribution process.
How to contribute
1. Clone your fork
Clone the repository from your own GitHub account to your local machine:
git clone https://gitea.iwm-tuebingen.de/AG4/preprocessing.git
cd preprocessing
2. Create a feature branch
Create a new branch for the changes you intend to make. This keeps your modifications separate from the main branch.
git checkout -b feature/your-feature-name
Please ensure that your branch name is descriptive of the changes you are making, such as feature/calculation-of-subscales or bugfix/fix-data-validation.
3. Make your changes
- Implement your changes in the appropriate files inside
src/. - Update or create tests under
tests/as needed.
4. Format and lint your code
Ensure that your code is correctly formatted and adheres to project style guidelines. This helps maintain code consistency across the repository.
Note that black for formatting and ruff for linting and the pytest tests should all be run via a pre-commit hook.
In order to do this, you need to set pre-commit up in your local repository
(it should be installed via the dev dependencies already).
To set up pre-commit, run the following command in your terminal:
pre-commit install
If you need to run it for existing code, you can do so running
pre-commit run --all-files
This will automatically format and lint your code according to the project's standards.
For manual checks and formatting:
Format the code using black:
black .
ruff check
ruff check --fix
ruff format
These tools are included in the [project.optional-dependencies.dev] section of pyproject.toml. To install them for development, use:
pip install -e .[dev]
5. Run the tests
Ensure that all tests pass before submitting your changes. We use pytest for testing.
pytest
If any tests fail, fix the issues before proceeding.
6. Commit your changes
Once you are satisfied with your changes, commit them to your feature branch:
git add .
git commit -m "Add your commit message here"
Make sure to write a clear and concise commit message that describes the changes you made.
7. Push your changes
Push your changes to your branch:
git push origin feature/your-feature-name
8. Create a Pull Request (PR)
Navigate to the main repository
and open a pull request (PR) to the main branch.
The PR should describe the changes you made and why they are useful.
- Be sure to include a clear, concise description of your changes in the PR.
- If applicable, link to relevant issues in the PR description.
9. Review Process
After submitting your PR, a maintainer will review your changes. The review process may involve:
- Asking for changes or clarifications.
- Reviewing code style, formatting, and test coverage.
- Discussing the approach or implementation.
Once your PR is approved, it will be merged into the main branch.
Pull Request Guidelines
- Include tests: Ensure that your changes come with appropriate test coverage.
- Follow coding standards: Follow the code style and formatting guidelines outlined in the project.
- Single feature per PR: Each PR should address a single feature or bug fix.
- Small, focused PRs: Keep your PRs small and focused to make reviewing easier.
Reporting Bugs
If you find a bug in the software:
- Search existing issues: Before opening a new bug report, check if the issue has already been reported.
- Open a new issue: If the issue hasn't been reported yet, open a new issue with the following information:
- A clear description of the problem.
- Steps to reproduce the issue.
- Expected behavior vs. actual behavior.
- Any error messages or logs.
License
By contributing, you agree that your contributions will be licensed under the same license as the project.