Spaces:
Sleeping
Sleeping
from typing import NamedTuple | |
import argparse | |
import os | |
class Args(NamedTuple): | |
host: str | |
port: int | |
reload: bool | |
mode: str | |
max_queue_size: int | |
timeout: float | |
safety_checker: bool | |
taesd: bool | |
ssl_certfile: str | |
ssl_keyfile: str | |
debug: bool | |
acceleration: str | |
engine_dir: str | |
def pretty_print(self): | |
print("\n") | |
for field, value in self._asdict().items(): | |
print(f"{field}: {value}") | |
print("\n") | |
MAX_QUEUE_SIZE = int(os.environ.get("MAX_QUEUE_SIZE", 0)) | |
TIMEOUT = float(os.environ.get("TIMEOUT", 0)) | |
SAFETY_CHECKER = os.environ.get("SAFETY_CHECKER", None) == "True" | |
USE_TAESD = os.environ.get("USE_TAESD", "True") == "True" | |
ENGINE_DIR = os.environ.get("ENGINE_DIR", "engines") | |
ACCELERATION = os.environ.get("ACCELERATION", "xformers") | |
default_host = os.getenv("HOST", "0.0.0.0") | |
default_port = int(os.getenv("PORT", "7860")) | |
default_mode = os.getenv("MODE", "default") | |
parser = argparse.ArgumentParser(description="Run the app") | |
parser.add_argument("--host", type=str, default=default_host, help="Host address") | |
parser.add_argument("--port", type=int, default=default_port, help="Port number") | |
parser.add_argument("--reload", action="store_true", help="Reload code on change") | |
parser.add_argument( | |
"--mode", type=str, default=default_mode, help="App Inferece Mode: txt2img, img2img" | |
) | |
parser.add_argument( | |
"--max-queue-size", | |
dest="max_queue_size", | |
type=int, | |
default=MAX_QUEUE_SIZE, | |
help="Max Queue Size", | |
) | |
parser.add_argument("--timeout", type=float, default=TIMEOUT, help="Timeout") | |
parser.add_argument( | |
"--safety-checker", | |
dest="safety_checker", | |
action="store_true", | |
default=SAFETY_CHECKER, | |
help="Safety Checker", | |
) | |
parser.add_argument( | |
"--taesd", | |
dest="taesd", | |
action="store_true", | |
help="Use Tiny Autoencoder", | |
) | |
parser.add_argument( | |
"--no-taesd", | |
dest="taesd", | |
action="store_false", | |
help="Use Tiny Autoencoder", | |
) | |
parser.add_argument( | |
"--ssl-certfile", | |
dest="ssl_certfile", | |
type=str, | |
default=None, | |
help="SSL certfile", | |
) | |
parser.add_argument( | |
"--ssl-keyfile", | |
dest="ssl_keyfile", | |
type=str, | |
default=None, | |
help="SSL keyfile", | |
) | |
parser.add_argument( | |
"--debug", | |
action="store_true", | |
default=False, | |
help="Debug", | |
) | |
parser.add_argument( | |
"--acceleration", | |
type=str, | |
default=ACCELERATION, | |
choices=["none", "xformers", "sfast", "tensorrt"], | |
help="Acceleration", | |
) | |
parser.add_argument( | |
"--engine-dir", | |
dest="engine_dir", | |
type=str, | |
default=ENGINE_DIR, | |
help="Engine Dir", | |
) | |
parser.set_defaults(taesd=USE_TAESD) | |
config = Args(**vars(parser.parse_args())) | |
config.pretty_print() | |