| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- """ Python Server entry point """
- import argparse
- import logging
- import os
- import sys
- from .server import __version__, serve, start, status, stop, wait, widget
- __all__ = ["start", "stop", "status", "wait", "serve", "widget", "__version__"]
- def main():
- """ main entry point """
- parser = argparse.ArgumentParser(description=
- "Viewer for neural network, deep learning and machine learning models.")
- parser.add_argument("file",
- metavar="MODEL_FILE", help="model file to serve", nargs="?", default=None)
- parser.add_argument("-b", "--browse",
- help="launch web browser", action="store_true")
- parser.add_argument("-p", "--port", help="port to serve", type=int)
- parser.add_argument("--host",
- metavar="ADDR", help="host to serve", default="localhost")
- parser.add_argument("--verbosity",
- metavar="LEVEL", help="log verbosity (quiet, default, debug)",
- choices=[ "quiet", "debug", "default" ], default="default")
- parser.add_argument("--version", help="print version", action="store_true")
- args = parser.parse_args()
- levels = {
- "quiet": logging.CRITICAL,
- "default": logging.INFO,
- "debug": logging.DEBUG,
- }
- logging.basicConfig(level=levels[args.verbosity], format="%(message)s")
- logger = logging.getLogger(__name__)
- if args.file and not os.path.exists(args.file):
- logger.error(f"Model file '{args.file}' does not exist.")
- sys.exit(2)
- if args.version:
- logger.info(__version__)
- sys.exit(0)
- address = (args.host, args.port) if args.host else args.port if args.port else None
- start(args.file, address=address, browse=args.browse)
- wait()
- sys.exit(0)
- if __name__ == "__main__":
- main()
|