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