A new capability (to report software versions) belongs in hkl.util but there is an import cycle problem discovered by unit testing: util imports diffract imports calc imports sample imports util
The util module should not import any other hklpy module, otherwise it is not truly a utility. The Constraint class has to move into util from diffract, which will break the above import cycle.
A new capability (to report software versions) belongs in
hkl.util
but there is animport
cycle problem discovered by unit testing:util
importsdiffract
importscalc
importssample
importsutil
The
util
module should not import any other hklpy module, otherwise it is not truly a utility. TheConstraint
class has to move intoutil
fromdiffract
, which will break the aboveimport
cycle.Originally posted by @prjemian in https://github.com/bluesky/hklpy/issues/160#issuecomment-864308796