class_docstr: A representation of the tag triple for a wheel.
  
  Instances are considered immutable and thus are hashable. Equality checking
  is also supported.
class_docstr_tok: ["A","representation","of","the","tag","triple","for","a","wheel",".","Instances","are","considered","immutable","and","thus","are","hashable",".","Equality","checking","is","also","supported","."]
code: def __init__(self, interpreter, abi, platform):
      # type: (str, str, str) -> None
      self._interpreter = interpreter.lower()
      self._abi = abi.lower()
      self._platform = platform.lower()
      # The __hash__ of every single element in a Set[Tag] will be evaluated each time
      # that a set calls its `.disjoint()` method, which may be called hundreds of
      # times when scanning a page of links for packages with tags matching that
      # Set[Tag]. Pre-computing the value here produces significant speedups for
      # downstream consumers.
      self._hash = hash((self._interpreter, self._abi, self._platform))
  
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 1 to create a new Tag object from inherited base classes: object with example: obj = Tag(interpreter, abi, platform)