def minimalBases(classes):
 if (not __python3):
  classes = [c for c in classes if (c is not ClassType)]
 candidates = []
 for m in classes:
  for n in classes:
   if (issubclass(n, m) and (m is not n)):
    break
  else:
   if (m in candidates):
    candidates.remove(m)
   candidates.append(m)
 return candidates

def minimalBases ( classes ) : if ( not __python3 ) : classes = [ c for c in classes if ( c is not ClassType ) ] candidates = [ ] for m in classes : for n in classes : if ( issubclass ( n , m ) and ( m is not n ) ) : break else : if ( m in candidates ) : candidates . remove ( m ) candidates . append ( m ) return candidates
reduce a list of base classes to its ordered minimum equivalent .