Source code for draugr.entry_points.tensorboard_entry_point

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
from shutil import rmtree

__author__ = "Christian Heider Nielsen"
__doc__ = ""
__all__ = []


[docs]def main(keep_alive: bool = True, use_asyncio: bool = True) -> str: """ :param use_asyncio: :param keep_alive: :type keep_alive: :return: :rtype:""" from draugr.torch_utilities import launch_tensorboard # from draugr import IgnoreInterruptSignal # from contextlib import suppress from time import sleep from apppath import AppPath import argparse parser = argparse.ArgumentParser(description="Option for launching tensorboard") parser.add_argument("NAME", type=str, help="App name to open AppPath for") parser.add_argument( "--author", type=str, help="App author to open AppPath for", default=None ) parser.add_argument( "--version", type=str, help="App version to open AppPath for", default=None ) parser.add_argument( "--clean", action="store_true", default=False, help="Adding --clean argument will wipe tensorboard logs", ) parser.add_argument( "--port", default=6006, help="Which port should tensorboard be served on" ) args = parser.parse_args() project_app_path = AppPath(args.NAME, args.author, args.version) log_dir = project_app_path.user_log if args.clean: print(f"Wiping {log_dir}") if log_dir.exists(): rmtree(str(log_dir)) else: log_dir.mkdir() address = launch_tensorboard(log_dir, args.port) if keep_alive: print(f"tensorboard address: {address} for log_dir {log_dir}") if use_asyncio: import asyncio async def work(): """description""" while True: await asyncio.sleep(1) # print("Task Executed") loop = asyncio.get_event_loop() try: asyncio.ensure_future(work()) loop.run_forever() except KeyboardInterrupt: pass finally: print("Closing Loop") loop.close() else: # with IgnoreInterruptSignal(): # Do not block while True: sleep(10) return address
if __name__ == "__main__": import webbrowser """ Type Name Class Name Notes 'mozilla' Mozilla('mozilla') 'firefox' Mozilla('mozilla') 'netscape' Mozilla('netscape') 'galeon' Galeon('galeon') 'epiphany' Galeon('epiphany') 'skipstone' BackgroundBrowser('skipstone') 'kfmclient' Konqueror() (1) 'konqueror' Konqueror() (1) 'kfm' Konqueror() (1) 'mosaic' BackgroundBrowser('mosaic') 'opera' Opera() 'grail' Grail() 'links' GenericBrowser('links') 'elinks' Elinks('elinks') 'lynx' GenericBrowser('lynx') 'w3m' GenericBrowser('w3m') 'windows-default' WindowsDefault (2) 'macosx' MacOSX('default') (3) 'safari' MacOSX('safari') (3) 'google-chrome' Chrome('google-chrome') 'chrome' Chrome('chrome') 'chromium' Chromium('chromium') 'chromium-browser' Chromium('chromium-browser') """ # Open URL in a new tab, if a browser window is already open. webbrowser.open_new_tab(main()) ## Open URL in new window, raising the window if possible. # webbrowser.open_new(url)