Getting started#
Setting up#
Dependencies#
Development dependencies are specified in requirements/dev.txt
and can be installed using (see Dependency Management for more information)
pip install -r requirements/dev.txt
Additionally, building the documentation requires pandoc which is not on PyPI and needs to be installed through other means, e.g. with your OS package manager.
Install the package#
Install the package in editable mode using
pip install -e .
Set up git hooks#
The CI pipeline runs a number of code formatting and static analysis tools. If they fail, a build is rejected. To avoid that, you can run the same tools locally. This can be done conveniently using pre-commit:
pre-commit install
Alternatively, if you want a different workflow, take a look at tox.ini
or .pre-commit.yaml
to see what tools are run and how.
Running tests#
Run the tests using
tox -e py310
(or just tox
if you want to run all environments).
Run the tests using
python -m pytest
Building the docs#
Build the documentation using
tox -e docs
This builds the docs and also runs doctest
.
linkcheck
can be run separately using
tox -e linkcheck
Build the documentation using
python -m sphinx -v -b html -d .tox/docs_doctrees docs html
Additionally, test the documentation using
python -m sphinx -v -b doctest -d .tox/docs_doctrees docs html
python -m sphinx -v -b linkcheck -d .tox/docs_doctrees docs html
Tutorial and Test Data#
There are a number of data files which can be downloaded automatically by ScippNeutron.
The functions in scippneutron.data
download and cache these files if and when they are used.
By default, the files are stored in the OS’s cache directory.
The location can be customized by setting the environment variable SCIPPNEUTRON_DATA_DIR
to the desired path.