morphik-core/start_server.py
2025-02-07 21:08:40 -05:00

41 lines
974 B
Python

import uvicorn
import argparse
from dotenv import load_dotenv
from core.config import get_settings
from core.logging_config import setup_logging
def main():
# Parse command line arguments
parser = argparse.ArgumentParser(description="Start the DataBridge server")
parser.add_argument(
"--log",
choices=["debug", "info", "warning", "error"],
default="info",
help="Set the logging level",
)
args = parser.parse_args()
# Set up logging first with specified level
setup_logging(log_level=args.log.upper())
# Load environment variables from .env file
load_dotenv()
# Load settings (this will validate all required env vars)
settings = get_settings()
# Start server
uvicorn.run(
"core.api:app",
host=settings.HOST,
port=settings.PORT,
loop="asyncio",
log_level=args.log,
# reload=settings.RELOAD
)
if __name__ == "__main__":
main()