improvements roadmap - various issues that need to be addressed
-
expand tests to cover various yarr connectivity configuration choices - the assumption is that the connectivity is always
"path": "relToCon"but this is not true
- the assumption is that the connectivity is always
-
unit tests should not check only the CLI functionality, but also core python functionality not through the CLI, with the CLI exposing the python core functionality -
use Pathlibeverywhere, not just sparingly, such as in https://gitlab.cern.ch/YARR/yarrtist/-/blob/master/src/yarrtist/cli/plot_connectivity.py?ref_type=heads#L38-40 -
do not assume that users of yarrtistare ATLAS ITk users (e.g. not everyone will have serial numbers)- additionally the concept of "modules" (whether quad or triplet) is not a good assumption per-se. a module should correspond likely with something in a connectivity file, but a single connectivity file does not typically represent a module
- do not rely on connectivity files for any sort of ordering or plotting, provide a way to specify the type of grid to make + the order, e.g.
[[1,3],[4,2]](this sort of config is supported in matplotlib) - do not assume the name "front-end chip" or similar, just call it a chip like
YARRdoes
-
make sure none of the python functions internally use load_dataand only rely on non-file-based data. There should be zero-instances of plotting that relies on an input file internally. The plotting functionality should rely only on data passed in through the functions themselves adhering to some structure. -
don't rely/depend on PIL(pillow) -
create documentation website (mkdocs, gitlab pages with CERN: https://how-to.docs.cern.ch/) -
document all command-line interfaces -
document all functions
-
-
don't use bare exceptions (e.g. https://gitlab.cern.ch/YARR/yarrtist/-/blob/master/src/yarrtist/plotter/core_functions.py?ref_type=heads#L211) -
resolve all pyproject.tomlignores: https://gitlab.cern.ch/YARR/yarrtist/-/blob/master/pyproject.toml?ref_type=heads#L134-141 and replace withignore = [ "PLR", # Design related pylint codes "PT004", # Incorrect check, usefixtures is the correct way to do this "RUF012", # Would require a lot of ClassVar's ] -
resolve all pylintignores: https://gitlab.cern.ch/YARR/yarrtist/-/blob/master/pyproject.toml?ref_type=heads#L164-175 -
add scientific-pythonrepo-reviewer: https://gitlab.cern.ch/atlas-itk/pixel/module/module-qc-tools/-/blob/main/.gitlab-ci.yml?ref_type=heads#L37-42
Edited by Giordon Holtsberg Stark