code: def version(self, calver: bool = False, pre_release: bool = False) -> str:
          
          # TODO: Optimize
          version = '{}.{}.{}'
          major, minor, patch = self.random.randints(3, 0, 10)
  
          if calver:
              if minor == 0:
                  minor += 1
  
              if patch == 0:
                  patch += 1
              major = self.random.randint(2016, 2018)
              return version.format(major, minor, patch)
  
          version = '{}.{}.{}'.format(major, minor, patch)
  
          if pre_release:
              suffixes = ('alpha', 'beta', 'rc')
              suffix = self.random.choice(suffixes)
              number = self.random.randint(1, 11)
              return '{}-{}.{}'.format(version, suffix, number)
  
          return version
docs: Generate version number.
  
          :param calver: Calendar versioning.
          :param pre_release: Pre-release.
          :return: Version.
  
          :Example:
              0.2.1