-
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
- fork from the upstream (https://github.com/ginnocen/MachineLearningHEP)
- create your development branch on your fork
- do the development
- make local validation tests (see [below](## Local validations))
- if you are ready, create a pull request (PR) to upstream/dev
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. The parameters are specified in .pylintrc in the upstream/dev and upstream/master. Whenever you start a development from there you can directly invoke pylint from there. If you have setup the package correctly, you can do
pylin MachineLearningHEPin the top of the software tree. At least this needs to succeed. If not your changes won't make it through the [CI](##Continuous Integration)
Before accepting any PR, it has to pass the continuous integration facility including what you can [check already locally](##Local validations). As wip, a few common and benchmarked use cases are run to make sure, everything works as expected.