Interactive Dash app for exploring how different positive/negative score splits across multiple pods affect per-pod and average ROC-AUC.
This project now targets Python 3.12 and uses uv as the default workflow.
uv python install 3.12
uv syncuv sync creates a local .venv/ and installs the package plus the minimal direct runtime dependencies declared in pyproject.toml.
The project keeps only the libraries it imports directly at runtime:
dashgunicornnumpyplotlyscikit-learn
Transitive packages such as Flask, SciPy, and Werkzeug are installed automatically through those top-level dependencies.
This version recomputes the split distributions and ROC-AUC values on each slider update.
uv run python app.pyGenerate the cached figures and ROC-AUC combinations first:
uv run python create_content.py
uv run python app_2.pyapp_2.py is the faster variant and the default deployment target.
uv run gunicorn app_2:server -b 0.0.0.0:8050app.yaml is configured for Python 3.12.
gcloud init
gcloud app deploy ./app.yaml -YBuild the image:
docker build -t plotly_app:1.0 . --build-arg runtime_path="."Run it locally:
docker run --rm --name dash_app -d -p 80:80 plotly_app:1.0If you want to run the published image on a VM:
chmod +x vm_docker_setup.sh
./vm_docker_setup.sh