code: def astuple(inst, *, recurse=True, filter=None):
      """
      Same as `attr.astuple`, except that collections types are always retained
      and `tuple` is always used as the *tuple_factory*.
  
      .. versionadded:: 21.3.0
      """
      return _astuple(
          inst=inst,
          recurse=recurse,
          filter=filter,
          retain_collection_types=True,
      )
  
file_path: catboost/contrib/python/attrs/py3/attr/_next_gen.py
imports: from functools import partial
  from .None import setters
  from ._funcs import asdict
  from ._funcs import astuple
  from ._make import NOTHING, _frozen_setattrs, _ng_default_on_setattr, attrib, attrs
  from .exceptions import UnannotatedAttributeError
label_desc: Use image node_id 4 for calling a global function with example usage: astuple(inst) and returns: _astuple