Skip to content

Commit 9b074e1

Browse files
authored
Merge pull request #160 from predict-idlab/contributing
🧹 clean up CONTRIBUTING.md
2 parents cc1f8f0 + 5c7a6bc commit 9b074e1

File tree

1 file changed

+15
-108
lines changed

1 file changed

+15
-108
lines changed

CONTRIBUTING.md

Lines changed: 15 additions & 108 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,14 @@
11
# How to contribute
22

33
First of all, thank you for considering contributing to `plotly-resampler`.<br>
4-
It's people like you that will help make `plotly-resampler` a great toolkit.
4+
It's people like you that will help make `plotly-resampler` a great toolkit. 🤝
55

66
As usual, contributions are managed through GitHub Issues and Pull Requests.
77

8-
We are welcoming contributions in the following forms:
9-
* **Bug reports**: when filing an issue to report a bug, please use the search tool to ensure the bug hasn't been reported yet;
10-
* **New feature suggestions**: if you think `plotly-resampler` should include a new feature, please open an issue to ask for it (of course, you should always check that the feature has not been asked for yet :). Think about linking to a pdf version of the paper that first proposed the method when suggesting a new algorithm.
11-
* **Bugfixes and new feature implementations**: if you feel you can fix a reported bug/implement a suggested feature yourself, do not hesitate to:
12-
1. fork the project;
13-
2. implement your bugfix;
14-
3. submit a pull request referencing the ID of the issue in which the bug was reported / the feature was suggested;
15-
16-
When submitting code, please think about code quality, adding proper docstrings, and including thorough unit tests with high code coverage.
8+
As usual, contributions are managed through GitHub Issues and Pull Requests.
9+
We invite you to use GitHub's [Issues](https://github.com/predict-idlab/plotly-resampler/issues) to report bugs, request features, or ask questions about the project. To ask use-specific questions, please use the [Discussions](https://github.com/predict-idlab/plotly-resampler/discussions) instead.
1710

11+
If you are new to GitHub, you can read more about how to contribute [here](https://docs.github.com/en/get-started/quickstart/contributing-to-projects).
1812

1913
## How to develop locally
2014

@@ -53,15 +47,15 @@ Make sure that this environment is activated when developing (e.g., installing d
5347

5448
### Installing & building the dependencies
5549

56-
We use [poetry](https://python-poetry.org/) as dependency manager for this project.
57-
- The dependencies for installation & development are written in the [pyproject.toml](pyproject.toml) file (which is quite similar to a requirements.txt file).
58-
- To ensure that package versions are consistent with everyone who works on this project poetry uses a [poetry.lock](poetry.lock) file (read more [here](https://python-poetry.org/docs/basic-usage/#installing-with-poetrylock)).
50+
We use [`poetry`](https://python-poetry.org/) as dependency manager for this project.
51+
- The dependencies for installation & development are written in the [`pyproject.toml`](pyproject.toml) file (which is quite similar to a requirements.txt file).
52+
- To ensure that package versions are consistent with everyone who works on this project poetry uses a [`poetry.lock`](poetry.lock) file (read more [here](https://python-poetry.org/docs/basic-usage/#installing-with-poetrylock)).
5953

6054
To install the requirements
6155
```sh
6256
pip install poetry # install poetry (if you do use the venv option)
63-
poetry install # install all the dependencies
64-
poetry build # build the underlying C code
57+
poetry install # install all the dependencies
58+
poetry build # build the underlying C code
6559
```
6660

6761
<details>
@@ -81,25 +75,25 @@ poetry build # build the underlying C code
8175

8276
### Formatting the code
8377

84-
We use [black](https://github.com/psf/black) and [isort](https://github.com/PyCQA/isort) to format the code.
78+
We use [`black`](https://github.com/psf/black) and [`isort`](https://github.com/PyCQA/isort) to format the code.
8579

86-
To format the code, run the following command (more details in the [Makefile](Makefile)):
80+
To format the code, run the following command (more details in the [`Makefile`](Makefile)):
8781
```sh
8882
make format
8983
```
9084

9185
### Checking the linting
9286

93-
We use [ruff](https://github.com/charliermarsh/ruff) to check the linting.
87+
We use [`ruff`](https://github.com/charliermarsh/ruff) to check the linting.
9488

95-
To check the linting, run the following command (more details in the [Makefile](Makefile)):
89+
To check the linting, run the following command (more details in the [`Makefile`](Makefile)):
9690
```sh
9791
make lint
9892
```
9993

10094
### Running the tests (& code coverage)
10195

102-
You can run the tests with the following code (more details in the [Makefile](Makefile)):
96+
You can run the tests with the following code (more details in the [`Makefile`](Makefile)):
10397

10498
```sh
10599
make test
@@ -108,7 +102,7 @@ make test
108102
To get the selenium tests working you should have Google Chrome installed.
109103

110104
If you want to visually follow the selenium tests;
111-
* change the `TESTING_LOCAL` variable in [tests/conftest.py](tests/conftest.py) to `True`
105+
* change the `TESTING_LOCAL` variable in [`tests/conftest.py`](tests/conftest.py) to `True`
112106

113107
### Generating the docs
114108

@@ -123,93 +117,6 @@ The current listing below gives you the provided steps to regenerate the documen
123117
sphinx-autogen -o _autosummary && make clean html
124118
```
125119

126-
## More details on Pull requests
127-
128-
The preferred workflow for contributing to plotly-resampler is to fork the
129-
[main repository](https://github.com/predict-idlab/plotly-resampler) on
130-
GitHub, clone, and develop on a branch. Steps:
131-
132-
1. Fork the [project repository](https://github.com/predict-idlab/plotly-resampler)
133-
by clicking on the 'Fork' button near the top right of the page. This creates
134-
a copy of the code under your GitHub user account. For more details on
135-
how to fork a repository see [this guide](https://help.github.com/articles/fork-a-repo/).
136-
137-
2. Clone your fork of the plotly-resampler repo from your GitHub account to your local disk:
138-
139-
```bash
140-
$ git clone [email protected]:YourLogin/plotly-resampler.git
141-
$ cd plotly-resampler
142-
```
143-
144-
3. Create a ``feature`` branch to hold your development changes:
145-
146-
```bash
147-
$ git checkout -b my-feature
148-
```
149-
150-
Always use a ``feature`` branch. It's good practice to never work on the ``master`` branch!
151-
152-
4. Develop the feature on your feature branch. Add changed files using ``git add`` and then ``git commit`` files:
153-
154-
```bash
155-
$ git add modified_files
156-
$ git commit
157-
```
158-
159-
to record your changes in Git, then push the changes to your GitHub account with:
160-
161-
```bash
162-
$ git push -u origin my-feature
163-
```
164-
165-
5. Follow [these instructions](https://help.github.com/articles/creating-a-pull-request-from-a-fork)
166-
to create a pull request from your fork. This will send an email to the committers.
167-
168-
(If any of the above seems like magic to you, please look up the
169-
[Git documentation](https://git-scm.com/documentation) on the web, or ask a friend or another contributor for help.)
170-
171-
### Pull Request Checklist
172-
173-
We recommended that your contribution complies with the
174-
following rules before you submit a pull request:
175-
176-
- Follow the PEP8 Guidelines.
177-
178-
- If your pull request addresses an issue, please use the pull request title
179-
to describe the issue and mention the issue number in the pull request description.
180-
This will make sure a link back to the original issue is created.
181-
182-
- All public methods should have informative *numpy* docstrings with sample
183-
usage presented as doctests when appropriate. Validate whether the generated
184-
documentation is properly formatted (see below).
185-
186-
- Please prefix the title of your pull request with `[MRG]` (Ready for
187-
Merge), if the contribution is complete and ready for a detailed review.
188-
An incomplete contribution -- where you expect to do more work before
189-
receiving a full review -- should be prefixed `[WIP]` (to indicate a work
190-
in progress) and changed to `[MRG]` when it matures. WIPs may be useful
191-
to: indicate you are working on something to avoid duplicated work,
192-
request broad review of functionality or API, or seek collaborators.
193-
WIPs often benefit from the inclusion of a
194-
[task list](https://github.com/blog/1375-task-lists-in-gfm-issues-pulls-comments)
195-
in the PR description.
196-
197-
- When adding additional functionality, provide at least one
198-
example notebook in the ``plotly-resampler/examples/`` folder or add the functionality in an
199-
existing notebook. Have a look at other examples for reference.
200-
Examples should demonstrate why the new functionality is useful in practice and,
201-
if possible, benchmark/integrate with other packages.
202-
203-
- Documentation and high-coverage tests are necessary for enhancements to be
204-
accepted. Bug-fixes or new features should be provided with
205-
[non-regression tests](https://en.wikipedia.org/wiki/Non-regression_testing).
206-
These tests verify the correct behavior of the fix or feature. In this
207-
manner, further modifications on the code base are granted to be consistent
208-
with the desired behavior.
209-
For the Bug-fixes case, at the time of the PR, this tests should fail for
210-
the code base in master and pass for the PR code.
211-
212-
213120
---
214121

215122
Bonus points for contributions that include a performance analysis with a benchmark script and profiling output (please report on the GitHub issue).

0 commit comments

Comments
 (0)