# python3-damaris ## GUI Purpose and Operation This is the front end part of GUI for controlling NMR spectrometers. On "Start", the experiment script executes and creates XML job files. A backend, not in this code, executes these jobs sequentially adn writes the results as XML files. The front end consumes these result files using the result script. ## Guidelines 1. Use the .venv python3 environment 5. Old code was ported from gtk2 and python2.7. This code has to work on python 3.11 and above, as well as GTK3 2. Be aware the targeted Debian versions are bookworm, trixie, and forky. 3. Only use packages and libraries available in Debian bookworm, trixie, and forky. Make sure that the code is compatible with all of these versions. 3. Do not commit changes (with git) or write commit messages without asking the user. 4. Try to minimize code changes, do not use elaborate checks for defensive programming. Ask the user if something should be tested with unit tests. 6. Use the python unittest module for unit tests, not pytest 7. Functions for the experiment script belong to the src/damaris/experiments/Experiment.py file 8. Functions for the result script belong in the files in the src/damaris/data/ folder 9. The gitea workflow can be found at .gitea/workflows/debian-build.yml 10. to not edit anything in "build", it is regenerated 11. Use sphinx for documentation, autodoc and autosummary is used for references of all classes, functions and modules. 12. If a new function/method is created document a short usage the doc/api_reference.rst and a longer explanation in doc/manual.rst