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 "base version" of the version.
  
  >>> Version("1.2.3").base_version
  '1.2.3'
  >>> Version("1.2.3+abc").base_version
  '1.2.3'
  >>> Version("1!1.2.3+abc.dev1").base_version
  '1!1.2.3'
  
  The "base version" is the public version of the project without any pre or post
  release markers.
docstr_tok: ["The","``","base","version","''","of","the","version",".",">",">",">","Version","(","``","1.2.3","''",")",".base_version","'","1.2.3'",">",">",">","Version","(","``","1.2.3+abc","''",")",".base_version","'","1.2.3'",">",">",">","Version","(","``","1","!","1.2.3+abc.dev1","''",")",".base_version","'","1","!","1.2.3'","The","``","base","version","''","is","the","public","version","of","the","project","without","any","pre","or","post","release","markers","."]
code: def base_version(self) -> str:
      """The "base version" of the version.
  
      >>> Version("1.2.3").base_version
      '1.2.3'
      >>> Version("1.2.3+abc").base_version
      '1.2.3'
      >>> Version("1!1.2.3+abc.dev1").base_version
      '1!1.2.3'
  
      The "base version" is the public version of the project without any pre or post
      release markers.
      """
      parts = []
  
      # Epoch
      if self.epoch != 0:
          parts.append(f"{self.epoch}!")
  
      # Release segment
      parts.append(".".join(str(x) for x in self.release))
  
      return "".join(parts)
  
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 11 for calling the Version obj's underlying member method code with example usage: obj.base_version() and returns: str