import gradio as gr import pandas as pd import comtradeapicall import os # ۱) متغیرهای عمومی subscription_key = os.getenv("COMTRADE_API_KEY", "") proxy_url = None def get_importers(hs_code: str, period: str): df = comtradeapicall.previewFinalData( typeCode='C', freqCode='M', clCode='HS', period=period, reporterCode=None, cmdCode=hs_code, flowCode='M', partnerCode=None, partner2Code=None, customsCode=None, motCode=None, maxRecords=500, includeDesc=True, proxy_url=proxy_url ) if df is None or df.empty: return "هیچ داده‌ای یافت نشد." df = df[df['cifvalue'] > 0] df = df.sort_values('cifvalue', ascending=False) return df['reporterDesc'].tolist() with gr.Blocks() as demo: gr.Markdown("## جست‌وجوی واردکننده‌های یک HS-Code") with gr.Row(): inp_hs = gr.Textbox(label="HS Code (مثلا 010121)") inp_period = gr.Textbox(label="دوره (YYYYMM، مثلاً 202205)") btn = gr.Button("نمایش کشورها") out = gr.Dataframe(headers=["کشورهای واردکننده"], interactive=False) btn.click(fn=get_importers, inputs=[inp_hs, inp_period], outputs=out) if __name__ == "__main__": demo.launch()