code: def compatible_tags(
      python_version=None,  # type: Optional[PythonVersion]
      interpreter=None,  # type: Optional[str]
      platforms=None,  # type: Optional[Iterable[str]]
  ):
      # type: (...) -> Iterator[Tag]
      """
      Yields the sequence of tags that are compatible with a specific version of Python.
  
      The tags consist of:
      - py*-none-<platform>
      - <interpreter>-none-any  # ... if `interpreter` is provided.
      - py*-none-any
      """
      if not python_version:
          python_version = sys.version_info[:2]
      platforms = list(platforms or _platform_tags())
      for version in _py_interpreter_range(python_version):
          for platform_ in platforms:
              yield Tag(version, "none", platform_)
      if interpreter:
          yield Tag(interpreter, "none", "any")
      for version in _py_interpreter_range(python_version):
          yield Tag(version, "none", "any")
  
imports: from __future__ import absolute_import
  import distutils.util
  import collections
  import logging
  import os
  import platform
  import re
  import struct
  import sys
  import sysconfig
  import warnings
  from ._typing import TYPE_CHECKING, cast
label_desc: Use image node_id 11 for calling a global function with example usage: compatible_tags(python_version, interpreter, platforms) without return types