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: Turn name into a GitHub-like service compliant repository name
  
  Useful for sanitizing directory names.
docstr_tok: ["Turn","name","into","a","GitHub-like","service","compliant","repository","name","Useful","for","sanitizing","directory","names","."]
code: def normalize_reponame(self, path):
      """Turn name into a GitHub-like service compliant repository name
  
      Useful for sanitizing directory names.
      """
      return re.sub(r"\s+", "_", re.sub(r"[/\\]+", "-", path))
  
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 5 for calling the _GitHubLike obj's underlying member method code with example usage: obj.normalize_reponame(path) and returns: re