#!/usr/bin/env python3
import argparse
import uvicorn
from stardust import Stardust

if __name__ == "__main__":

    parser = argparse.ArgumentParser()
    parser.add_argument(
        "file",
        metavar="F",
        type=str,
        default="app.py",
        help="Python file with at least one async function that returns a string, object or Response.",
    )
    parser.add_argument(
        "--port",
        metavar="P",
        type=int,
        default=5000,
        help="Port number where the framework will listen for incoming requests.",
    )
    parser.add_argument(
        "--debug",
        metavar="D",
        type=bool,
        default=False,
        help="Enable debug option.",
    )

    args = parser.parse_args()
    app = Stardust(file_path=args.file, port=args.port, debug=args.debug).build()
    uvicorn.run(app, port=args.port, access_log=False, log_level="error")
