def _split_props(thing, doc):
    """
    Separate properties from other kinds of member.
    """
    props = inspect.getmembers(thing, lambda o: isinstance(o, property))
    ps = []
    docs = [
        (*_get_names(names, types), names, types, desc) for names, types, desc in doc
    ]
    for prop_name, prop in props:
        in_doc = [d for d in enumerate(docs) if prop_name in d[0]]
        for d in in_doc:
            docs.remove(d)
        ps.append(prop_name)
    if len(docs) > 0:
        _, _, names, types, descs = zip(*docs)
        return ps, zip(names, types, descs)
    return ps, []
def _split_props ( thing , doc ) : props = inspect . getmembers ( thing , lambda o : isinstance ( o , property ) ) ps = [ ] docs = [ ( * _get_names ( names , types ) , names , types , desc ) for names , types , desc in doc ] for prop_name , prop in props : in_doc = [ d for d in enumerate ( docs ) if prop_name in d [ 0 ] ] for d in in_doc : docs . remove ( d ) ps . append ( prop_name ) if len ( docs ) > 0 : _ , _ , names , types , descs = zip ( * docs ) return ps , zip ( names , types , descs ) return ps , [ ]
Separate properties from other kinds of member.