code: def order(self):
          
          # non-GA releases should appear before GA releases
          # Order: tp -> beta -> rc -> GA
          if self.stage:
              for st in STAGES:
                  if st in self.stage:
                      stage = (STAGES.index(st), self.stage)
                      break
          else:
              stage = (len(STAGES),)
  
          return (int(self.major), int(self.minor), int(self.patch)) + stage
docs: Return a representation that allows this object to be sorted
          correctly with the default comparator.