text: # -*- coding: utf-8 -*-
  # MegEngine is Licensed under the Apache License, Version 2.0 (the "License")
  #
  # Copyright (c) 2014-2020 Megvii Inc. All rights reserved.
  #
  # Unless required by applicable law or agreed to in writing,
  # software distributed under the License is distributed on an
  # "AS IS" BASIS, WITHOUT ARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  
  """version information for MegBrain package"""
  
  import collections
  
  from . import mgb as _mgb
  
  
  class Version(
      collections.namedtuple("VersionBase", ["major", "minor", "patch", "dev"])
  ):
      """simple sematic version object"""
  
      @classmethod
      def __normalize(cls, v):
          if isinstance(v, str):
              v = v.split(".")
          a, b, c = map(int, v)
          return cls(a, b, c)
  
      def __eq__(self, rhs):
          return super().__eq__(self.__normalize(rhs))
  
      def __ne__(self, rhs):
          return super().__ne__(self.__normalize(rhs))
  
      def __lt__(self, rhs):
          return super().__lt__(self.__normalize(rhs))
  
      def __le__(self, rhs):
          return super().__le__(self.__normalize(rhs))
  
      def __gt__(self, rhs):
          return super().__gt__(self.__normalize(rhs))
  
      def __ge__(self, rhs):
          return super().__ge__(self.__normalize(rhs))
  
      def __str__(self):
          rst = "{}.{}.{}".format(self.major, self.minor, self.patch)
          if self.dev:
              rst += "-dev{}".format(self.dev)
          return rst
  
  
  Version.__new__.__defaults__ = (0,)  # dev defaults to 0
  
  version_info = Version(*_mgb._get_mgb_version())
  __version__ = str(version_info)
  