Contributing to Scipp
Contributing to Scipp#
Contributions, bug reports, and ideas are always welcome. The following section outlines the scope of Scipp. If in doubt whether a feature falls within the scope of Scipp please ask on github before implementing functionality, to reduce the risk of rejected pull requests. Asking and discussing first is generally always a good idea, since our road map is not very mature at this point.
While Scipp is in practice developed for neutron-data reduction, the Scipp library itself must be kept generic. We therefore restrict what can go into Scipp as follows:
Scipp shall contain only generic functionality. Neutron-scattering specific must not be added. A simple guiding principle is “if it is in NumPy it can go into Scipp”.
ScippNeutron shall contain only generic neutron-specific functionality. Facility-specific or instrument-specific functionality must not be added. Examples of generic functionality that is permitted are
Unit conversions, which could be generic for all time-of-flight neutron sources.
Published research such as absorption corrections.
Examples of functionality that shall not be added to ScippNeutron are handling of facility-specific file types or data layouts, or instrument-specific correction algorithms.
Contributing a pull request#
Please make sure you have checked the list below before you start:
Before you begin, make sure the GitHub issue is assigned to you, to avoid duplicate work.
Read the Getting Started page. Using the recommended
pre-commitsetup and running tests locally will ensure that the builds will pass for your pull request.
Reference the issue when you open a pull request. If the issue would be resolved by merging the pull request then use one of GitHub’s keywords to do so automatically, such as
If applicable, make sure to add an item in
docs/about/release-notes.rstand link to the pull request. Do this in particular for new features, breaking changes, or bugfixes.
Given the low (yet non-zero) chance of an issue in Scipp that affects the security of a larger system, security related issues should be raised via GitHub issues in the same way as “normal” bug reports.