Use dataclasses for online analysis prerequisites
The usual prerequisites for online analysis are details about:
- beamtime metadata (core fs paths, maxwell resources, etc.)
- online analysis resources (slurm nodes, slurm partitions, ASAPO configs, etc.)
- remote connection (allotted maxwell nodes, temporary user, SSH key, etc.)
Instead of having these details just stored in independent variables, it might be better to group related information into POD classes.
From Python >= 3.7, we have the dataclass
decorator for this. For pre-3.7, we could use the attrib
package from PyPi, but note that this will add a dependency.
This was discussed in !1 (merged). See discussion on this here.
Edited by Vijay Kartik