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..5c0bd77 --- /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. 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..bb8680b 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,44 @@ 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`. + +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