31 lines
575 B
Python
31 lines
575 B
Python
import os
|
|
|
|
import click
|
|
import uvicorn
|
|
from dotenv import load_dotenv
|
|
|
|
|
|
@click.command()
|
|
@click.option(
|
|
"--env",
|
|
type=click.Choice(["local", "dev", "prod"], case_sensitive=False),
|
|
default="local",
|
|
)
|
|
def main(env: str):
|
|
load_dotenv()
|
|
os.environ["ENV"] = env
|
|
if env == "prod":
|
|
raise Exception("Production environment not supported yet!")
|
|
|
|
uvicorn.run(
|
|
app="app.server:app",
|
|
host="localhost",
|
|
port=8000,
|
|
reload=True if env != "prod" else False,
|
|
workers=1,
|
|
)
|
|
|
|
|
|
if __name__ == "__main__":
|
|
main()
|