Spaces:
Sleeping
Sleeping
| # Hugging Face Space (Docker + Streamlit) | |
| The **root `README.md`** starts with the YAML card Hugging Face reads for the Space (title, tags, colours, `sdk: docker`, `app_port: 7860`). Copy that block if you maintain a separate Space README. | |
| ```yaml | |
| --- | |
| title: FateFormer Explorer | |
| short_description: Multimodal fate from RNA, ATAC, and metabolic flux models. | |
| emoji: 🧬 | |
| colorFrom: purple | |
| colorTo: indigo | |
| tags: | |
| - single-cell | |
| - multi-omics | |
| - genomics | |
| - atac-seq | |
| - rna-seq | |
| - fluxomic | |
| - metabolic-modeling | |
| - deep-learning | |
| - biology | |
| license: mit | |
| sdk: docker | |
| app_port: 7860 | |
| --- | |
| ``` | |
| `app_port` **7860** matches the root **`Dockerfile`** (`streamlit ... --server.port 7860`). Local runs use Streamlit’s default **8501** unless you pass `--server.port`. | |
| ## Before first deploy | |
| 1. Run locally: `python scripts/precompute_streamlit_cache.py` (requires GPU/CPU time for attention). | |
| 2. Commit **`streamlit_hf/cache/`** contents (`latent_umap.pkl`, `attention_summary.pkl`, `attention_feature_ranks.pkl`, `df_features.parquet`, and optionally `samples.parquet` if you use it elsewhere). **Hugging Face rejects raw Parquet in git:** `*.parquet` is tracked with **Git LFS** via root `.gitattributes` (same idea as `*.pkl`). If an old commit still has Parquet as a normal blob, run `git lfs migrate import --include="*.parquet" --everything` then force-push. These paths may be in `.gitignore`; use `git add -f streamlit_hf/cache/*` when you want them in the remote. | |
| 3. Keep **`ckp/`** model weights available only if you run precompute in CI; the slim Docker image does **not** include PyTorch and expects precomputed caches. | |
| The repository **`Dockerfile`** at the root builds the Space. | |