class_docstr: Helper class with a platform abstraction for GitHub-like services
      
class_docstr_tok: ["Helper","class","with","a","platform","abstraction","for","GitHub-like","services"]
docstr: Generate a (default) sibling name, if none is given
  
  Returns
  -------
  str
docstr_tok: ["Generate","a","(","default",")","sibling","name",",","if","none","is","given","Returns","--","--","--","-","str"]
code: def get_siblingname(self, siblingname):
      """Generate a (default) sibling name, if none is given
  
      Returns
      -------
      str
      """
      if siblingname:
          return siblingname
  
      if self.api_url:
          siblingname = urlparse(self.api_url).netloc
  
      if not siblingname:
          raise ValueError(
              "No valid sibling name given or determined: {}".format(
                  siblingname
              )
          )
  
      return siblingname
  
imports: import logging
  import re
  from urllib.parse import urljoin, urlparse
  import requests
  from datalad import cfg
  from datalad.distribution.dataset import EnsureDataset, require_dataset
  from datalad.downloaders.credentials import Token
  from datalad.downloaders.http import DEFAULT_USER_AGENT
  from datalad.interface.common_opts import publish_depends, recursion_flag, recursion_limit
  from datalad.interface.results import get_status_dict
  from datalad.support.constraints import EnsureChoice, EnsureNone, EnsureStr
  from datalad.support.param import Parameter
  from datalad.ui import ui
  from datalad.utils import todo_interface_for_extensions
label_desc: Use image node_id 7 for calling the _GitHubLike obj's underlying member method code with example usage: obj.get_siblingname(siblingname) and returns: siblingname, siblingname