Files
wehub-resource-sync adf0d17497
publish / version_or_publish (push) Has been cancelled
storybook-build / changes (push) Has been cancelled
storybook-build / :storybook-build (push) Has been cancelled
Sync Gradio Skills to Hugging Face / sync-skills (push) Has been cancelled
functional / changes (push) Has been cancelled
functional / build-frontend (push) Has been cancelled
functional / functional-test-SSR=false (push) Has been cancelled
functional / functional-reload (push) Has been cancelled
js / changes (push) Has been cancelled
js / js-test (push) Has been cancelled
docs-build / changes (push) Has been cancelled
docs-build / docs-build (push) Has been cancelled
docs-build / website-build (push) Has been cancelled
functional / functional-test-SSR=true (push) Has been cancelled
hygiene / hygiene-test (push) Has been cancelled
python / changes (push) Has been cancelled
python / build (push) Has been cancelled
python / test-ubuntu-latest-flaky (push) Has been cancelled
python / test-ubuntu-latest-not-flaky (push) Has been cancelled
python / test-windows-latest-flaky (push) Has been cancelled
python / test-windows-latest-not-flaky (push) Has been cancelled
chore: import upstream snapshot with attribution
2026-07-13 13:17:32 +08:00

20 lines
549 B
Python

import gradio as gr
def shout(text: str) -> str:
return (text or "").upper()
def reverse(text: str) -> str:
return (text or "")[::-1]
# Two outputs ("Loud" and "Reversed") fed by a shared "Text" input. Because they
# form a single connected subgraph, they're exposed as ONE API endpoint that
# returns both outputs as a tuple — see the "View API" panel in the app, or
# connect with the gradio_client.
demo = gr.Workflow(graph="workflow.json", bind={"shout": shout, "reverse": reverse})
if __name__ == "__main__":
demo.launch()