示例#1
0
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
示例#2
0
 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)