Spaces:
Sleeping
Sleeping
| FROM python:3.12-slim | |
| # Set up user for HuggingFace Spaces | |
| RUN useradd -m -u 1000 user | |
| USER user | |
| ENV HOME=/home/user \ | |
| PATH=/home/user/.local/bin:$PATH | |
| WORKDIR $HOME/app | |
| # Install dependencies | |
| COPY --chown=user requirements.txt . | |
| RUN pip install --no-cache-dir -r requirements.txt | |
| # Copy application files | |
| COPY --chown=user . . | |
| # Download data from HF Dataset on build (all task suites + fixture data) | |
| RUN python -c "from huggingface_hub import hf_hub_download; \ | |
| import os; os.makedirs('data', exist_ok=True); \ | |
| r='ibm-research/BPO-Bench'; d='dataset'; \ | |
| hf_hub_download(r, 'candidate_data.parquet', local_dir='data', repo_type=d); \ | |
| hf_hub_download(r, 'tasks.json', local_dir='data', repo_type=d); \ | |
| hf_hub_download(r, 'tasks_type_mismatch.json', local_dir='data', repo_type=d); \ | |
| hf_hub_download(r, 'tasks_http_errors.json', local_dir='data', repo_type=d); \ | |
| hf_hub_download(r, 'tasks_schema_violations.json', local_dir='data', repo_type=d); \ | |
| hf_hub_download(r, 'tasks_edge_cases.json', local_dir='data', repo_type=d); \ | |
| hf_hub_download(r, 'tasks_undocumented.json', local_dir='data', repo_type=d); \ | |
| hf_hub_download(r, 'large_response_fixture.json', local_dir='data', repo_type=d)" | |
| # Expose port for Gradio | |
| EXPOSE 7860 | |
| # Start the application | |
| CMD ["python", "app.py"] | |