freddyaboulton HF Staff commited on
Commit
084cd87
·
verified ·
1 Parent(s): 1ec3285

Upload folder using huggingface_hub

Browse files
Files changed (4) hide show
  1. README.md +7 -7
  2. requirements.txt +2 -0
  3. run.ipynb +1 -0
  4. run.py +25 -0
README.md CHANGED
@@ -1,12 +1,12 @@
 
1
  ---
2
- title: Render Preserve Key Main
3
- emoji: 🌖
4
- colorFrom: purple
5
- colorTo: green
6
  sdk: gradio
7
  sdk_version: 5.29.1
8
- app_file: app.py
9
  pinned: false
 
10
  ---
11
-
12
- Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
 
1
+
2
  ---
3
+ title: render_preserve_key_main
4
+ emoji: 🔥
5
+ colorFrom: indigo
6
+ colorTo: indigo
7
  sdk: gradio
8
  sdk_version: 5.29.1
9
+ app_file: run.py
10
  pinned: false
11
+ hf_oauth: true
12
  ---
 
 
requirements.txt ADDED
@@ -0,0 +1,2 @@
 
 
 
1
+ gradio-client @ git+https://github.com/gradio-app/gradio@c196ac25b7744e9dcfa788b1ac8edf6551eec1ff#subdirectory=client/python
2
+ https://gradio-pypi-previews.s3.amazonaws.com/c196ac25b7744e9dcfa788b1ac8edf6551eec1ff/gradio-5.29.1-py3-none-any.whl
run.ipynb ADDED
@@ -0,0 +1 @@
 
 
1
+ {"cells": [{"cell_type": "markdown", "id": "302934307671667531413257853548643485645", "metadata": {}, "source": ["# Gradio Demo: render_preserve_key"]}, {"cell_type": "code", "execution_count": null, "id": "272996653310673477252411125948039410165", "metadata": {}, "outputs": [], "source": ["!pip install -q gradio "]}, {"cell_type": "code", "execution_count": null, "id": "288918539441861185822528903084949547379", "metadata": {}, "outputs": [], "source": ["import gradio as gr\n", "import random\n", "\n", "with gr.Blocks() as demo:\n", " number_of_boxes = gr.Slider(1, 5, step=1, value=3, label=\"Number of Boxes\")\n", "\n", " @gr.render(inputs=[number_of_boxes])\n", " def create_boxes(number_of_boxes):\n", " for i in range(number_of_boxes):\n", " with gr.Row(key=f'row-{i}'):\n", " number_box = gr.Textbox(\n", " label=f\"Default Label\", \n", " info=\"Default Info\", \n", " key=f\"box-{i}\", \n", " preserved_by_key=[\"label\", \"value\"], \n", " interactive=True\n", " )\n", " change_label_btn = gr.Button(\"Change Label\", key=f\"btn-{i}\")\n", "\n", " change_label_btn.click(\n", " lambda: gr.Textbox(label=random.choice(\"ABCDE\"), info=random.choice(\"ABCDE\")), outputs=number_box\n", " )\n", "\n", "if __name__ == \"__main__\":\n", " demo.launch()"]}], "metadata": {}, "nbformat": 4, "nbformat_minor": 5}
run.py ADDED
@@ -0,0 +1,25 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import gradio as gr
2
+ import random
3
+
4
+ with gr.Blocks() as demo:
5
+ number_of_boxes = gr.Slider(1, 5, step=1, value=3, label="Number of Boxes")
6
+
7
+ @gr.render(inputs=[number_of_boxes])
8
+ def create_boxes(number_of_boxes):
9
+ for i in range(number_of_boxes):
10
+ with gr.Row(key=f'row-{i}'):
11
+ number_box = gr.Textbox(
12
+ label=f"Default Label",
13
+ info="Default Info",
14
+ key=f"box-{i}",
15
+ preserved_by_key=["label", "value"],
16
+ interactive=True
17
+ )
18
+ change_label_btn = gr.Button("Change Label", key=f"btn-{i}")
19
+
20
+ change_label_btn.click(
21
+ lambda: gr.Textbox(label=random.choice("ABCDE"), info=random.choice("ABCDE")), outputs=number_box
22
+ )
23
+
24
+ if __name__ == "__main__":
25
+ demo.launch()