# {py:mod}`arelle.PythonUtil` ```{py:module} arelle.PythonUtil ``` ```{autodoc2-docstring} arelle.PythonUtil :allowtitles: ``` ## Module Contents ### Classes ````{list-table} :class: autosummary longtable :align: left * - {py:obj}`attrdict ` - ```{autodoc2-docstring} arelle.PythonUtil.attrdict :summary: ``` * - {py:obj}`OrderedDefaultDict ` - ```{autodoc2-docstring} arelle.PythonUtil.OrderedDefaultDict :summary: ``` * - {py:obj}`OrderedSet ` - ```` ### Functions ````{list-table} :class: autosummary longtable :align: left * - {py:obj}`py3unquote ` - ```{autodoc2-docstring} arelle.PythonUtil.py3unquote :summary: ``` * - {py:obj}`pyTypeName ` - ```{autodoc2-docstring} arelle.PythonUtil.pyTypeName :summary: ``` * - {py:obj}`pyNamedObject ` - ```{autodoc2-docstring} arelle.PythonUtil.pyNamedObject :summary: ``` * - {py:obj}`lcStr ` - ```{autodoc2-docstring} arelle.PythonUtil.lcStr :summary: ``` * - {py:obj}`strTruncate ` - ```{autodoc2-docstring} arelle.PythonUtil.strTruncate :summary: ``` * - {py:obj}`normalizeSpace ` - ```{autodoc2-docstring} arelle.PythonUtil.normalizeSpace :summary: ``` * - {py:obj}`flattenSequence ` - ```{autodoc2-docstring} arelle.PythonUtil.flattenSequence :summary: ``` * - {py:obj}`flattenToSet ` - ```{autodoc2-docstring} arelle.PythonUtil.flattenToSet :summary: ``` * - {py:obj}`Fraction ` - ```{autodoc2-docstring} arelle.PythonUtil.Fraction :summary: ``` * - {py:obj}`pyObjectSize ` - ```{autodoc2-docstring} arelle.PythonUtil.pyObjectSize :summary: ``` ```` ### Data ````{list-table} :class: autosummary longtable :align: left * - {py:obj}`STR_NUM_TYPES ` - ```{autodoc2-docstring} arelle.PythonUtil.STR_NUM_TYPES :summary: ``` * - {py:obj}`SEQUENCE_TYPES ` - ```{autodoc2-docstring} arelle.PythonUtil.SEQUENCE_TYPES :summary: ``` ```` ### API ````{py:data} STR_NUM_TYPES :canonical: arelle.PythonUtil.STR_NUM_TYPES :value: > () ```{autodoc2-docstring} arelle.PythonUtil.STR_NUM_TYPES ``` ```` ````{py:function} py3unquote(string, encoding='utf-8', errors='replace') :canonical: arelle.PythonUtil.py3unquote ```{autodoc2-docstring} arelle.PythonUtil.py3unquote ``` ```` ````{py:function} pyTypeName(object) :canonical: arelle.PythonUtil.pyTypeName ```{autodoc2-docstring} arelle.PythonUtil.pyTypeName ``` ```` ````{py:function} pyNamedObject(name, *args, **kwargs) :canonical: arelle.PythonUtil.pyNamedObject ```{autodoc2-docstring} arelle.PythonUtil.pyNamedObject ``` ```` ````{py:function} lcStr(value) :canonical: arelle.PythonUtil.lcStr ```{autodoc2-docstring} arelle.PythonUtil.lcStr ``` ```` ````{py:function} strTruncate(value, length) -> str :canonical: arelle.PythonUtil.strTruncate ```{autodoc2-docstring} arelle.PythonUtil.strTruncate ``` ```` ````{py:function} normalizeSpace(s: arelle.typing.OptionalString) -> arelle.typing.OptionalString :canonical: arelle.PythonUtil.normalizeSpace ```{autodoc2-docstring} arelle.PythonUtil.normalizeSpace ``` ```` ````{py:data} SEQUENCE_TYPES :canonical: arelle.PythonUtil.SEQUENCE_TYPES :value: > () ```{autodoc2-docstring} arelle.PythonUtil.SEQUENCE_TYPES ``` ```` ````{py:function} flattenSequence(x, sequence=None) -> list[typing.Any] :canonical: arelle.PythonUtil.flattenSequence ```{autodoc2-docstring} arelle.PythonUtil.flattenSequence ``` ```` ````{py:function} flattenToSet(x, _set=None) :canonical: arelle.PythonUtil.flattenToSet ```{autodoc2-docstring} arelle.PythonUtil.flattenToSet ``` ```` ````{py:class} attrdict(*args, **kwargs) :canonical: arelle.PythonUtil.attrdict Bases: {py:obj}`dict` ```{autodoc2-docstring} arelle.PythonUtil.attrdict ``` ```{rubric} Initialization ``` ```{autodoc2-docstring} arelle.PythonUtil.attrdict.__init__ ``` ```` `````{py:class} OrderedDefaultDict(*args) :canonical: arelle.PythonUtil.OrderedDefaultDict Bases: {py:obj}`collections.OrderedDict` ```{autodoc2-docstring} arelle.PythonUtil.OrderedDefaultDict ``` ```{rubric} Initialization ``` ```{autodoc2-docstring} arelle.PythonUtil.OrderedDefaultDict.__init__ ``` ````{py:method} __missing__(key) :canonical: arelle.PythonUtil.OrderedDefaultDict.__missing__ ```{autodoc2-docstring} arelle.PythonUtil.OrderedDefaultDict.__missing__ ``` ```` ````` `````{py:class} OrderedSet(iterable=None) :canonical: arelle.PythonUtil.OrderedSet Bases: {py:obj}`collections.abc.MutableSet` ````{py:method} __len__() :canonical: arelle.PythonUtil.OrderedSet.__len__ ```{autodoc2-docstring} arelle.PythonUtil.OrderedSet.__len__ ``` ```` ````{py:method} __contains__(key) :canonical: arelle.PythonUtil.OrderedSet.__contains__ ```{autodoc2-docstring} arelle.PythonUtil.OrderedSet.__contains__ ``` ```` ````{py:method} add(key) :canonical: arelle.PythonUtil.OrderedSet.add ```` ````{py:method} update(other) :canonical: arelle.PythonUtil.OrderedSet.update ```{autodoc2-docstring} arelle.PythonUtil.OrderedSet.update ``` ```` ````{py:method} discard(key) :canonical: arelle.PythonUtil.OrderedSet.discard ```` ````{py:method} __iter__() :canonical: arelle.PythonUtil.OrderedSet.__iter__ ```{autodoc2-docstring} arelle.PythonUtil.OrderedSet.__iter__ ``` ```` ````{py:method} __reversed__() :canonical: arelle.PythonUtil.OrderedSet.__reversed__ ```{autodoc2-docstring} arelle.PythonUtil.OrderedSet.__reversed__ ``` ```` ````{py:method} pop(last=True) :canonical: arelle.PythonUtil.OrderedSet.pop ```` ````{py:method} __repr__() :canonical: arelle.PythonUtil.OrderedSet.__repr__ ```` ````{py:method} __eq__(other) :canonical: arelle.PythonUtil.OrderedSet.__eq__ ```` ````` ````{py:function} Fraction(numerator, denominator=None) :canonical: arelle.PythonUtil.Fraction ```{autodoc2-docstring} arelle.PythonUtil.Fraction ``` ```` ````{py:function} pyObjectSize(obj, seen=None) :canonical: arelle.PythonUtil.pyObjectSize ```{autodoc2-docstring} arelle.PythonUtil.pyObjectSize ``` ````