pidgy
command line interfaceΒΆ
import IPython, pidgy, pathlib, typing, click, functools, contextlib, sys, types
with pidgy.pidgyLoader():
try: from . import kernel, autocli, runpidgy, util, export, weave
except: import kernel, autocli, runpidgy, util, export, weave
def run(ctx, ref: str):
pidgy
run
executes pidgy
documents as programs.
import pidgy, click
click.echo(F"Running {ref}.")
with pidgy.util.sys_path(), pidgy.util.argv(*([ref] + ctx.args)):
runpidgy.run(ref)
def template(ctx, ref: str, no_show:bool=False):
pidgy
template
executes pidgy
documents as programs and publishes the templated results.
import pidgy, click
with pidgy.util.sys_path(), pidgy.util.argv(*([ref] + ctx.args)):
data = pidgy.runpidgy.render(ref)
if not no_show: click.echo(pidgy.util.ansify(data))
def to(to:{'markdown', 'python'}, files: typing.List[pathlib.Path], write:bool=False):
Convert pidgy documents to other formats.
pidgy.export.convert(*files, to=to, write=write)
def test(ctx, files: list):
Formally test markdown documents, notebooks, and python files.
import pytest
pytest.main(ctx.args+['--doctest-modules', '--disable-pytest-warnings']+list(files))
application = autocli.autoclick(
run, test, to, template,
autocli.autoclick(
pidgy.kernel.install, pidgy.kernel.uninstall, pidgy.kernel.start, group=click.Group("kernel")
),
context_settings=dict(allow_extra_args=True, ignore_unknown_options=True),
)