# {py:mod}`arelle.utils.Units` ```{py:module} arelle.utils.Units ``` ```{autodoc2-docstring} arelle.utils.Units :allowtitles: ``` ## Module Contents ### Classes ````{list-table} :class: autosummary longtable :align: left * - {py:obj}`UnitHashKey ` - ```{autodoc2-docstring} arelle.utils.Units.UnitHashKey :summary: ``` ```` ### Functions ````{list-table} :class: autosummary longtable :align: left * - {py:obj}`partitionUnits ` - ```{autodoc2-docstring} arelle.utils.Units.partitionUnits :summary: ``` * - {py:obj}`partitionModelXbrlUnits ` - ```{autodoc2-docstring} arelle.utils.Units.partitionModelXbrlUnits :summary: ``` * - {py:obj}`getDuplicateUnitGroups ` - ```{autodoc2-docstring} arelle.utils.Units.getDuplicateUnitGroups :summary: ``` ```` ### API `````{py:class} UnitHashKey(unit: arelle.ModelInstanceObject.ModelUnit) :canonical: arelle.utils.Units.UnitHashKey ```{autodoc2-docstring} arelle.utils.Units.UnitHashKey ``` ```{rubric} Initialization ``` ```{autodoc2-docstring} arelle.utils.Units.UnitHashKey.__init__ ``` ````{py:attribute} unit :canonical: arelle.utils.Units.UnitHashKey.unit :type: arelle.ModelInstanceObject.ModelUnit :value: > None ```{autodoc2-docstring} arelle.utils.Units.UnitHashKey.unit ``` ```` ````{py:attribute} hash :canonical: arelle.utils.Units.UnitHashKey.hash :type: int :value: > None ```{autodoc2-docstring} arelle.utils.Units.UnitHashKey.hash ``` ```` ````` ````{py:function} partitionUnits(units: collections.abc.Iterable[arelle.ModelInstanceObject.ModelUnit]) -> dict[arelle.utils.Units.UnitHashKey, tuple[arelle.ModelInstanceObject.ModelUnit, ...]] :canonical: arelle.utils.Units.partitionUnits ```{autodoc2-docstring} arelle.utils.Units.partitionUnits ``` ```` ````{py:function} partitionModelXbrlUnits(modelXbrl: arelle.ModelXbrl.ModelXbrl) -> dict[arelle.utils.Units.UnitHashKey, tuple[arelle.ModelInstanceObject.ModelUnit, ...]] :canonical: arelle.utils.Units.partitionModelXbrlUnits ```{autodoc2-docstring} arelle.utils.Units.partitionModelXbrlUnits ``` ```` ````{py:function} getDuplicateUnitGroups(modelXbrl: arelle.ModelXbrl.ModelXbrl) -> list[tuple[arelle.ModelInstanceObject.ModelUnit, ...]] :canonical: arelle.utils.Units.getDuplicateUnitGroups ```{autodoc2-docstring} arelle.utils.Units.getDuplicateUnitGroups ``` ````