-
Notifications
You must be signed in to change notification settings - Fork 47
Development
If you want to contribute to this package, the workflow is basically the following
- click here to fork the upstream repository
- create your development branch
<my-awesome-development>on your fork - do the development
- make local validation tests
- when ready, create a pull request (PR) to the upstream repository's
masterbranch
From time to time it might make sense to have a look at open PRs. If you have an idea, comments etc. concerning a specific PR, comment on that.
There are different cases when opening an issue makes sense and can be done here, e.g.:
- There is a bug: make clear where the bug is and under which circumstances it emerges. If you have suggestions to resolve it, dump these as well.
- In case you have a nice idea for a useful enhancement of the package, let people know. Even if you don't have time to implement this yourself, you might want to start a discussion on whether that could be useful in general. Then, also other people who might be in charge for certain parts of the code can pick up your ideas.
To have better overview, add corresponding labels to your issue and refer to other issues, code or PRs whenever useful.
Make sure that what you implemented makes at least sense in your environment before opening a PR. pylint is used to ensure the code is correctly written and in a uniform format: pylint's configuration can be found in the .pylintrc file in the repository's root directory.
You can run the full validation (the same used to evaluate your PRs) by running:
ci/run-tests.shThis may be time-consuming as it will test every Python file in the repository. You can simply run pylint on the files you have changed if you want:
pylint MachineLearningHEP/myfile.pyIf you run it from the root directory of your repository, the configuration file will be picked up automatically.
Before accepting any PR, it has to pass the continuous integration tests including what you can check already locally. Merging is blocked in case PRs do not pass the tests.