class_docstr: This class abstracts handling of a project's versions.
  
  A :class:`Version` instance is comparison aware and can be compared and
  sorted using the standard Python interfaces.
  
  >>> v1 = Version("1.0a5")
  >>> v2 = Version("1.0")
  >>> v1
  <Version('1.0a5')>
  >>> v2
  <Version('1.0')>
  >>> v1 < v2
  True
  >>> v1 == v2
  False
  >>> v1 > v2
  False
  >>> v1 >= v2
  False
  >>> v1 <= v2
  True
docstr: The public portion of the version.
  
  >>> Version("1.2.3").public
  '1.2.3'
  >>> Version("1.2.3+abc").public
  '1.2.3'
  >>> Version("1.2.3+abc.dev1").public
  '1.2.3'
code: def public(self) -> str:
      """The public portion of the version.
  
      >>> Version("1.2.3").public
      '1.2.3'
      >>> Version("1.2.3+abc").public
      '1.2.3'
      >>> Version("1.2.3+abc.dev1").public
      '1.2.3'
      """
      return str(self).split("+", 1)[0]
  
imports: import collections
  import itertools
  import re
  from typing import Any, Callable, Optional, SupportsInt, Tuple, Union
  from ._structures import Infinity, InfinityType, NegativeInfinity, NegativeInfinityType
label_desc: Use image node_id 10 for calling the Version obj's underlying member method code with example usage: obj.public() and returns: str