|
a |
|
b/CONTRIBUTING.md |
|
|
1 |
# Contributing |
|
|
2 |
|
|
|
3 |
Thanks for considering making an addition to this project! These contributing guidelines should help make your life easier. |
|
|
4 |
|
|
|
5 |
Before starting, some things to consider: |
|
|
6 |
* For larger features, it would be helpful to get in touch first (through issue/email) |
|
|
7 |
* A lot of the logic is in `docdeid`, please consider making a PR there for things that are not specific to `deduce`. |
|
|
8 |
* `deduce` is a rule-based de-identifier |
|
|
9 |
* In case you would like to see any rules added/removed/changed, a decent substantiation (with examples) of the potential improvement is useful |
|
|
10 |
|
|
|
11 |
## Setting up the environment |
|
|
12 |
|
|
|
13 |
* This project uses poetry for package management. Install it with ```pip install poetry``` |
|
|
14 |
* Set up the environment is easy, just use ```poetry install``` |
|
|
15 |
* The makefile contains some useful commands when developing: |
|
|
16 |
* `make format` formats the package code |
|
|
17 |
* `make lint` runs the linters (check the output) |
|
|
18 |
* `make clean` removes build/test artifacts, etc |
|
|
19 |
* And for docs: |
|
|
20 |
* `make build-docs` builds the docs |
|
|
21 |
|
|
|
22 |
## Runing the tests |
|
|
23 |
|
|
|
24 |
```bash |
|
|
25 |
pytest . |
|
|
26 |
``` |
|
|
27 |
|
|
|
28 |
## PR checlist |
|
|
29 |
|
|
|
30 |
* Verify that tests are passing |
|
|
31 |
* Verify that tests are updated/added according to changes |
|
|
32 |
* Run the formatters (`make format`) |
|
|
33 |
* Run the linters (`make lint`) |
|
|
34 |
* Add a section to the changelog |
|
|
35 |
* Add a description to your PR |
|
|
36 |
|
|
|
37 |
If all the steps above are followed, this ensures a quick review and release of your contribution. |
|
|
38 |
|
|
|
39 |
## Releasing |
|
|
40 |
* Readthedocs has a webhook connected to pushes on the main branch. It will trigger and update automatically. |
|
|
41 |
* Create a [release on github](https://github.com/vmenger/docdeid/releases/new), create a tag with the right version, manually copy and paste from the changelog |
|
|
42 |
* Build pipeline and release to PyPi trigger automatically on release |
|
|
43 |
|
|
|
44 |
Any other questions/issues not covered here? Please just get in touch! |