import gradio as gr import pandas as pd import requests import spaces @spaces.GPU def convert_parquet_to_jsonl(parquet_file=None, parquet_url=None): if parquet_file is not None: df = pd.read_parquet(parquet_file.name) elif parquet_url is not None: response = requests.get(parquet_url) df = pd.read_parquet(response.content) else: raise ValueError("Either parquet_file or parquet_url must be provided") jsonl_data = df.to_json(orient='records', lines=True) return jsonl_data def main(url): parquet_file = download_file(url) jsonl_data = convert_parquet_to_jsonl(parquet_file) with open("output.jsonl", "w") as f: f.write(jsonl_data) return "output.jsonl" theme = "Ytheme/Minecraft" demo = gr.Interface(theme=theme, fn=convert_parquet_to_jsonl, inputs=[gr.File(label="Parquet File"), gr.Textbox(label="Parquet File URL")], outputs=[gr.File(label="JSONL Output")], title="Parquet to JSONL Converter", description="Input a Parquet file by a downloadable link or file upload and convert it to JSONL format" ) if __name__ == "__main__": demo.launch()