Download js/app/src/api_docs/CodeSnippets.svelte from mindmime/gradio: direct link, hf CLI and curl.
- Browser
- Download file 4.57 kB
-
https://huggingface.co/spaces/mindmime/gradio/resolve/main/js/app/src/api_docs/CodeSnippets.svelte
- Command line
-
hf download hf://spaces/mindmime/gradio/js/app/src/api_docs/CodeSnippets.svelte
-
curl -L -o CodeSnippets.svelte https://huggingface.co/spaces/mindmime/gradio/resolve/main/js/app/src/api_docs/CodeSnippets.svelte
4.57 kB
| <script lang="ts"> | |
| import type { ComponentMeta, Dependency } from "../types"; | |
| import CopyButton from "./CopyButton.svelte"; | |
| import { represent_value } from "./utils"; | |
| import { Block } from "@gradio/atoms"; | |
| import EndpointDetail from "./EndpointDetail.svelte"; | |
| export let dependency: Dependency; | |
| export let dependency_index: number; | |
| export let root: string; | |
| export let dependency_failures: boolean[][]; | |
| export let endpoint_parameters: any; | |
| export let js_parameters: any; | |
| export let named: boolean; | |
| export let current_language: "python" | "javascript"; | |
| let python_code: HTMLElement; | |
| let js_code: HTMLElement; | |
| let blob_components = ["Audio", "File", "Image", "Video"]; | |
| let blob_examples: any[] = endpoint_parameters.filter( | |
| (param: { | |
| label: string; | |
| type: string; | |
| python_type: { | |
| type: string; | |
| description: string; | |
| }; | |
| component: string; | |
| example_input: string; | |
| serializer: string; | |
| }) => blob_components.includes(param.component) | |
| ); | |
| </script> | |
| <div class="container"> | |
| {#if named} | |
| <EndpointDetail {named} api_name={dependency.api_name} /> | |
| {:else} | |
| <EndpointDetail {named} fn_index={dependency_index} /> | |
| {/if} | |
| <Block> | |
| <code> | |
| {#if current_language === "python"} | |
| <div class="copy"> | |
| <CopyButton code={python_code?.innerText} /> | |
| </div> | |
| <div bind:this={python_code}> | |
| <pre>from gradio_client import Client | |
| client = Client(<span class="token string">"{root}"</span>) | |
| result = client.predict(<!-- | |
| -->{#each endpoint_parameters as { label, type, python_type, component, example_input, serializer }, i}<!-- | |
| --> | |
| <span | |
| class="example-inputs" | |
| >{represent_value(example_input, python_type.type, "py")}</span | |
| >,<!-- | |
| -->{#if dependency_failures[dependency_index][i]}<!-- | |
| --><span | |
| class="error">ERROR</span | |
| ><!-- | |
| -->{/if}<!-- | |
| --><span class="desc" | |
| ><!-- | |
| --> # {python_type.type} {#if python_type.description}({python_type.description}){/if}<!----> in '{label}' <!-- | |
| -->{component} component<!-- | |
| --></span | |
| ><!-- | |
| -->{/each}<!-- | |
| --> | |
| api_name="/{dependency.api_name}"<!-- | |
| --> | |
| ) | |
| print(result)</pre> | |
| </div> | |
| {:else if current_language === "javascript"} | |
| <div class="copy"> | |
| <CopyButton code={js_code?.innerText} /> | |
| </div> | |
| <div bind:this={js_code}> | |
| <pre>import { client } from "@gradio/client"; | |
| {#each blob_examples as { label, type, python_type, component, example_input, serializer }, i}<!-- | |
| --> | |
| const response_{i} = await fetch("{example_input}"); | |
| const example{component} = await response_{i}.blob(); | |
| {/each}<!-- | |
| --> | |
| const app = await client(<span class="token string">"{root}"</span>); | |
| const result = await app.predict({#if named}"/{dependency.api_name}"{:else}{dependency_index}{/if}, [<!-- | |
| -->{#each endpoint_parameters as { label, type, python_type, component, example_input, serializer }, i}<!-- | |
| -->{#if blob_components.includes(component)}<!-- | |
| --> | |
| <span | |
| class="example-inputs">example{component}</span | |
| >, <!-- | |
| --><span class="desc" | |
| ><!-- | |
| --> // blob <!-- | |
| -->in '{label}' <!-- | |
| -->{component} component<!-- | |
| --></span | |
| ><!-- | |
| -->{:else}<!-- | |
| --> | |
| <span class="example-inputs" | |
| >{represent_value( | |
| example_input, | |
| python_type.type, | |
| "js" | |
| )}</span | |
| >, <!-- | |
| --><span class="desc" | |
| ><!-- | |
| -->// {js_parameters[i] | |
| .type} {#if js_parameters[i].description}({js_parameters[i] | |
| .description}){/if}<!-- | |
| --> in '{label}' <!-- | |
| -->{component} component<!-- | |
| --></span | |
| ><!-- | |
| -->{/if} | |
| {/each} | |
| ]); | |
| console.log(result.data); | |
| </pre> | |
| </div> | |
| {/if} | |
| </code> | |
| </Block> | |
| </div> | |
| <style> | |
| code pre { | |
| overflow-x: auto; | |
| color: var(--body-text-color); | |
| font-family: var(--font-mono); | |
| tab-size: 2; | |
| } | |
| .token.string { | |
| display: contents; | |
| color: var(--color-accent-base); | |
| } | |
| code { | |
| position: relative; | |
| display: block; | |
| } | |
| .copy { | |
| position: absolute; | |
| top: 0; | |
| right: 0; | |
| margin-top: -5px; | |
| margin-right: -5px; | |
| } | |
| .container { | |
| display: flex; | |
| flex-direction: column; | |
| gap: var(--spacing-xxl); | |
| margin-top: var(--size-3); | |
| margin-bottom: var(--size-3); | |
| } | |
| .error { | |
| color: var(--error-text-color); | |
| } | |
| .desc { | |
| color: var(--body-text-color-subdued); | |
| } | |
| .example-inputs { | |
| border: 1px solid var(--border-color-accent); | |
| border-radius: var(--radius-sm); | |
| background: var(--color-accent-soft); | |
| padding-right: var(--size-1); | |
| padding-left: var(--size-1); | |
| color: var(--color-accent); | |
| } | |
| </style> | |