code: def parse_sdist_filename(filename):
      # type: (str) -> Tuple[NormalizedName, Version]
      if not filename.endswith(".tar.gz"):
          raise InvalidSdistFilename(
              "Invalid sdist filename (extension must be '.tar.gz'): {0}".format(
                  filename
              )
          )
  
      # We are requiring a PEP 440 version, which cannot contain dashes,
      # so we split on the last dash.
      name_part, sep, version_part = filename[:-7].rpartition("-")
      if not sep:
          raise InvalidSdistFilename(
              "Invalid sdist filename: {0}".format(filename)
          )
  
      name = canonicalize_name(name_part)
      version = Version(version_part)
      return (name, version)
  
file_path: catboost/contrib/python/packaging/py2/packaging/utils.py
imports: from __future__ import absolute_import, division, print_function
  import re
  from ._typing import TYPE_CHECKING, cast
  from .tags import Tag, parse_tag
  from .version import InvalidVersion, Version
label_desc: Use image node_id 4 for calling a global function with example usage: parse_sdist_filename(filename) and returns: name,  version