QAway-to commited on
Commit
296469d
·
1 Parent(s): 4851745

Base app.py interface v1.7

Browse files
Files changed (1) hide show
  1. app.py +40 -11
app.py CHANGED
@@ -1,26 +1,55 @@
1
  # app.py
2
  import gradio as gr
3
-
 
4
 
5
  # --------------------------------------------------------------
6
- # ⚙️ Простейшая функция
7
  # --------------------------------------------------------------
8
- def say_hello():
9
- return "👋 Hello, world!"
 
 
 
 
 
 
10
 
 
 
 
 
 
 
 
 
 
 
 
 
 
11
 
12
  # --------------------------------------------------------------
13
  # 🧱 Интерфейс Gradio
14
  # --------------------------------------------------------------
15
- with gr.Blocks(theme=gr.themes.Soft(), title="Simple UI") as demo:
16
- gr.Markdown("## 🧩 Minimal Gradio App\nНажми кнопку, чтобы вывести текст.")
 
 
 
17
 
18
  with gr.Row():
19
  with gr.Column(scale=1):
20
- btn = gr.Button("Показать сообщение", variant="primary")
21
- with gr.Column(scale=2):
22
- output = gr.Textbox(label="Результат", lines=2)
 
23
 
24
- btn.click(say_hello, inputs=None, outputs=output)
 
 
 
 
 
25
 
26
- demo.launch(server_name="0.0.0.0", server_port=7860)
 
1
  # app.py
2
  import gradio as gr
3
+ import requests
4
+ import pandas as pd
5
 
6
  # --------------------------------------------------------------
7
+ # ⚙️ Функция: загрузка данных с открытого банковского API
8
  # --------------------------------------------------------------
9
+ def fetch_bank_data():
10
+ """Получаем список банков (пример: открытое API OpenBankProject)."""
11
+ url = "https://api.openbankproject.com/obp/v4.0.0/banks"
12
+ try:
13
+ resp = requests.get(url, timeout=10)
14
+ data = resp.json().get("banks", [])
15
+ if not data:
16
+ return "⚠️ Нет данных.", pd.DataFrame()
17
 
18
+ # Преобразуем в таблицу
19
+ df = pd.DataFrame([
20
+ {
21
+ "Название": b.get("full_name", ""),
22
+ "ID": b.get("id", ""),
23
+ "URL": b.get("website", ""),
24
+ "Город": b.get("bank_code", "")
25
+ }
26
+ for b in data
27
+ ])
28
+ return "✅ Данные успешно загружены.", df.head(10)
29
+ except Exception as e:
30
+ return f"❌ Ошибка при загрузке данных: {e}", pd.DataFrame()
31
 
32
  # --------------------------------------------------------------
33
  # 🧱 Интерфейс Gradio
34
  # --------------------------------------------------------------
35
+ with gr.Blocks(theme=gr.themes.Soft(), title="🏦 Bank API Viewer") as demo:
36
+ gr.Markdown(
37
+ "## 🏦 Open Banking Data Viewer\n"
38
+ "Загружай данные с открытых банковских API и анализируй их прямо здесь."
39
+ )
40
 
41
  with gr.Row():
42
  with gr.Column(scale=1):
43
+ load_btn = gr.Button("🔄 Загрузить данные банков", variant="primary")
44
+ with gr.Column(scale=3):
45
+ status = gr.Textbox(label="Статус", value="Ожидание запроса...")
46
+ table = gr.DataFrame(label="📋 Список банков", interactive=False)
47
 
48
+ load_btn.click(
49
+ fetch_bank_data,
50
+ inputs=None,
51
+ outputs=[status, table],
52
+ show_progress=True,
53
+ )
54
 
55
+ demo.queue(max_size=32).launch(server_name="0.0.0.0", server_port=7860)