code: def _describe_credentials():
      import keyring
      from keyring.util import platform_
  
      def describe_keyring_backend(be):
          be_repr = repr(be)
          return (
              be.name
              if "object at 0" in be_repr
              else be_repr.strip("<>")
          )
  
      # might later add information on non-keyring credentials gh-4981
      props = {}
  
      active_keyring = keyring.get_keyring()
      krp = {
          "config_file": Path(platform_.config_root(), "keyringrc.cfg"),
          "data_root": platform_.data_root(),
          "active_backends": [
              describe_keyring_backend(be)
              for be in getattr(
                  active_keyring, "backends", [active_keyring]
              )
          ],
      }
      props.update(
          keyring=krp,
      )
      return props
  
imports: import logging
  import os
  import os.path
  import sys
  import tempfile
  import textwrap
  from collections import defaultdict
  from functools import partial
  from datalad.dochelpers import get_docstring_split
  from datalad.interface.base import Interface, build_doc
  from datalad.utils import ensure_unicode, getpwd, unlink, Path
  from datalad.support.external_versions import external_versions
  from datalad.support.exceptions import CapturedException, CommandError, InvalidGitRepositoryError
  from datalad import __version__
label_desc: Use image node_id 15 for calling a global function with example usage: _describe_credentials() and returns: props, unknown