morphik-core/start_server.py

41 lines
974 B
Python
Raw Normal View History

import uvicorn
import argparse
from dotenv import load_dotenv
2024-11-22 18:56:22 -05:00
from core.config import get_settings
from core.logging_config import setup_logging
2024-11-16 14:37:01 -05:00
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()
2024-11-22 18:56:22 -05:00
# Load settings (this will validate all required env vars)
settings = get_settings()
# Start server
uvicorn.run(
"core.api:app",
2024-11-22 18:56:22 -05:00
host=settings.HOST,
port=settings.PORT,
2024-12-17 21:40:38 -05:00
loop="asyncio",
log_level=args.log,
2024-11-22 18:56:22 -05:00
# reload=settings.RELOAD
)
2024-11-22 18:56:22 -05:00
if __name__ == "__main__":
2024-11-16 14:37:01 -05:00
main()