Spaces:
Sleeping
Sleeping
Commit Β·
2dfa899
1
Parent(s): 9aa96f5
docs: HF Spaces deploy workflow in README + AGENTS.md; drop video-script notes
Browse files
AGENTS.md
CHANGED
|
@@ -45,7 +45,24 @@ survives only as the fallback layer in `ui/_compat.py`.
|
|
| 45 |
also `index.json` manifest), `surf-cams.json` (camera links keyed
|
| 46 |
`"name | state | region"`), `surf-break-example-bells.json` (prompt worked
|
| 47 |
example).
|
| 48 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 49 |
|
| 50 |
## Conventions that matter
|
| 51 |
|
|
|
|
| 45 |
also `index.json` manifest), `surf-cams.json` (camera links keyed
|
| 46 |
`"name | state | region"`), `surf-break-example-bells.json` (prompt worked
|
| 47 |
example).
|
| 48 |
+
|
| 49 |
+
## Deploying to HF Spaces
|
| 50 |
+
|
| 51 |
+
- The Space `lucashudsn/wavereader` (public) *is* this repo β remote
|
| 52 |
+
`space`. Ship with `git push space v2:main`, then `git push origin v2`
|
| 53 |
+
to keep GitHub in sync. The Space builds from the pushed commit; watch
|
| 54 |
+
*Logs β Build* on the Space page or poll
|
| 55 |
+
`HfApi().get_space_runtime("lucashudsn/wavereader")` until `RUNNING`.
|
| 56 |
+
- The YAML block at the top of `README.md` is the Space config. Keep
|
| 57 |
+
`sdk_version` in lockstep with the gradio pin in `requirements.txt`
|
| 58 |
+
(regenerate that file only via `uv export --no-hashes
|
| 59 |
+
--format requirements-txt --no-dev -o requirements.txt` β other
|
| 60 |
+
invocations can leave stray progress lines that break pip), and
|
| 61 |
+
`python_version` in lockstep with `pyproject.toml`'s `requires-python`.
|
| 62 |
+
- `HF_TOKEN` is a Space secret (set once via *Settings β Variables and
|
| 63 |
+
secrets* or `HfApi().add_space_secret`); `WR_*` overrides can be added
|
| 64 |
+
the same way. `.cache/` is ephemeral on the Space and rebuilds lazily β
|
| 65 |
+
no persistent storage, no warm step.
|
| 66 |
|
| 67 |
## Conventions that matter
|
| 68 |
|
README.md
CHANGED
|
@@ -25,8 +25,7 @@ just moved to Berlin; I wanted to build something to make me enjoy ML and
|
|
| 25 |
engineering again.
|
| 26 |
|
| 27 |
> [Built for GTC Berlin](#built-for-the-gtc-berlin-golden-ticket-developer-contest-) β
|
| 28 |
-
> NVIDIA open weights on Hugging Face rails
|
| 29 |
-
> [`documents/VIDEO_SCRIPT.md`](documents/VIDEO_SCRIPT.md). #NVIDIAGTC
|
| 30 |
|
| 31 |
## One rule holds the whole app together
|
| 32 |
|
|
@@ -128,6 +127,30 @@ access to Open-Meteo / OpenTopoData and a disk cache under `.cache/`.
|
|
| 128 |
On a HF Space the secret is the fallback; the agent panel's BYO-token box
|
| 129 |
is session-only and never logged.
|
| 130 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 131 |
## How it's laid out
|
| 132 |
|
| 133 |
```
|
|
@@ -155,7 +178,7 @@ data/
|
|
| 155 |
surf-break-example-bells.json # prompt worked example
|
| 156 |
surf-cams.json # camera links keyed name | state | region
|
| 157 |
documents/
|
| 158 |
-
ENCYCLOPEDIA.md FORECAST.md SURFAGENT.md
|
| 159 |
legacy/ # frozen v1 front end, kept as the compat fallback
|
| 160 |
```
|
| 161 |
|
|
@@ -204,9 +227,4 @@ one-token inference. It leans on both halves deliberately β Nemotron 3
|
|
| 204 |
Ultra for language, deterministic Python for physics β and shows its work
|
| 205 |
on screen the whole way.
|
| 206 |
|
| 207 |
-
|
| 208 |
-
[`documents/VIDEO_SCRIPT.md`](documents/VIDEO_SCRIPT.md)) walks the hero
|
| 209 |
-
strip, the break book with its climate audit, the staged swell check with
|
| 210 |
-
the animated seafloor, the agent's timed tool calls, and a live MCP call
|
| 211 |
-
from an external client. Tagging @Merve Noyan β thanks for the nudge.
|
| 212 |
-
#NVIDIAGTC
|
|
|
|
| 25 |
engineering again.
|
| 26 |
|
| 27 |
> [Built for GTC Berlin](#built-for-the-gtc-berlin-golden-ticket-developer-contest-) β
|
| 28 |
+
> NVIDIA open weights on Hugging Face rails. #NVIDIAGTC
|
|
|
|
| 29 |
|
| 30 |
## One rule holds the whole app together
|
| 31 |
|
|
|
|
| 127 |
On a HF Space the secret is the fallback; the agent panel's BYO-token box
|
| 128 |
is session-only and never logged.
|
| 129 |
|
| 130 |
+
## Deploying to HF Spaces
|
| 131 |
+
|
| 132 |
+
The app is live at [huggingface.co/spaces/lucashudsn/wavereader](https://huggingface.co/spaces/lucashudsn/wavereader).
|
| 133 |
+
The Space *is* this git repo β the `space` remote points at it β and the
|
| 134 |
+
YAML block at the top of this README is the Space config: `sdk_version`
|
| 135 |
+
must match the gradio pin in `requirements.txt`, and `app_file` is `app.py`.
|
| 136 |
+
|
| 137 |
+
```sh
|
| 138 |
+
git push space v2:main # ship whatever is committed on v2
|
| 139 |
+
git push origin v2 # keep GitHub in sync
|
| 140 |
+
```
|
| 141 |
+
|
| 142 |
+
The push asks for credentials: username `lucashudsn`, password = an HF
|
| 143 |
+
token with write access (https://huggingface.co/settings/tokens). The
|
| 144 |
+
build takes a few minutes; watch it under the Space's *Logs β Build* tab
|
| 145 |
+
or poll `HfApi().get_space_runtime("lucashudsn/wavereader")`.
|
| 146 |
+
|
| 147 |
+
Secrets live in the Space's *Settings β Variables and secrets* β
|
| 148 |
+
`HF_TOKEN` is already set, which is what lets the agent and narrator work
|
| 149 |
+
for visitors. `WR_MODEL` / `WR_PROVIDER` / `WR_BASE_URL` can be added the
|
| 150 |
+
same way if you ever want to reroute the LLM. Caches under `.cache/` are
|
| 151 |
+
ephemeral on the Space and rebuild lazily after a restart; nothing else
|
| 152 |
+
needs doing.
|
| 153 |
+
|
| 154 |
## How it's laid out
|
| 155 |
|
| 156 |
```
|
|
|
|
| 178 |
surf-break-example-bells.json # prompt worked example
|
| 179 |
surf-cams.json # camera links keyed name | state | region
|
| 180 |
documents/
|
| 181 |
+
ENCYCLOPEDIA.md FORECAST.md SURFAGENT.md
|
| 182 |
legacy/ # frozen v1 front end, kept as the compat fallback
|
| 183 |
```
|
| 184 |
|
|
|
|
| 227 |
Ultra for language, deterministic Python for physics β and shows its work
|
| 228 |
on screen the whole way.
|
| 229 |
|
| 230 |
+
Tagging @Merve Noyan β thanks for the nudge. #NVIDIAGTC
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|