Spaces:
Running
Running
Commit History
-
feat: run the eval worker inside the Space (CPU, isolated venv)
Make the Space self-contained — it now runs the eval engine itself on CPU, no external machine needed: - Dockerfile: build an isolated /opt/worker-venv (CPU torch + open-eeg-bench), kept OUT of the web app's pinned stack to avoid version conflicts; launch the worker as a background '--watch' loop alongside uvicorn + the frontend, gated by RUN_EVAL_WORKER (set =0 in Space settings to disable without a rebuild). Built before the code COPY (cached across code rebuilds) and non-fatal (a failed worker-deps install never breaks the web app). - run_eval_worker.py: import-light (only huggingface_hub + pure app modules, so it runs in the minimal venv), default --device cpu, add process_queue() and a --watch/--interval service loop. - app/services/__init__.py: stop eagerly importing the heavy submodules so the pure results_mapping can be imported without dragging in datasets/transformers/ aiohttp. All call sites use direct submodule imports, so nothing breaks. Verified: the w…c54d8a2
-
Migrate from Gradio to React + FastAPI architecture
Replace the old Gradio-based leaderboard with a React frontend and FastAPI backend, adapted from the Open LLM Leaderboard codebase for EEG model evaluation. Backend: FastAPI app with leaderboard, model submission, and voting endpoints. Frontend: React + MUI with leaderboard table, filters, model submission, voting, about page, and citations. Infrastructure: Dockerfile, docker-compose, and env configuration for HF Spaces.ee472e7