Currently metadata objects for all xtgeo objects are kept in the xtgeo.metadata.metadata module. This module needs access to all the major xtgeo types to do instance checking which complicates the dependency chain.
For example, a RegularSurface needs the MetaDataRegularSurface object from xtgeo.metadata.metadata to store in RegularSurface._metadata. Thus the dependency chain looks like this
The MetaData objects in xtgeo.metadata should be split either into their own submodules within the metadata package, or parceled out to the objects they represent respectively.
Not clear if the metadata package is relied upon elsewhere, but I don't think it is.
Currently metadata objects for all xtgeo objects are kept in the
xtgeo.metadata.metadata
module. This module needs access to all the major xtgeo types to do instance checking which complicates the dependency chain.For example, a
RegularSurface
needs theMetaDataRegularSurface
object fromxtgeo.metadata.metadata
to store inRegularSurface._metadata
. Thus the dependency chain looks like thisThe
MetaData
objects inxtgeo.metadata
should be split either into their own submodules within the metadata package, or parceled out to the objects they represent respectively.Not clear if the metadata package is relied upon elsewhere, but I don't think it is.