from pathlib import Path

import modal


PROJECT_ROOT = Path(__file__).resolve().parent

image = (
    modal.Image.debian_slim(python_version="3.12")
    .pip_install(
        "fastapi[standard]>=0.139.0",
        "htpy>=25.9.0",{{ logfire_package }}
    )
    .add_local_dir(PROJECT_ROOT / "app", remote_path="/root/app")
    .add_local_dir(PROJECT_ROOT / "frontend", remote_path="/root/frontend")
)

app = modal.App("{{ modal_name }}-web")


@app.function(image=image)
@modal.concurrent(max_inputs=100)
@modal.asgi_app()
def web():
    from app.main import app as fastapi_app

    return fastapi_app
