def parse_numpy_docstring(docstring): ''' Parse a numpy docstring for summary and parameter information. Parameters ---------- docstring : str Docstring to parse. Returns ------- info : dict info['summary'] is a string summary. info['params'] is a dictionary of parameter name to a list of description lines. ''' info = {} parsed = docscrape.NumpyDocString(docstring) info['summary'] = '\n'.join(parsed['Summary']) params = parsed['Parameters'] # numpydoc v0.8.0 uses just a tuple for parameters, but later versions use # a namedtuple. here, only assume a tuple: info['params'] = {name: lines for name, type_, lines in params} return info
def get_constructor_doc_dict(self, name): model_class = self.registry[name] docs = inspect.getdoc(model_class) param_docs = docscrape.NumpyDocString(docs) param_docs_dict = {} for param in param_docs["Parameters"]: param_docs_dict[param.name] = param.desc[0] return param_docs_dict
def get_parameters(self, doc, type_table): """Get parameters from the doc of a class, function, or property object. Given the sklean docstring follows the numpy conventions, this function use the numpy docstring parser to read the doc of sklean. """ scraper = TypeScraper(type_table=type_table) r = docscrape.NumpyDocString(doc) paras = {} for p in r['Parameters']: para_str = str(p.type) para_type = scraper.scrap(para_str) if self.is_valid_para(para_type, type_table): paras[p.name] = scraper.scrap(para_str) else: continue return paras
def __init__(self, doc_string): self.doc_string = docscrape.NumpyDocString(doc_string)