Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update contributing guidelines and add templates #62

Open
wants to merge 2 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
33 changes: 33 additions & 0 deletions .github/ISSUE_TEMPLATE/01_bug_report.md
Original file line number Diff line number Diff line change
@@ -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.
20 changes: 20 additions & 0 deletions .github/ISSUE_TEMPLATE/10_feature_request.md
Original file line number Diff line number Diff line change
@@ -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.
17 changes: 17 additions & 0 deletions .github/ISSUE_TEMPLATE/20_blank.md
Original file line number Diff line number Diff line change
@@ -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
<!--
Whatever you write here must have something to do with the code you get from running `copier`.
-->
25 changes: 25 additions & 0 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -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

<!-- add all related issues to the list below -->
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
45 changes: 41 additions & 4 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -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

Expand Down Expand Up @@ -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
Expand All @@ -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
Expand Down