code: def parse_uri(path_or_uri):
      from smart_open import parse_uri
  
      try:
          return parse_uri(path_or_uri)
      except NotImplementedError as e:
          # Snakemake sees a lot of URIs which are not supported by smart_open yet
          # "docker", "git+file", "shub", "ncbi","root","roots","rootk", "gsiftp",
          # "srm","ega","ab","dropbox"
          # Fall back to a simple split if we encounter something which isn't supported.
          scheme, _, uri_path = path_or_uri.partition("://")
          if scheme and uri_path:
              uri = collections.namedtuple(
                  "Uri", ["scheme", "uri_path"]
              )
              return uri(scheme, uri_path)
          else:
              raise e
  
imports: import contextlib
  import itertools
  import math
  import operator
  import platform
  import hashlib
  import inspect
  import sys
  import uuid
  import os
  import asyncio
  import collections
  from pathlib import Path
  from snakemake._version import get_versions
  from snakemake_interface_common.exceptions import WorkflowError
label_desc: Use image node_id 8 for calling a global function with example usage: parse_uri(path_or_uri) and returns: parse_uri, uri