class_docstr: Parse and compare numpy version strings.
  
  NumPy has the following versioning scheme (numbers given are examples; they
  can be > 9 in principle):
  
  - Released version: '1.8.0', '1.8.1', etc.
  - Alpha: '1.8.0a1', '1.8.0a2', etc.
  - Beta: '1.8.0b1', '1.8.0b2', etc.
  - Release candidates: '1.8.0rc1', '1.8.0rc2', etc.
  - Development versions: '1.8.0.dev-f1234afa' (git commit hash appended)
  - Development versions after a1: '1.8.0a1.dev-f1234afa',
                                   '1.8.0b2.dev-f1234afa',
                                   '1.8.1rc1.dev-f1234afa', etc.
  - Development versions (no git hash available): '1.8.0.dev-Unknown'
  
  Comparing needs to be done against a valid version string or other
  `NumpyVersion` instance. Note that all development versions of the same
  (pre-)release compare equal.
  
  .. versionadded:: 1.9.0
  
  Parameters
  ----------
  vstring : str
      NumPy version string (``np.__version__``).
  
  Examples
  --------
  >>> from numpy.lib import NumpyVersion
  >>> if NumpyVersion(np.__version__) < '1.7.0':
  ...     print('skip')
  >>> # skip
  
  >>> NumpyVersion('1.7')  # raises ValueError, add ".0"
  Traceback (most recent call last):
      ...
  ValueError: Not a valid numpy version string
class_docstr_tok: ["Parse","and","compare","numpy","version","strings",".","NumPy","has","the","following","versioning","scheme","(","numbers","given","are","examples",";","they","can","be",">","9","in","principle",")",":","-","Released","version",":","'","1.8.0","'",",","'","1.8.1","'",",","etc",".","-","Alpha",":","'","1.8.0a1","'",",","'","1.8.0a2","'",",","etc",".","-","Beta",":","'","1.8.0b1","'",",","'","1.8.0b2","'",",","etc",".","-","Release","candidates",":","'","1.8.0rc1","'",",","'","1.8.0rc2","'",",","etc",".","-","Development","versions",":","'","1.8.0.dev-f1234afa","'","(","git","commit","hash","appended",")","-","Development","versions","after","a1",":","'","1.8.0a1.dev-f1234afa","'",",","'","1.8.0b2.dev-f1234afa","'",",","'","1.8.1rc1.dev-f1234afa","'",",","etc",".","-","Development","versions","(","no","git","hash","available",")",":","'","1.8.0.dev-Unknown'","Comparing","needs","to","be","done","against","a","valid","version","string","or","other","`","NumpyVersion","`","instance",".","Note","that","all","development","versions","of","the","same","(","pre-",")","release","compare","equal",".","..","versionadded",":",":","1.9.0","Parameters","--","--","--","--","--","vstring",":","str","NumPy","version","string","(","``","np.__version__","``",")",".","Examples","--","--","--","--",">",">",">","from","numpy.lib","import","NumpyVersion",">",">",">","if","NumpyVersion","(","np.__version__",")","<","'","1.7.0","'",":","...","print","(","'skip","'",")",">",">",">","#","skip",">",">",">","NumpyVersion","(","'","1.7","'",")","#","raises","ValueError",",","add","``",".0","''","Traceback","(","most","recent","call","last",")",":","...","ValueError",":","Not","a","valid","numpy","version","string"]
docstr: Compare alpha/beta/rc/final.
docstr_tok: ["Compare","alpha\/beta\/rc\/final","."]
code: def _compare_pre_release(self, other):
      """Compare alpha/beta/rc/final."""
      if self.pre_release == other.pre_release:
          vercmp = 0
      elif self.pre_release == "final":
          vercmp = 1
      elif other.pre_release == "final":
          vercmp = -1
      elif self.pre_release > other.pre_release:
          vercmp = 1
      else:
          vercmp = -1
  
      return vercmp
  
file_path: catboost/contrib/python/numpy/py3/numpy/lib/_version.py
imports: import re
label_desc: Use image node_id 3 for calling the NumpyVersion obj's underlying member method code with example usage: obj._compare_pre_release(other) and returns: vercmp