code: def _action_get(attrs, providers):
      # query datalad and report if it knows anything, or be silent
      # git handles the rest
      provider = providers.get_provider(
          attrs["url"], only_nondefault=True
      )
      if (
          provider is None
          or provider.credential is None
          or not isinstance(provider.credential, UserPassword)
      ):
          # datalad doesn't know or only has a non UserPassword credential for
          # this URL - create empty entry
          dlcred = UserPassword()
      else:
          dlcred = provider.credential
          # Safeguard against circular querying. We are a git-credential-helper.
          # If we find a datalad credential that tells DataLad to query Git, we
          # need to ignore it. Otherwise we'd end up right here again.
          if isinstance(provider.credential, GitCredential):
              # Just return the unchanged description we got from Git
              for k, v in attrs.items():
                  print("{}={}".format(k, v))
              return
  
      for dlk, gitk in (("user", "username"), ("password", "password")):
          val = dlcred.get(dlk)
          if val is not None:
              print("{}={}".format(gitk, val))
  
imports: import sys
  from datalad.downloaders import GitCredential, UserPassword
  from datalad.downloaders.providers import AUTHENTICATION_TYPES, Providers
  from datalad.local.gitcredential import _credspec2dict
  from datalad import ConfigManager
label_desc: Use image node_id 3 for calling a global function with example usage: _action_get(attrs, providers) without return types