vishaldhakad's picture
fix: add pyproject.toml for openenv validate
e60433b
Raw
History Blame Contribute Delete
966 Bytes
"""
server/app.py — OpenEnv required server entry point.
Delegates to the main FastAPI application.
"""
import os
import sys
import uvicorn
# Ensure project root is on path before local imports
sys.path.insert(0, os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
from app.main import app # noqa: F401 — re-exported for openenv
# Named Constants
DEFAULT_HOST = "0.0.0.0"
DEFAULT_PORT = 7860
DEFAULT_WORKERS = 2
def main() -> None:
"""Entry point for [project.scripts] server = 'server.app:main'"""
port_str: str = os.environ.get("PORT", str(DEFAULT_PORT))
try:
port_num: int = int(port_str)
except ValueError as e:
raise ValueError(f"Invalid PORT environment variable: '{port_str}'. Must be an integer.") from e
uvicorn.run(
"app.main:app",
host=DEFAULT_HOST,
port=port_num,
workers=DEFAULT_WORKERS,
log_level="info",
)
if __name__ == '__main__':
main()