Fix: remove gradio from requirements.txt, bump sdk_version to 6.17.3
Browse filesHF Spaces pins gradio to sdk_version in README frontmatter.
Having gradio also in requirements.txt caused an irresolvable conflict.
Rule added to CLAUDE.md: never put gradio in requirements.txt.
- CLAUDE.md +13 -1
- README.md +1 -1
- requirements.txt +0 -1
CLAUDE.md
CHANGED
|
@@ -11,6 +11,15 @@ Stack: Python · Gradio · diffusers · HuggingFace Spaces (ZeroGPU).
|
|
| 11 |
2. SYNTAX → ~/miniforge3/bin/python3 -c "import ast; [ast.parse(open(f).read()) for f in ['app.py','image_generator.py','math_engine.py']]"
|
| 12 |
3. IMPORT → ~/miniforge3/bin/python3 -c "import app" 2>&1 # catches version conflicts & bad imports
|
| 13 |
must produce NO errors (warnings OK)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 14 |
4. RUN → kill previous instance, start fresh:
|
| 15 |
pkill -f "python3 app.py"; ~/miniforge3/bin/python3 app.py > /tmp/numzoo.log 2>&1 &
|
| 16 |
sleep 10 && cat /tmp/numzoo.log # must show no errors
|
|
@@ -22,7 +31,10 @@ Stack: Python · Gradio · diffusers · HuggingFace Spaces (ZeroGPU).
|
|
| 22 |
git add -A && git commit -m "..." && git push origin main
|
| 23 |
```
|
| 24 |
|
| 25 |
-
**Version pinning
|
|
|
|
|
|
|
|
|
|
| 26 |
|
| 27 |
**Never push broken code.** If Puppeteer tests fail, do not proceed to push.
|
| 28 |
|
|
|
|
| 11 |
2. SYNTAX → ~/miniforge3/bin/python3 -c "import ast; [ast.parse(open(f).read()) for f in ['app.py','image_generator.py','math_engine.py']]"
|
| 12 |
3. IMPORT → ~/miniforge3/bin/python3 -c "import app" 2>&1 # catches version conflicts & bad imports
|
| 13 |
must produce NO errors (warnings OK)
|
| 14 |
+
SDK CHK → verify README.md sdk_version matches local gradio (HF Spaces pins gradio to sdk_version):
|
| 15 |
+
python3 -c "
|
| 16 |
+
import re, subprocess
|
| 17 |
+
sdk = re.search(r'sdk_version: \"(.+?)\"', open('README.md').read()).group(1)
|
| 18 |
+
local = subprocess.check_output(['pip','show','gradio']).decode()
|
| 19 |
+
ver = re.search(r'Version: (.+)', local).group(1)
|
| 20 |
+
assert sdk == ver, f'MISMATCH: README sdk_version={sdk} but local gradio={ver}'
|
| 21 |
+
print(f'✅ sdk_version {sdk} matches local gradio')
|
| 22 |
+
" 2>&1
|
| 23 |
4. RUN → kill previous instance, start fresh:
|
| 24 |
pkill -f "python3 app.py"; ~/miniforge3/bin/python3 app.py > /tmp/numzoo.log 2>&1 &
|
| 25 |
sleep 10 && cat /tmp/numzoo.log # must show no errors
|
|
|
|
| 31 |
git add -A && git commit -m "..." && git push origin main
|
| 32 |
```
|
| 33 |
|
| 34 |
+
**Version pinning rules:**
|
| 35 |
+
- **Never put `gradio` in `requirements.txt`** — HF Spaces installs it separately using `sdk_version` from README.md frontmatter. Conflicting versions cause build failure.
|
| 36 |
+
- **Always keep `sdk_version` in README.md in sync with local gradio** — run the SDK check above before every push.
|
| 37 |
+
- To upgrade gradio: update `sdk_version` in README.md, reinstall locally (`pip install gradio==x.y.z`), re-run full loop.
|
| 38 |
|
| 39 |
**Never push broken code.** If Puppeteer tests fail, do not proceed to push.
|
| 40 |
|
README.md
CHANGED
|
@@ -4,7 +4,7 @@ emoji: 🦁
|
|
| 4 |
colorFrom: purple
|
| 5 |
colorTo: pink
|
| 6 |
sdk: gradio
|
| 7 |
-
sdk_version: "
|
| 8 |
app_file: app.py
|
| 9 |
pinned: false
|
| 10 |
license: apache-2.0
|
|
|
|
| 4 |
colorFrom: purple
|
| 5 |
colorTo: pink
|
| 6 |
sdk: gradio
|
| 7 |
+
sdk_version: "6.17.3"
|
| 8 |
app_file: app.py
|
| 9 |
pinned: false
|
| 10 |
license: apache-2.0
|
requirements.txt
CHANGED
|
@@ -1,4 +1,3 @@
|
|
| 1 |
-
gradio>=6.0.0
|
| 2 |
audioop-lts
|
| 3 |
diffusers>=0.30.0
|
| 4 |
transformers>=4.44.0
|
|
|
|
|
|
|
| 1 |
audioop-lts
|
| 2 |
diffusers>=0.30.0
|
| 3 |
transformers>=4.44.0
|