lvwerra's picture
lvwerra HF Staff
Create app.py
a5be261
raw
history blame
1.04 kB
import gradio as gr
import pandas as pd
from collections import defaultdict
df = pd.read_csv("./stackv2_languages.csv")
langs = list(df["language"].unique())
exts = list(df["extension"].unique())
lang_to_ext = defaultdict(list)
for ext, lang in zip(df["language"], df["extension"]):
lang_to_ext[lang].append(ext)
def compute(lang):
report = f"## Summary:\n\n The '{lang}' language has {len(lang_to_ext[lang])} extensions: {', '.join(lang_to_ext[lang])}.\n\n"
df_lang = df[df["language"]==lang]
for i, (ext, example) in enumerate(zip(df["extension"], df["example"])):
example_string = f"Example {i+1} (ext={ext}):\n\n ```\n{example}\n```\n\n"
report += example_string
return report.strip()
with gr.Blocks() as demo:
gr.Markdown("# Programming Languages for The Stack v2")
lang_select = gr.Dropdown(choices=langs)
md = gr.Markdown("")
lang_select.change(fn=compute, inputs=[lang_select], outputs=[md])
demo.load(fn=compute, inputs=[lang_select], outputs=[md])
demo.launch()