Source code for ekomark.navigator

"""ekomark specialization of the navigator."""

import argparse
import pathlib

from banana import cfg as banana_cfg
from banana import navigator as bnav

from . import glob, navigator


[docs] def yelp(*args): """Help function (renamed to avoid clash of names) - short cut: h.""" if len(args) == 0: print( f"""Welcome to ekomark navigator - the eko benchmark skript! Available variables: {bnav.help_vars} o = "{bnav.o}" -> query operator Available functions: {bnav.help_fncs} dfl(id) - log as DataFrame simlogs(id) - find similar logs diff(id,id) - subtractig logs check_log(id) - check logs passed crashed_log(id) - print crashed logs plot_pdfs(id) - plot pdfs to final scale display_pdfs(id) - open pdfs plots compare(id,id) - compare externals """ ) elif len(args) == 1: return help(*args) return None
[docs] def register_globals(configpath): """Expose global variables.""" app = navigator.NavigatorApp(configpath, "sandbox") glob.app = app glob.glob["yelp"] = yelp glob.glob["h"] = yelp # register banana functions bnav.register_globals(glob.glob, glob.app) # add my functions glob.glob["check_log"] = app.check_log glob.glob["plot_pdfs"] = app.plot_pdfs glob.glob["display_pdfs"] = app.display_pdfs
[docs] def launch_navigator(): """CLI Entry point.""" parser = argparse.ArgumentParser() parser.add_argument( "-c", "--config", type=pathlib.Path, default=None, help="Path to config file" ) args = parser.parse_args() register_globals(banana_cfg.detect(args.config)) # ekomark.navigator makes the globals here (e.g. app, ls, t) available inside IPython return bnav.launch_navigator( ["eko", "ekomark", "ekomark.navigator.glob"], skip_cfg=True )