gradio / cli /cli.py
hd0013's picture
Upload folder using huggingface_hub
8fdc036 verified
import sys
import typer
from gradio_client.cli import deploy_discord # type: ignore
from rich.console import Console
from .commands import custom_component, deploy, print_environment_info, reload
app = typer.Typer()
app.command("environment", help="Print Gradio environment information.")(
print_environment_info
)
app.command(
"deploy",
help="Deploy a Gradio app to Spaces. Must be called within the directory you would like to deploy.",
)(deploy)
app.command("deploy-discord", help="Deploy a Gradio app to Discord.")(
deploy_discord.main
)
def cli():
args = sys.argv[1:]
if len(args) == 0:
raise ValueError("No file specified.")
if args[0] in {"deploy", "environment", "deploy-discord"}:
app()
elif args[0] in {"cc", "component"}:
sys.argv = sys.argv[1:]
custom_component()
elif args[0] in {"build", "dev", "create", "show", "publish", "install"}:
try:
error = f"gradio {args[0]} is not a valid command. Did you mean `gradio cc {args[0]}` or `gradio component {args[0]}`?."
raise ValueError(error)
except ValueError:
console = Console()
console.print_exception()
else:
typer.run(reload)