PYTHON := .venv/bin/python PIp := .venv/bin/pip UVICORN := .venv/bin/uvicorn LTX_PKG := libs/LTX-2 DB := app/jobs.db PORT ?= 8000 RELOAD ?= --reload .PHONY: install lint api clean docs # Install project deps (LTX packages must be installed first manually) install: $(PIP) install -r requirements.txt # Run the API server api: PYTORCH_CUDA_ALLOC_CONF=expandable_segments:True \ $(UVICORN) app.main:app --host 0.0.0.0 --port $(PORT) $(RELOAD) # Generate OpenAPI docs as JSON docs: $(PYTHON) -c "import json; from app.main import app; json.dump(app.openapi(), open('openapi.json', 'w'), indent=2)" # Clean up generated artifacts clean: rm -rf videos/*.mp4 $(DB) *.db __pycache__ app/__pycache__ # Lint lint: @command -v ruff >/dev/null && .venv/bin/ruff check app/ || echo "ruff not installed" @command -v flake8 >/dev/null && .venv/bin/flake8 app/ || echo "flake8 not installed" $(PYTHON) -m py_compile app/main.py app/config.py app/models.py app/service.py app/database.py @echo "Syntax OK"