Source code for dran.main

# =========================================================================== #
# File: main.py                                                               #
# Author: Pfesesani V. van Zyl                                                #
# Email: pfesi24@gmail.com                                                    #
# =>========================================================================= #


# Library imports
# --------------------------------------------------------------------------- #
import sys
from pathlib import Path

# Ensure repo root is on sys.path so "src.*" imports work regardless of CWD.
_ROOT = Path(__file__).resolve().parent
if str(_ROOT) not in sys.path:
    sys.path.insert(0, str(_ROOT))

from dran.cli.parser import parse_args
from dran.cli.init_processes import run
# =========================================================================== #

[docs] def main(argv: list[str] | None = None) -> int: try: args = parse_args(argv) run(args) return 0 except KeyboardInterrupt: print("\nInterrupted.", file=sys.stderr) return 130 except Exception as exc: print(f"Fatal error: {exc}", file=sys.stderr) return 1
if __name__ == "__main__": sys.exit(main())