Open tangkong opened 1 year ago
All versions are 0
This is the "serialization"/dataclass version and not really the atef version. The idea is that we should bump it every time there's an incompatible difference in what's being loaded. I envisioned it as a marker for us to say, in the future, if we wanted to support older formats (or not). e.g., "Check version number, instruct apischema to load older/newer format"
It could be replaced with an atef version number, but that would not indicate compatibility (without an extra/more complicated version check like the above, anyway)
it's not so far-fetched to want both of these numbers for different reasons I guess you were envisioning this as strictly backwards-compatibility check, not a "some new classes/options were added" sort of check
Ah right, I can rephrase this as wanting an additional piece of information. In addition I think we probably want to actually update this number somehow... (seems like it'd have to be hard coded at this point?)
To clarify things (mostly for myself):
ironically, adding an atef version number would probably be the first serialization version number update
Expected Behavior
There is a field for version in top-level atef files (ProcedureFile, ConfigurationFile) Now that there are actual atef versions, we should fill this information properly. This info could be used to determine whether checkouts can be used, as we add new steps and functionality.
At the moment we work hard to avoid backwards incompatibilities (old checkouts should mostly work), but some checkouts won't work on old versions of atef.
Current Behavior
All versions are 0
Possible Solution
Read the python version
Context
Was thinking about gathering example checkouts
Your Environment
pcds-5.7.3, atef v1.0.0