示例#1
0
def get_module_doc():
    """Gives the module documentation object."""
    context = pdoc.Context()
    module = pdoc.Module(temptree, context=context)
    pdoc.link_inheritance(context=context)

    return module
示例#2
0
def docs(outdir="."):
    """Auto-generate documentation for wsp-tools in html.

	**Parameters**

	* **outdir** : _string_ <br />
	The directory to write the output documentation. <br />
	Default is "./".
	"""
    modules = ['wsp_tools']
    context = pdoc.Context()
    modules = [pdoc.Module(mod, context=context) for mod in modules]
    pdoc.link_inheritance(context)

    def recursive_htmls(mod):
        yield mod.url(), mod.html()
        for submod in mod.submodules():
            yield from recursive_htmls(submod)

    for mod in modules:
        for module_url, html in recursive_htmls(mod):
            output_url = Path(outdir).expanduser().joinpath(module_url)
            if not Path(output_url).parent.exists():
                Path(output_url).parent.mkdir(parents=True)
            with open(output_url, "w+") as f:
                f.write(html)
    print("Documentation for wsp-tools written to: \n{}:".format(
        Path(outdir).joinpath(modules[0].url())))
示例#3
0
def get_module_doc():
    """Gives the module documentation object."""
    context = pdoc.Context()
    module = pdoc.Module(pytest_notimplemented, context=context)
    pdoc.link_inheritance(context=context)

    return module
示例#4
0
def generate_docs(docs_dir: str):
    """
    python callable that creates docs like docs/textwalker.html, docs/patternparser.py
    Args:
        docs_dir: location to output docs to
    """
    if not os.path.exists(docs_dir):
        print(f'{docs_dir} does not exist; creating dir')
        os.mkdir(docs_dir)

    mod_names = [
        "textwalker", "textwalker.textwalker", "textwalker.pattern_parser",
        "textwalker.utils"
    ]
    context = pdoc.Context()
    modules = [pdoc.Module(mod, context=context) for mod in mod_names]
    pdoc.link_inheritance(context)
    for module in modules:
        if module.name == "textwalker":
            filepath = os.path.join(docs_dir, 'index.html')
        else:
            pkg, modname = module.name.split('.')
            filename = f'{modname}.html'
            filepath = os.path.join(docs_dir, filename)

        with open(filepath, 'w', encoding='utf-8') as fp:
            fp.write(module.html())
        print(f'wrote docs for module {module.name} to {filepath}')
def get_package_modules(src: str = DEFAULT_PACKAGE_DIRECTORY) -> list:
    # Public submodules are auto-imported
    context = pdoc.Context()
    modules = [pdoc.Module(mod, context=context) for mod in [
        src,
    ]]
    pdoc.link_inheritance(context)
    return modules
示例#6
0
def test_pdoc3():
    modules = ["test_pdoc3_docstring_parser"]
    context = pdoc.Context()
    modules = [pdoc.Module(mod, context=context) for mod in modules]
    pdoc.link_inheritance(context)
    #
    for module in modules:
        for function in module.functions():
            na = function.name
            mo = function.module
            ob = function.obj
            do = function.docstring
            ih = function.inherits
            fd = function.funcdef()
            pa = function.params(annotate=True)
            ra = function.return_annotation()
            pass
        html = module.html()
示例#7
0
    def __init__(self, path, destination, name="docs", templates=None):
        """Set notes templates. Initialize `pdoc` linker.

        Parameters
        ----------
        path : pathlib.Path
            path to directory containing `.py` files with notes
        templates : pathlib.Path or None, optional
            path to directory containing customized templates which will be
            used to create `html` notes (default is `None`)
        """
        self.destination = destination
        self.name = name
        self.set_templates(templates)

        context = pdoc.Context()
        source = str(path / destination.name)
        self.module = pdoc.Module(source, context=context)
        pdoc.link_inheritance(context)
示例#8
0
文件: api.py 项目: sdrmm/pyatv
def _api_modules():
    def _recursive_htmls(mod):
        yield mod.name, mod.html()
        for submod in mod.submodules():
            yield from _recursive_htmls(submod)

    modules = ["pyatv"]
    context = pdoc.Context()

    modules = [
        pdoc.Module(mod, context=context, docfilter=_filter_func) for mod in modules
    ]
    pdoc.link_inheritance(context)

    for mod in modules:
        for module_name, html in _recursive_htmls(mod):
            splitted = module_name.split(".")
            splitted[-1] = splitted[-1] + ".html"
            output_file = os.path.join("docs", "api", *splitted)
            yield output_file, html
示例#9
0
"""scrapli.docs.generate"""
import pdoc
from pdoc import _render_template, tpl_lookup

context = pdoc.Context()
module = pdoc.Module("scrapli", context=context)
pdoc.link_inheritance(context)
tpl_lookup.directories.insert(0, "docs/generate")

doc_map = {
    "scrapli.driver.base.base_driver": {"path": "driver/base/base_driver", "content": None},
    "scrapli.driver.base.sync_driver": {"path": "driver/base/sync_driver", "content": None},
    "scrapli.driver.base.async_driver": {"path": "driver/base/async_driver", "content": None},
    "scrapli.driver.generic.base_driver": {"path": "driver/generic/base_driver", "content": None},
    "scrapli.driver.generic.sync_driver": {"path": "driver/generic/sync_driver", "content": None},
    "scrapli.driver.generic.async_driver": {"path": "driver/generic/async_driver", "content": None},
    "scrapli.driver.network.base_driver": {"path": "driver/network/base_driver", "content": None},
    "scrapli.driver.network.sync_driver": {"path": "driver/network/sync_driver", "content": None},
    "scrapli.driver.network.async_driver": {"path": "driver/network/async_driver", "content": None},
    "scrapli.driver.core.arista_eos.base_driver": {
        "path": "driver/core/arista_eos/base_driver",
        "content": None,
    },
    "scrapli.driver.core.arista_eos.sync_driver": {
        "path": "driver/core/arista_eos/sync_driver",
        "content": None,
    },
    "scrapli.driver.core.arista_eos.async_driver": {
        "path": "driver/core/arista_eos/async_driver",
        "content": None,
    },
示例#10
0
    with open("aux.py", "w") as aux:
        aux.write("from clingo import *\nfrom abc import *\nfrom typing import *\n")
        for _, name, obj in SUB:
            parse_class(aux, name, obj.__doc__)
    import aux
    return aux


clingo.ast.__spec__ = importlib.machinery.ModuleSpec("clingo.ast", None)

clingo.__pdoc__ = {}
for key, name, obj in SUB:
    clingo.__pdoc__[key] = re.sub(r"```python.*?class ({}(\([^)]*\))?):.*?```".format(name), "", obj.__doc__, flags=re.MULTILINE|re.DOTALL)

pdoc.tpl_lookup.directories.insert(0, './templates')
ctx = pdoc.Context()

cmod = pdoc.Module(clingo, context=ctx)
amod = pdoc.Module(clingo.ast, supermodule=cmod, context=ctx)
xmod = parse_aux()

cmod.doc["Application"] = pdoc.Class("Application", cmod, xmod.Application)
cmod.doc["Observer"] = pdoc.Class("Observer", cmod, xmod.Observer)
cmod.doc["Propagator"] = pdoc.Class("Propagator", cmod, xmod.Propagator)
cmod.doc["ast"] = amod
cmod.doc["__version__"] = pdoc.Variable("__version__", cmod, "__version__: str\n\nVersion of the clingo module (`'{}'`).".format(clingo.__version__))
cmod.doc["Infimum"] = pdoc.Variable("Infimum", cmod, '''Infimum: Symbol\n\nRepresents a symbol of type `clingo.SymbolType.Infimum`.''')
cmod.doc["Supremum"] = pdoc.Variable("Supremum", cmod, '''Supremum: Symbol\n\nRepresents a symbol of type `clingo.SymbolType.Supremum`.''')
pdoc.link_inheritance(ctx)

prefix = "../clingo/python-api/{}".format(".".join(clingo.__version__.split(".")[:2]))
示例#11
0
def load_toplevel(toplevel_name):
    context = pdoc.Context()
    toplevel = pdoc.Module(toplevel_name, context=context)
    pdoc.link_inheritance(context)
    return toplevel