DimensionGraph¶
- class lsst.daf.butler.DimensionGraph(*args, **kwargs)¶
- Bases: - object- An immutable, dependency-complete collection of dimensions. - DimensionGraphis deprecated in favor of- DimensionGroupand will be removed after v27. The two types have very similar interfaces, but- DimensionGroupdoes not support direct iteration and its set-like attributes are of dimension element names, not- DimensionElementinstances.- DimensionGraphobjects are still returned by certain non-deprecated methods and properties (most prominently- DatasetType.dimensions), and to handle these cases deprecation warnings are only emitted for operations on- DimensionGraphthat are not supported by- DimensionGroupas well.- Parameters:
- universeDimensionUniverse
- The special graph of all known dimensions of which this graph will be a subset. 
- dimensionsiterable of Dimension, optional
- An iterable of - Dimensioninstances that must be included in the graph. All (recursive) dependencies of these dimensions will also be included. At most one of- dimensionsand- namesmust be provided.
- namesiterable of str, optional
- An iterable of the names of dimensions that must be included in the graph. All (recursive) dependencies of these dimensions will also be included. At most one of - dimensionsand- namesmust be provided.
- conformbool, optional
- If - True(default), expand to include dependencies.- Falseshould only be used for callers that can guarantee that other arguments are already correctly expanded, and is primarily for internal use.
 
- universe
 - Notes - DimensionGraphshould be used instead of other collections in most contexts where a collection of dimensions is required and a- DimensionUniverseis available. Exceptions include cases where order matters (and is different from the consistent ordering defined by the- DimensionUniverse), or complete- Setsemantics are required.- Deprecated since version v27: DimensionGraph is deprecated in favor of DimensionGroup and will be removed after v27. - Attributes Summary - A true - Setof all- DimensionElementinstances in the graph; a superset of- dimensions(- NamedValueAbstractSetof- DimensionElement).- A true - Setof all- GovernorDimensioninstances in the graph.- The subset of - dimensionswhose elements need not be directly identified via their primary keys in a data ID.- Set of the names of all dimensions in the graph. - A tuple of all elements in specific order. - The subset of - dimensionswhose elements must be directly identified via their primary keys in a data ID in order to identify the rest of the elements in the graph.- A true - Setof all- SkyPixDimensioninstances in the graph.- Families represented by the spatial elements in this graph. - Families represented by the temporal elements in this graph. - Families of elements in this graph that can participate in topological relationships. - Object that manages all known dimensions. - Methods Summary - as_group()- Return a - DimensionGroupthat represents the same set of dimensions.- from_json(json_str[, universe, registry])- Convert from JSON to a pydantic model. - from_simple(names[, universe, registry])- Construct a new object from the simplified form. - get(name[, default])- Return the element with the given name. - intersection(*others)- Construct a new graph with only dimensions in all of the operands. - isdisjoint(other)- Test whether the intersection of two graphs is empty. - issubset(other)- Test whether all dimensions in - selfare also in- other.- issuperset(other)- Test whether all dimensions in - otherare also in- self.- to_json([minimal])- Convert this class to JSON assuming that the - to_simple()returns a pydantic model.- to_simple([minimal])- Convert this class to a simple python type. - union(*others)- Construct a new graph with all dimensions in any of the operands. - Attributes Documentation - dimensions¶
- A true - Setof all true- Dimensioninstances in the graph.- Deprecated since version v27: DimensionGraph is deprecated in favor of DimensionGroup, which uses sets of str names instead of NamedValueAbstractSets of Dimension or DimensionElement instances. Support for the NamedValueAbstractSet interfaces on this object will be dropped after v27. Use ‘.names’ instead of ‘.dimensions’ or ‘.dimensions.names’. 
 - elements¶
- A true - Setof all- DimensionElementinstances in the graph; a superset of- dimensions(- NamedValueAbstractSetof- DimensionElement).
 - governors¶
- A true - Setof all- GovernorDimensioninstances in the graph.
 - implied¶
- The subset of - dimensionswhose elements need not be directly identified via their primary keys in a data ID.
 - names¶
- Set of the names of all dimensions in the graph. 
 - primaryKeyTraversalOrder¶
- A tuple of all elements in specific order. - The order allows records to be found given their primary keys, starting from only the primary keys of required dimensions ( - tuple[- DimensionRecord]).- Unlike the table definition/topological order (which is what DimensionUniverse.sorted gives you), when dimension A implies dimension B, dimension A appears first. - Deprecated since version v27: DimensionGraph is deprecated in favor of DimensionGroup, which does not have this attribute; use .lookup_order. DimensionGraph will be removed after v27. 
 - required¶
- The subset of - dimensionswhose elements must be directly identified via their primary keys in a data ID in order to identify the rest of the elements in the graph.
 - skypix¶
- A true - Setof all- SkyPixDimensioninstances in the graph.
 - spatial¶
- Families represented by the spatial elements in this graph. 
 - temporal¶
- Families represented by the temporal elements in this graph. 
 - topology¶
- Families of elements in this graph that can participate in topological relationships. - Deprecated since version v27: DimensionGraph is deprecated in favor of DimensionGroup, which does not have this attribute; use .spatial or .temporal. DimensionGraph will be removed after v27. 
 - universe¶
- Object that manages all known dimensions. 
 - Methods Documentation - as_group() DimensionGroup¶
- Return a - DimensionGroupthat represents the same set of dimensions.- Returns:
- groupDimensionGroup
- Group that represents the same set of dimensions. 
 
- group
 
 - classmethod from_json(json_str: str, universe: DimensionUniverse | None = None, registry: Registry | None = None) SupportsSimple¶
- Convert from JSON to a pydantic model. - Parameters:
- cls_typeofSupportsSimple
- The Python type being created. 
- json_strstr
- The JSON string representing this object. 
- universeDimensionUniverseorNone, optional
- The universe required to instantiate some models. Required if - registryis- None.
- registryRegistryorNone, optional
- Registry from which to obtain the dimension universe if an explicit universe has not been given. 
 
- cls_
- Returns:
- modelSupportsSimple
- Pydantic model constructed from JSON and validated. 
 
- model
 
 - classmethod from_simple(names: SerializedDimensionGraph, universe: DimensionUniverse | None = None, registry: Registry | None = None) DimensionGraph¶
- Construct a new object from the simplified form. - This is assumed to support data data returned from the - to_simplemethod.- Parameters:
- nameslistofstr
- The names of the dimensions. 
- universeDimensionUniverse
- The special graph of all known dimensions of which this graph will be a subset. Can be - Noneif- Registryis provided.
- registrylsst.daf.butler.Registry, optional
- Registry from which a universe can be extracted. Can be - Noneif universe is provided explicitly.
 
- names
- Returns:
- graphDimensionGraph
- Newly-constructed object. 
 
- graph
 
 - get(name: str, default: Any = None) DimensionElement¶
- Return the element with the given name. - This lookup covers all - DimensionElementinstances in- self.elements, not just true- Dimensioninstances).- Parameters:
- namestr
- Name of element to return. 
- defaulttyping.AnyorNone
- Default value if named element is not present. 
 
- name
- Returns:
- elementDimensionElementorNone
- The element found, or the default. 
 
- element
 
 - intersection(*others: DimensionGroup | DimensionGraph) DimensionGraph¶
- Construct a new graph with only dimensions in all of the operands. - Parameters:
- *othersDimensionGrouporDimensionGraph
- Other graphs to use. 
 
- *others
- Returns:
- interDimensionGraph
- Intersection of all the graphs. 
 
- inter
 - Notes - See also - union.
 - isdisjoint(other: DimensionGroup | DimensionGraph) bool¶
- Test whether the intersection of two graphs is empty. - Parameters:
- otherDimensionGrouporDimensionGraph
- Other graph to compare with. 
 
- other
- Returns:
 
 - issubset(other: DimensionGroup | DimensionGraph) bool¶
- Test whether all dimensions in - selfare also in- other.- Parameters:
- otherDimensionGrouporDimensionGraph
- Other graph to compare with. 
 
- other
- Returns:
 
 - issuperset(other: DimensionGroup | DimensionGraph) bool¶
- Test whether all dimensions in - otherare also in- self.- Parameters:
- otherDimensionGrouporDimensionGraph
- Other graph to compare with. 
 
- other
- Returns:
 
 - to_json(minimal: bool = False) str¶
- Convert this class to JSON assuming that the - to_simple()returns a pydantic model.- Parameters:
- minimalbool
- Return minimal possible representation. 
 
- minimal
 
 - to_simple(minimal: bool = False) SerializedDimensionGraph¶
- Convert this class to a simple python type. - This type is suitable for serialization. 
 - union(*others: DimensionGroup | DimensionGraph) DimensionGraph¶
- Construct a new graph with all dimensions in any of the operands. - Parameters:
- *othersDimensionGrouporDimensionGraph
- Other graphs to join with. 
 
- *others
- Returns:
- unionDimensionGraph
- The union of this graph wit hall the others. 
 
- union
 - Notes - The elements of the returned graph may exceed the naive union of their elements, as some - DimensionElementinstances are included in graphs whenever multiple dimensions are present, and those dependency dimensions could have been provided by different operands.