From 0e3cfeaebe8cccd3ae827dea31d2fedf1e32bf58 Mon Sep 17 00:00:00 2001 From: Vedran Kasalica Date: Thu, 26 Sep 2024 18:35:38 +0200 Subject: [PATCH 1/2] Update contributing guidelines and add templates --- .github/ISSUE_TEMPLATE/01_bug_report.md | 33 ++++++++++++ .github/ISSUE_TEMPLATE/10_feature_request.md | 20 +++++++ .github/ISSUE_TEMPLATE/20_blank.md | 17 ++++++ .github/PULL_REQUEST_TEMPLATE.md | 25 +++++++++ CONTRIBUTING.md | 56 ++++++++++++++++++-- 5 files changed, 147 insertions(+), 4 deletions(-) create mode 100644 .github/ISSUE_TEMPLATE/01_bug_report.md create mode 100644 .github/ISSUE_TEMPLATE/10_feature_request.md create mode 100644 .github/ISSUE_TEMPLATE/20_blank.md create mode 100644 .github/PULL_REQUEST_TEMPLATE.md diff --git a/.github/ISSUE_TEMPLATE/01_bug_report.md b/.github/ISSUE_TEMPLATE/01_bug_report.md new file mode 100644 index 0000000..43b14da --- /dev/null +++ b/.github/ISSUE_TEMPLATE/01_bug_report.md @@ -0,0 +1,33 @@ +--- +name: Bug report +about: Create a report to help us improve +title: '' +labels: bug +assignees: '' + +--- + +## Checklist before submitting an issue + +- [ ] I have checked the [existing issues](https://github.com/biomarkersParkinson/paradigma/issues) and couldn't find an issue about this bug. + +## Bug details + +**Describe the bug** + +A clear and concise description of what the bug is. + +**To Reproduce** + +Steps to reproduce the behavior: +1. install `paradigma` using pip +2. run method `example_method` with parameters +3. ... + +**Error Message** + +If applicable, add the error message. + +**Expected behavior** + +A clear and concise description of what you expected to happen. diff --git a/.github/ISSUE_TEMPLATE/10_feature_request.md b/.github/ISSUE_TEMPLATE/10_feature_request.md new file mode 100644 index 0000000..48d7918 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/10_feature_request.md @@ -0,0 +1,20 @@ +--- +name: Feature request +about: Suggest an idea for this project +title: '' +labels: enhancement +assignees: '' + +--- + +## Checklist before submitting an issue + +- [ ] I have checked the [existing issues](https://github.com/biomarkersParkinson/paradigma/issues) and couldn't find an issue about this bug. + +## Feature details + +**Feature Description** +A clear and concise description of the feature you're proposing. + +**Problem and Motivation** +Please describe the problem you are facing or the limitation with the current setup. Explain the motivation behind this feature request. For example, "I'm always frustrated when [...]." diff --git a/.github/ISSUE_TEMPLATE/20_blank.md b/.github/ISSUE_TEMPLATE/20_blank.md new file mode 100644 index 0000000..8856c4d --- /dev/null +++ b/.github/ISSUE_TEMPLATE/20_blank.md @@ -0,0 +1,17 @@ +--- +name: Blank issue +about: Any other issue +title: '' +labels: '' +assignees: '' + +--- + +## Checklist before submitting an issue + +- [ ] I have checked the [existing issues](https://github.com/biomarkersParkinson/paradigma/issues) and couldn't find an issue about this bug. + +## Issue details + diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md new file mode 100644 index 0000000..0f4c06b --- /dev/null +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -0,0 +1,25 @@ +## Describe your changes + +Please include a summary of the changes and the related issue. Please also include relevant motivation and context. + +## Type of change + +Please delete options that are not relevant. + +- [ ] Bug fix +- [ ] New feature +- [ ] Update to the reference test data (used for evaluating data processing pipeline) +- [ ] New release (PRs into `release` should be done exclusively from the `main` branch) + +## Issue ticket number and link + + +Refs: +- #ISSUE_NUMBER_1 +- #ISSUE_NUMBER_2 + +## Checklist before requesting a review + +- [ ] I have read the [contribution guidelines](https://github.com/biomarkersParkinson/paradigma/blob/main/CONTRIBUTING.md) +- [ ] I have commented my code, particularly in hard-to-understand areas +- [ ] I have added tests that prove my fix is effective or that my feature works diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index a181f5f..ea5dbfd 100755 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,7 +1,6 @@ -# Contributing +# Contributing guidelines -Contributions are welcome, and they are greatly appreciated! Every little bit -helps, and credit will always be given. +We welcome any kind of contribution to our software, from simple comment or question to a full fledged [pull request](https://help.github.com/articles/about-pull-requests/). Please read and follow our [Code of Conduct](CODE_OF_CONDUCT.md). ## Types of Contributions @@ -42,7 +41,7 @@ If you are proposing a feature: Ready to contribute? Here's how to set up `paradigma` for local development. -1. Download a copy of `paradigma` locally. +1. Clone a copy of `paradigma` locally. 2. Install `paradigma` using `poetry`: ```console @@ -67,6 +66,55 @@ Before you submit a pull request, check that it meets these guidelines: 2. If the pull request adds functionality, the docs should be updated. 3. The pull request should work for all currently supported operating systems and versions of Python. +## Code Style Guide + +Please follow the coding standards and conventions outlined below when contributing to this project. + +1. **Use PEP 8 for Python code**: We follow the [PEP 8](https://www.python.org/dev/peps/pep-0008/) style guide for Python code. You can use tools like `black` to help enforce this. + +2. **Naming Conventions**: + - Function names: `snake_case`. + - Class names: `PascalCase`. + - Constants: `UPPER_CASE_WITH_UNDERSCORES`. + +## Code Style Guide + +Please follow the coding standards and conventions outlined below when contributing to this project. + +1. **Use PEP 8 for Python code**: We follow the [PEP 8](https://www.python.org/dev/peps/pep-0008/) style guide for Python code. You can use tools like `black` to help enforce this. + +2. **Naming Conventions**: + - Function names: `snake_case`. + - Class names: `PascalCase`. + - Constants: `UPPER_CASE_WITH_UNDERSCORES`. + +3. **Docstrings**: All public methods, functions, and classes should have clear and complete docstrings. We use the [NumPy docstring style guide](https://numpydoc.readthedocs.io/en/latest/format.html) for consistency. Here is an example: + + ```python + def my_function(param1: int, param2: str) -> None: + """ + Brief summary of the function. + + Parameters + ---------- + param1 : int + Description of `param1`. + param2 : str + Description of `param2`. + + Returns + ------- + None + """ + print(f"{param1}, {param2}") + ``` + +4. **Type Annotations**: We use [PEP 484](https://www.python.org/dev/peps/pep-0484/) type hints throughout the codebase. Please ensure that all functions and methods are properly annotated. + +5. **Testing**: Ensure that your code is covered by unit tests. We use `pytest` for testing. Add new tests for any added functionality. + +We appreciate your contributions and adherence to the style guide. This helps maintain the quality and readability of the codebase. + ## Code of Conduct Please note that the `paradigma` project is released with a From 659a6850b7bb0b96d7821b51a66d1eeead122aaa Mon Sep 17 00:00:00 2001 From: Vedran Kasalica Date: Thu, 26 Sep 2024 18:41:35 +0200 Subject: [PATCH 2/2] Update issue template wording --- .github/ISSUE_TEMPLATE/10_feature_request.md | 2 +- CONTRIBUTING.md | 17 +++-------------- 2 files changed, 4 insertions(+), 15 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/10_feature_request.md b/.github/ISSUE_TEMPLATE/10_feature_request.md index 48d7918..5c0bd77 100644 --- a/.github/ISSUE_TEMPLATE/10_feature_request.md +++ b/.github/ISSUE_TEMPLATE/10_feature_request.md @@ -17,4 +17,4 @@ assignees: '' A clear and concise description of the feature you're proposing. **Problem and Motivation** -Please describe the problem you are facing or the limitation with the current setup. Explain the motivation behind this feature request. For example, "I'm always frustrated when [...]." +Please describe the problem you are facing or the limitation with the current setup. Explain the motivation behind this feature request. diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index ea5dbfd..bb8680b 100755 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -73,20 +73,9 @@ Please follow the coding standards and conventions outlined below when contribut 1. **Use PEP 8 for Python code**: We follow the [PEP 8](https://www.python.org/dev/peps/pep-0008/) style guide for Python code. You can use tools like `black` to help enforce this. 2. **Naming Conventions**: - - Function names: `snake_case`. - - Class names: `PascalCase`. - - Constants: `UPPER_CASE_WITH_UNDERSCORES`. - -## Code Style Guide - -Please follow the coding standards and conventions outlined below when contributing to this project. - -1. **Use PEP 8 for Python code**: We follow the [PEP 8](https://www.python.org/dev/peps/pep-0008/) style guide for Python code. You can use tools like `black` to help enforce this. - -2. **Naming Conventions**: - - Function names: `snake_case`. - - Class names: `PascalCase`. - - Constants: `UPPER_CASE_WITH_UNDERSCORES`. + * Function names: `snake_case`. + * Class names: `PascalCase`. + * Constants: `UPPER_CASE_WITH_UNDERSCORES`. 3. **Docstrings**: All public methods, functions, and classes should have clear and complete docstrings. We use the [NumPy docstring style guide](https://numpydoc.readthedocs.io/en/latest/format.html) for consistency. Here is an example: