{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"id": "041a1077-2dfa-4e8c-b525-591e2b3951fa",
"metadata": {},
"outputs": [],
"source": [
"%load_ext autoreload\n",
"%autoreload 2"
]
},
{
"cell_type": "code",
"execution_count": 2,
"id": "9e51e24d-f58b-4599-a8ee-c2f4f5e206a6",
"metadata": {},
"outputs": [],
"source": [
"import pandas as pd\n",
"import sqlalchemy\n",
"import numpy as np\n",
"from pathlib import Path\n",
"import os\n",
"import sys\n",
"import subprocess\n",
"import time\n",
"import requests"
]
},
{
"cell_type": "code",
"execution_count": 3,
"id": "e1a0aeb6-0bd2-4883-a54a-b34b7c0de61f",
"metadata": {},
"outputs": [],
"source": [
"!pip install ollama --quiet"
]
},
{
"cell_type": "code",
"execution_count": 4,
"id": "eb0eb831-ed79-4fe2-b423-fad920333c21",
"metadata": {},
"outputs": [],
"source": [
"# Fix paths for src files\n",
"project_root = Path(os.getcwd()).parent\n",
"script_dir = project_root / \"src\"\n",
"if str(script_dir) not in sys.path:\n",
" sys.path.append(str(script_dir))\n",
"\n",
"# Import optimized processor\n",
"from transform.structure_data import process_cbk_files"
]
},
{
"cell_type": "code",
"execution_count": 5,
"id": "394a7d13-4161-40f4-a1bf-cf87f591e332",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Checking path: /capstor/scratch/cscs/tligawa/mshauri-fedha/data/cbk/structured\n",
"Exists: True\n"
]
}
],
"source": [
"scratch_env = os.environ.get(\"SCRATCH\")\n",
"if scratch_env:\n",
" SCRATCH_DIR = Path(scratch_env)\n",
"else:\n",
" raise ValueError(\"SCRATCH environment variable is not set!\")\n",
"\n",
"# Join the paths using the '/' operator\n",
"MARKER_OUTPUT_DIR = SCRATCH_DIR / \"mshauri-fedha/data/knbs/marker-output\"\n",
"CBK_CSV_DIR = SCRATCH_DIR / \"mshauri-fedha/data/cbk/structured\"\n",
"\n",
"# Check if it exists\n",
"print(f\"Checking path: {CBK_CSV_DIR}\")\n",
"print(f\"Exists: {CBK_CSV_DIR.exists()}\")"
]
},
{
"cell_type": "code",
"execution_count": 6,
"id": "a514153d-e5ba-4671-9221-8cfcb6ec3fec",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"
\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" Unnamed: 0 | \n",
" Unnamed: 1 | \n",
" Unnamed: 2 | \n",
" Unnamed: 3 | \n",
" Unnamed: 4 | \n",
" Unnamed: 5 | \n",
" Unnamed: 6 | \n",
" Unnamed: 7 | \n",
" Unnamed: 8 | \n",
" Unnamed: 9 | \n",
" Unnamed: 10 | \n",
"
\n",
" \n",
" \n",
" \n",
" | 0 | \n",
" NaN | \n",
" NaN | \n",
" NaN | \n",
" NaN | \n",
" NaN | \n",
" NaN | \n",
" NaN | \n",
" NaN | \n",
" NaN | \n",
" NaN | \n",
" NaN | \n",
"
\n",
" \n",
" | 1 | \n",
" NaN | \n",
" NaN | \n",
" NaN | \n",
" NaN | \n",
" NaN | \n",
" NaN | \n",
" NaN | \n",
" NaN | \n",
" NaN | \n",
" NaN | \n",
" NaN | \n",
"
\n",
" \n",
" | 2 | \n",
" NaN | \n",
" NaN | \n",
" NaN | \n",
" NaN | \n",
" NaN | \n",
" NaN | \n",
" NaN | \n",
" NaN | \n",
" NaN | \n",
" NaN | \n",
" NaN | \n",
"
\n",
" \n",
" | 3 | \n",
" NaN | \n",
" NaN | \n",
" NaN | \n",
" NaN | \n",
" NaN | \n",
" NaN | \n",
" NaN | \n",
" NaN | \n",
" NaN | \n",
" NaN | \n",
" NaN | \n",
"
\n",
" \n",
" | 4 | \n",
" NaN | \n",
" NaN | \n",
" NaN | \n",
" NaN | \n",
" NaN | \n",
" NaN | \n",
" NaN | \n",
" NaN | \n",
" NaN | \n",
" NaN | \n",
" NaN | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" Unnamed: 0 Unnamed: 1 Unnamed: 2 Unnamed: 3 Unnamed: 4 Unnamed: 5 \\\n",
"0 NaN NaN NaN NaN NaN NaN \n",
"1 NaN NaN NaN NaN NaN NaN \n",
"2 NaN NaN NaN NaN NaN NaN \n",
"3 NaN NaN NaN NaN NaN NaN \n",
"4 NaN NaN NaN NaN NaN NaN \n",
"\n",
" Unnamed: 6 Unnamed: 7 Unnamed: 8 Unnamed: 9 Unnamed: 10 \n",
"0 NaN NaN NaN NaN NaN \n",
"1 NaN NaN NaN NaN NaN \n",
"2 NaN NaN NaN NaN NaN \n",
"3 NaN NaN NaN NaN NaN \n",
"4 NaN NaN NaN NaN NaN "
]
},
"execution_count": 6,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"example_file = os.listdir(CBK_CSV_DIR)[5]\n",
"example_df = pd.read_csv(os.path.join(CBK_CSV_DIR, example_file))\n",
"example_df.head()"
]
},
{
"cell_type": "code",
"execution_count": 7,
"id": "405c9b2d-57c4-4f47-a464-f9a7c8755aa5",
"metadata": {
"scrolled": true
},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"2025-12-22 15:22:29,608 - ๐ Starting Ollama (qwen2.5:14b)...\n",
"\u001b[?2026h\u001b[?25l\u001b[1Gpulling manifest โ \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[1Gpulling manifest โ \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[1Gpulling manifest โ น \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[1Gpulling manifest โ ธ \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[1Gpulling manifest โ ผ \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[1Gpulling manifest \u001b[K\n",
"pulling 2049f5674b1e: 100% โโโโโโโโโโโโโโโโโโโโ 9.0 GB \u001b[K\n",
"pulling 66b9ea09bd5b: 100% โโโโโโโโโโโโโโโโโโโโ 68 B \u001b[K\n",
"pulling eb4402837c78: 100% โโโโโโโโโโโโโโโโโโโโ 1.5 KB \u001b[K\n",
"pulling 832dd9e00a68: 100% โโโโโโโโโโโโโโโโโโโโ 11 KB \u001b[K\n",
"pulling db59b814cab7: 100% โโโโโโโโโโโโโโโโโโโโ 488 B \u001b[K\n",
"verifying sha256 digest \u001b[K\n",
"writing manifest \u001b[K\n",
"success \u001b[K\u001b[?25h\u001b[?2026l\n",
"2025-12-22 15:22:47,378 - โฉ Skipping cbk_batch_102_191151_december__2019_tap_fxd3_2019_5__dated_23_12_2019_sheet_results.csv (Blacklisted)\n",
"2025-12-22 15:22:47,379 - Processing cbk_batch_103_191322_annual_gdp.csv...\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"๐ Processing 112 files...\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"2025-12-22 15:22:55,859 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"2025-12-22 15:22:56,168 - โ
Saved 25 rows to 'annual_gdp'\n",
"2025-12-22 15:22:56,169 - Processing cbk_batch_103_191322_bop_annual.csv...\n",
"2025-12-22 15:22:56,815 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"2025-12-22 15:22:56,979 - โ
Saved 59 rows to 'bop_annual'\n",
"2025-12-22 15:22:56,979 - Processing cbk_batch_103_191322_central_bank_rates.csv...\n",
"2025-12-22 15:22:57,606 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"/users/tligawa/mshauri-fedha/src/transform/structure_data.py:280: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n",
" df[c] = df[c].apply(lambda x: pd.to_numeric(str(x).replace(',', '').replace('(', '-').replace(')', ''), errors='ignore'))\n",
"2025-12-22 15:22:57,957 - โ
Saved 412 rows to 'central_bank_rates'\n",
"2025-12-22 15:22:57,958 - Processing cbk_batch_103_191322_commercial_bank_rates.csv...\n",
"2025-12-22 15:22:58,350 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"/users/tligawa/mshauri-fedha/src/transform/structure_data.py:280: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n",
" df[c] = df[c].apply(lambda x: pd.to_numeric(str(x).replace(',', '').replace('(', '-').replace(')', ''), errors='ignore'))\n",
"2025-12-22 15:22:58,527 - โ
Saved 419 rows to 'commercial_bank_rates'\n",
"2025-12-22 15:22:58,527 - Processing cbk_batch_103_191322_depository_corporation_survey.csv...\n",
"2025-12-22 15:23:01,305 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"/users/tligawa/mshauri-fedha/src/transform/structure_data.py:280: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n",
" df[c] = df[c].apply(lambda x: pd.to_numeric(str(x).replace(',', '').replace('(', '-').replace(')', ''), errors='ignore'))\n",
"2025-12-22 15:23:01,962 - โ
Saved 43432 rows to 'depository_corporation_survey'\n",
"2025-12-22 15:23:01,963 - โฉ Skipping cbk_batch_103_191322_depository_corporation_survey_(expanded).csv (Blacklisted)\n",
"2025-12-22 15:23:01,964 - Processing cbk_batch_103_191322_domestic_debt_by_instrument.csv...\n",
"2025-12-22 15:23:02,547 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"2025-12-22 15:23:02,731 - โ
Saved 311 rows to 'domestic_debt_by_instrument'\n",
"2025-12-22 15:23:02,731 - Processing cbk_batch_103_191322_exchange_rates_end_period.csv...\n",
"2025-12-22 15:23:04,462 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"/users/tligawa/mshauri-fedha/src/transform/structure_data.py:280: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n",
" df[c] = df[c].apply(lambda x: pd.to_numeric(str(x).replace(',', '').replace('(', '-').replace(')', ''), errors='ignore'))\n",
"2025-12-22 15:23:04,631 - โ
Saved 392 rows to 'exchange_rates_end_period'\n",
"2025-12-22 15:23:04,631 - Processing cbk_batch_103_191322_exchange_rates_period_average.csv...\n",
"2025-12-22 15:23:06,507 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"/users/tligawa/mshauri-fedha/src/transform/structure_data.py:280: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n",
" df[c] = df[c].apply(lambda x: pd.to_numeric(str(x).replace(',', '').replace('(', '-').replace(')', ''), errors='ignore'))\n",
"2025-12-22 15:23:06,767 - โ
Saved 392 rows to 'exchange_rates_period_average'\n",
"2025-12-22 15:23:06,767 - Processing cbk_batch_103_191322_foreign_trade_summary.csv...\n",
"2025-12-22 15:23:07,407 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"2025-12-22 15:23:07,649 - โ
Saved 325 rows to 'foreign_trade_summary'\n",
"2025-12-22 15:23:07,650 - Processing cbk_batch_103_191322_issues_of_treasury_bills.csv...\n",
"2025-12-22 15:23:08,156 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"/users/tligawa/mshauri-fedha/src/transform/structure_data.py:280: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n",
" df[c] = df[c].apply(lambda x: pd.to_numeric(str(x).replace(',', '').replace('(', '-').replace(')', ''), errors='ignore'))\n",
"2025-12-22 15:23:08,387 - โ
Saved 956 rows to 'issues_of_treasury_bills'\n",
"2025-12-22 15:23:08,388 - Processing cbk_batch_103_191322_issues_of_treasury_bonds.csv...\n",
"2025-12-22 15:23:08,860 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"/users/tligawa/mshauri-fedha/src/transform/structure_data.py:280: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n",
" df[c] = df[c].apply(lambda x: pd.to_numeric(str(x).replace(',', '').replace('(', '-').replace(')', ''), errors='ignore'))\n",
"2025-12-22 15:23:09,062 - โ
Saved 967 rows to 'issues_of_treasury_bonds'\n",
"2025-12-22 15:23:09,062 - Processing cbk_batch_103_191322_principal_exports_,volume_,value_and_unit_prices.csv...\n",
"2025-12-22 15:23:09,840 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"/users/tligawa/mshauri-fedha/src/transform/structure_data.py:280: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n",
" df[c] = df[c].apply(lambda x: pd.to_numeric(str(x).replace(',', '').replace('(', '-').replace(')', ''), errors='ignore'))\n",
"2025-12-22 15:23:10,103 - โ
Saved 322 rows to 'principal_exports__volume__value_and_unit_prices'\n",
"2025-12-22 15:23:10,104 - Processing cbk_batch_103_191322_public_debt.csv...\n",
"2025-12-22 15:23:10,481 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"2025-12-22 15:23:10,849 - โ
Saved 302 rows to 'public_debt'\n",
"2025-12-22 15:23:10,849 - โฉ Skipping cbk_batch_103_191322_quarterly_gdp.csv (Blacklisted)\n",
"2025-12-22 15:23:10,849 - โฉ Skipping cbk_batch_103_191322_remittances_by_source_(โ000_usd_equivalent)_sheet_Remittances .csv (Blacklisted)\n",
"2025-12-22 15:23:10,849 - Processing cbk_batch_103_191322_revenue_and_expenditure.csv...\n",
"2025-12-22 15:23:11,521 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"2025-12-22 15:23:11,525 - โ SQL Error: Column must be constructed with a non-blank name or assign a non-blank .name before adding to a Table.\n",
"2025-12-22 15:23:11,526 - Processing cbk_batch_103_191322_value_of_direct_imports_by_commodities.csv...\n",
"2025-12-22 15:23:12,456 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"2025-12-22 15:23:12,751 - โ
Saved 325 rows to 'value_of_direct_imports_by_commodities'\n",
"2025-12-22 15:23:12,752 - Processing cbk_batch_103_191322_value_of_direct_imports_from_selected_african_coun.csv...\n",
"2025-12-22 15:23:13,501 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"/users/tligawa/mshauri-fedha/src/transform/structure_data.py:280: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n",
" df[c] = df[c].apply(lambda x: pd.to_numeric(str(x).replace(',', '').replace('(', '-').replace(')', ''), errors='ignore'))\n",
"2025-12-22 15:23:13,868 - โ
Saved 331 rows to 'value_of_direct_imports_from_selected_african_coun'\n",
"2025-12-22 15:23:13,869 - Processing cbk_batch_103_191322_value_of_direct_imports_from_selected_rest_of_the_.csv...\n",
"2025-12-22 15:23:14,737 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"2025-12-22 15:23:14,962 - โ
Saved 331 rows to 'value_of_direct_imports_from_selected_rest_of_the_'\n",
"2025-12-22 15:23:14,963 - Processing cbk_batch_103_191322_value_of_exports_to_selected_african_countries.csv...\n",
"2025-12-22 15:23:15,913 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"/users/tligawa/mshauri-fedha/src/transform/structure_data.py:280: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n",
" df[c] = df[c].apply(lambda x: pd.to_numeric(str(x).replace(',', '').replace('(', '-').replace(')', ''), errors='ignore'))\n",
"2025-12-22 15:23:16,258 - โ
Saved 331 rows to 'value_of_exports_to_selected_african_countries'\n",
"2025-12-22 15:23:16,258 - Processing cbk_batch_103_191322_value_of_exports_to_selected_rest_of_the_world_cou.csv...\n",
"2025-12-22 15:23:17,190 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"/users/tligawa/mshauri-fedha/src/transform/structure_data.py:280: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n",
" df[c] = df[c].apply(lambda x: pd.to_numeric(str(x).replace(',', '').replace('(', '-').replace(')', ''), errors='ignore'))\n",
"2025-12-22 15:23:17,437 - โ
Saved 331 rows to 'value_of_exports_to_selected_rest_of_the_world_cou'\n",
"2025-12-22 15:23:17,438 - Processing cbk_batch_103_191322_value_of_selected_domestic_exports.csv...\n",
"2025-12-22 15:23:18,118 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"2025-12-22 15:23:18,395 - โ
Saved 326 rows to 'value_of_selected_domestic_exports'\n",
"2025-12-22 15:23:18,395 - Processing cbk_batch_10_165131_forex_bureau_rates_sheet_Director.csv...\n",
"2025-12-22 15:23:19,026 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"/users/tligawa/mshauri-fedha/src/transform/structure_data.py:280: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n",
" df[c] = df[c].apply(lambda x: pd.to_numeric(str(x).replace(',', '').replace('(', '-').replace(')', ''), errors='ignore'))\n",
"2025-12-22 15:23:19,209 - โ
Saved 48 rows to 'forex_bureau_rates_sheet_director'\n",
"2025-12-22 15:23:19,209 - Processing cbk_batch_10_165131_forex_bureau_rates_sheet_Market Intelligence.csv...\n",
"2025-12-22 15:23:19,833 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"/users/tligawa/mshauri-fedha/src/transform/structure_data.py:280: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n",
" df[c] = df[c].apply(lambda x: pd.to_numeric(str(x).replace(',', '').replace('(', '-').replace(')', ''), errors='ignore'))\n",
"2025-12-22 15:23:20,013 - โ
Saved 47 rows to 'forex_bureau_rates_sheet_market_intelligence'\n",
"2025-12-22 15:23:20,013 - Processing cbk_batch_10_165131_forex_bureau_rates_sheet_fbx1.csv...\n",
"2025-12-22 15:23:20,662 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"/users/tligawa/mshauri-fedha/src/transform/structure_data.py:280: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n",
" df[c] = df[c].apply(lambda x: pd.to_numeric(str(x).replace(',', '').replace('(', '-').replace(')', ''), errors='ignore'))\n",
"2025-12-22 15:23:20,846 - โ
Saved 55 rows to 'forex_bureau_rates_sheet_fbx1'\n",
"2025-12-22 15:23:20,846 - Processing cbk_batch_10_165131_forex_bureau_rates_sheet_fbx2.csv...\n",
"2025-12-22 15:23:21,582 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"/users/tligawa/mshauri-fedha/src/transform/structure_data.py:280: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n",
" df[c] = df[c].apply(lambda x: pd.to_numeric(str(x).replace(',', '').replace('(', '-').replace(')', ''), errors='ignore'))\n",
"2025-12-22 15:23:21,831 - โ
Saved 51 rows to 'forex_bureau_rates_sheet_fbx2'\n",
"2025-12-22 15:23:21,832 - Processing cbk_batch_10_165131_forex_bureau_rates_sheet_fxb1.csv...\n",
"2025-12-22 15:23:22,516 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"/users/tligawa/mshauri-fedha/src/transform/structure_data.py:280: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n",
" df[c] = df[c].apply(lambda x: pd.to_numeric(str(x).replace(',', '').replace('(', '-').replace(')', ''), errors='ignore'))\n",
"2025-12-22 15:23:22,772 - โ
Saved 62 rows to 'forex_bureau_rates_sheet_fxb1'\n",
"2025-12-22 15:23:22,772 - Processing cbk_batch_10_165131_forex_bureau_rates_sheet_fxb2.csv...\n",
"2025-12-22 15:23:23,465 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"/users/tligawa/mshauri-fedha/src/transform/structure_data.py:280: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n",
" df[c] = df[c].apply(lambda x: pd.to_numeric(str(x).replace(',', '').replace('(', '-').replace(')', ''), errors='ignore'))\n",
"2025-12-22 15:23:23,657 - โ
Saved 50 rows to 'forex_bureau_rates_sheet_fxb2'\n",
"2025-12-22 15:23:23,657 - Processing cbk_batch_10_165131_forex_bureau_rates_sheet_market Intelligence.csv...\n",
"2025-12-22 15:23:24,278 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"/users/tligawa/mshauri-fedha/src/transform/structure_data.py:280: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n",
" df[c] = df[c].apply(lambda x: pd.to_numeric(str(x).replace(',', '').replace('(', '-').replace(')', ''), errors='ignore'))\n",
"2025-12-22 15:23:24,886 - โ
Saved 47 rows to 'forex_bureau_rates_sheet_market_intelligence'\n",
"2025-12-22 15:23:24,886 - Processing cbk_batch_10_165131_forex_bureaus_rates_sheet_Director.csv...\n",
"2025-12-22 15:23:25,536 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"/users/tligawa/mshauri-fedha/src/transform/structure_data.py:280: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n",
" df[c] = df[c].apply(lambda x: pd.to_numeric(str(x).replace(',', '').replace('(', '-').replace(')', ''), errors='ignore'))\n",
"2025-12-22 15:23:25,733 - โ
Saved 42 rows to 'forex_bureaus_rates_sheet_director'\n",
"2025-12-22 15:23:25,734 - Processing cbk_batch_10_165131_forex_bureaus_rates_sheet_Fxb1.csv...\n",
"2025-12-22 15:23:26,381 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"/users/tligawa/mshauri-fedha/src/transform/structure_data.py:280: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n",
" df[c] = df[c].apply(lambda x: pd.to_numeric(str(x).replace(',', '').replace('(', '-').replace(')', ''), errors='ignore'))\n",
"2025-12-22 15:23:26,548 - โ
Saved 45 rows to 'forex_bureaus_rates_sheet_fxb1'\n",
"2025-12-22 15:23:26,548 - Processing cbk_batch_10_165131_forex_bureaus_rates_sheet_Fxb2.csv...\n",
"2025-12-22 15:23:27,227 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"/users/tligawa/mshauri-fedha/src/transform/structure_data.py:280: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n",
" df[c] = df[c].apply(lambda x: pd.to_numeric(str(x).replace(',', '').replace('(', '-').replace(')', ''), errors='ignore'))\n",
"2025-12-22 15:23:27,442 - โ
Saved 37 rows to 'forex_bureaus_rates_sheet_fxb2'\n",
"2025-12-22 15:23:27,442 - Processing cbk_batch_10_165131_forex_bureaus_rates_sheet_Market Intelligence.csv...\n",
"2025-12-22 15:23:28,054 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"/users/tligawa/mshauri-fedha/src/transform/structure_data.py:280: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n",
" df[c] = df[c].apply(lambda x: pd.to_numeric(str(x).replace(',', '').replace('(', '-').replace(')', ''), errors='ignore'))\n",
"2025-12-22 15:23:28,287 - โ
Saved 41 rows to 'forex_bureaus_rates_sheet_market_intelligence'\n",
"2025-12-22 15:23:28,287 - Processing cbk_batch_10_165131_forex_bureaus_rates_sheet_Market intelligence.csv...\n",
"2025-12-22 15:23:28,908 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"/users/tligawa/mshauri-fedha/src/transform/structure_data.py:280: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n",
" df[c] = df[c].apply(lambda x: pd.to_numeric(str(x).replace(',', '').replace('(', '-').replace(')', ''), errors='ignore'))\n",
"2025-12-22 15:23:29,484 - โ
Saved 47 rows to 'forex_bureaus_rates_sheet_market_intelligence'\n",
"2025-12-22 15:23:29,485 - Processing cbk_batch_10_165131_forex_bureaus_rates_sheet_Sheet1.csv...\n",
"2025-12-22 15:23:30,135 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"/users/tligawa/mshauri-fedha/src/transform/structure_data.py:280: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n",
" df[c] = df[c].apply(lambda x: pd.to_numeric(str(x).replace(',', '').replace('(', '-').replace(')', ''), errors='ignore'))\n",
"2025-12-22 15:23:30,362 - โ
Saved 56 rows to 'forex_bureaus_rates_sheet_sheet1'\n",
"2025-12-22 15:23:30,362 - Processing cbk_batch_10_165131_forex_bureaus_rates_sheet_Sheet2.csv...\n",
"2025-12-22 15:23:31,089 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"/users/tligawa/mshauri-fedha/src/transform/structure_data.py:280: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n",
" df[c] = df[c].apply(lambda x: pd.to_numeric(str(x).replace(',', '').replace('(', '-').replace(')', ''), errors='ignore'))\n",
"2025-12-22 15:23:31,344 - โ
Saved 42 rows to 'forex_bureaus_rates_sheet_sheet2'\n",
"2025-12-22 15:23:31,344 - Processing cbk_batch_10_165131_forex_bureaus_rates_sheet_Sheet3.csv...\n",
"2025-12-22 15:23:31,959 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"/users/tligawa/mshauri-fedha/src/transform/structure_data.py:280: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n",
" df[c] = df[c].apply(lambda x: pd.to_numeric(str(x).replace(',', '').replace('(', '-').replace(')', ''), errors='ignore'))\n",
"2025-12-22 15:23:32,116 - โ
Saved 47 rows to 'forex_bureaus_rates_sheet_sheet3'\n",
"2025-12-22 15:23:32,117 - Processing cbk_batch_10_165131_forex_bureaus_rates_sheet_Sheet4.csv...\n",
"2025-12-22 15:23:32,740 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"/users/tligawa/mshauri-fedha/src/transform/structure_data.py:280: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n",
" df[c] = df[c].apply(lambda x: pd.to_numeric(str(x).replace(',', '').replace('(', '-').replace(')', ''), errors='ignore'))\n",
"2025-12-22 15:23:32,872 - โ
Saved 46 rows to 'forex_bureaus_rates_sheet_sheet4'\n",
"2025-12-22 15:23:32,872 - Processing cbk_batch_10_165131_forex_bureaus_rates_sheet_fbx.csv...\n",
"2025-12-22 15:23:33,536 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"/users/tligawa/mshauri-fedha/src/transform/structure_data.py:280: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n",
" df[c] = df[c].apply(lambda x: pd.to_numeric(str(x).replace(',', '').replace('(', '-').replace(')', ''), errors='ignore'))\n",
"2025-12-22 15:23:33,650 - โ
Saved 41 rows to 'forex_bureaus_rates_sheet_fbx'\n",
"2025-12-22 15:23:33,651 - Processing cbk_batch_10_165131_forex_bureaus_rates_sheet_fbx1.csv...\n",
"2025-12-22 15:23:34,301 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"/users/tligawa/mshauri-fedha/src/transform/structure_data.py:280: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n",
" df[c] = df[c].apply(lambda x: pd.to_numeric(str(x).replace(',', '').replace('(', '-').replace(')', ''), errors='ignore'))\n",
"2025-12-22 15:23:34,501 - โ
Saved 56 rows to 'forex_bureaus_rates_sheet_fbx1'\n",
"2025-12-22 15:23:34,502 - Processing cbk_batch_10_165131_forex_bureaus_rates_sheet_fbx2.csv...\n",
"2025-12-22 15:23:35,186 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"/users/tligawa/mshauri-fedha/src/transform/structure_data.py:280: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n",
" df[c] = df[c].apply(lambda x: pd.to_numeric(str(x).replace(',', '').replace('(', '-').replace(')', ''), errors='ignore'))\n",
"2025-12-22 15:23:35,622 - โ
Saved 37 rows to 'forex_bureaus_rates_sheet_fbx2'\n",
"2025-12-22 15:23:35,623 - Processing cbk_batch_10_165131_forex_bureaus_rates_sheet_fxb1.csv...\n",
"2025-12-22 15:23:36,272 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"/users/tligawa/mshauri-fedha/src/transform/structure_data.py:280: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n",
" df[c] = df[c].apply(lambda x: pd.to_numeric(str(x).replace(',', '').replace('(', '-').replace(')', ''), errors='ignore'))\n",
"2025-12-22 15:23:36,751 - โ
Saved 66 rows to 'forex_bureaus_rates_sheet_fxb1'\n",
"2025-12-22 15:23:36,751 - Processing cbk_batch_10_165131_forex_bureaus_rates_sheet_fxb2.csv...\n",
"2025-12-22 15:23:37,429 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"/users/tligawa/mshauri-fedha/src/transform/structure_data.py:280: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n",
" df[c] = df[c].apply(lambda x: pd.to_numeric(str(x).replace(',', '').replace('(', '-').replace(')', ''), errors='ignore'))\n",
"2025-12-22 15:23:37,879 - โ
Saved 52 rows to 'forex_bureaus_rates_sheet_fxb2'\n",
"2025-12-22 15:23:37,879 - Processing cbk_batch_111_192456_cbk_indicative_exchange_rates_2003.csv...\n",
"2025-12-22 15:23:38,249 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"/users/tligawa/mshauri-fedha/src/transform/structure_data.py:280: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n",
" df[c] = df[c].apply(lambda x: pd.to_numeric(str(x).replace(',', '').replace('(', '-').replace(')', ''), errors='ignore'))\n",
"2025-12-22 15:23:38,395 - โ
Saved 21 rows to 'cbk_indicative_exchange_rates_2003'\n",
"2025-12-22 15:23:38,395 - Processing cbk_batch_111_192456_cbk_indicative_exchange_rates_2004.csv...\n",
"2025-12-22 15:23:38,756 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"/users/tligawa/mshauri-fedha/src/transform/structure_data.py:280: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n",
" df[c] = df[c].apply(lambda x: pd.to_numeric(str(x).replace(',', '').replace('(', '-').replace(')', ''), errors='ignore'))\n",
"2025-12-22 15:23:38,950 - โ
Saved 764 rows to 'cbk_indicative_exchange_rates_2004'\n",
"2025-12-22 15:23:38,951 - Processing cbk_batch_111_192456_cbk_indicative_exchange_rates_2005.csv...\n",
"2025-12-22 15:23:39,292 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"/users/tligawa/mshauri-fedha/src/transform/structure_data.py:280: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n",
" df[c] = df[c].apply(lambda x: pd.to_numeric(str(x).replace(',', '').replace('(', '-').replace(')', ''), errors='ignore'))\n",
"2025-12-22 15:23:39,675 - โ
Saved 4446 rows to 'cbk_indicative_exchange_rates_2005'\n",
"2025-12-22 15:23:39,676 - Processing cbk_batch_111_192456_cbk_indicative_exchange_rates_2006.csv...\n",
"2025-12-22 15:23:40,019 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"/users/tligawa/mshauri-fedha/src/transform/structure_data.py:280: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n",
" df[c] = df[c].apply(lambda x: pd.to_numeric(str(x).replace(',', '').replace('(', '-').replace(')', ''), errors='ignore'))\n",
"2025-12-22 15:23:40,321 - โ
Saved 4469 rows to 'cbk_indicative_exchange_rates_2006'\n",
"2025-12-22 15:23:40,321 - Processing cbk_batch_111_192456_cbk_indicative_exchange_rates_2007.csv...\n",
"2025-12-22 15:23:40,662 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"/users/tligawa/mshauri-fedha/src/transform/structure_data.py:280: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n",
" df[c] = df[c].apply(lambda x: pd.to_numeric(str(x).replace(',', '').replace('(', '-').replace(')', ''), errors='ignore'))\n",
"2025-12-22 15:23:40,976 - โ
Saved 4636 rows to 'cbk_indicative_exchange_rates_2007'\n",
"2025-12-22 15:23:40,976 - Processing cbk_batch_111_192456_cbk_indicative_exchange_rates_2008.csv...\n",
"2025-12-22 15:23:41,342 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"/users/tligawa/mshauri-fedha/src/transform/structure_data.py:280: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n",
" df[c] = df[c].apply(lambda x: pd.to_numeric(str(x).replace(',', '').replace('(', '-').replace(')', ''), errors='ignore'))\n",
"2025-12-22 15:23:41,725 - โ
Saved 4674 rows to 'cbk_indicative_exchange_rates_2008'\n",
"2025-12-22 15:23:41,726 - Processing cbk_batch_111_192456_cbk_indicative_exchange_rates_2009.csv...\n",
"2025-12-22 15:23:42,098 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"/users/tligawa/mshauri-fedha/src/transform/structure_data.py:280: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n",
" df[c] = df[c].apply(lambda x: pd.to_numeric(str(x).replace(',', '').replace('(', '-').replace(')', ''), errors='ignore'))\n",
"2025-12-22 15:23:42,599 - โ
Saved 4788 rows to 'cbk_indicative_exchange_rates_2009'\n",
"2025-12-22 15:23:42,600 - Processing cbk_batch_111_192456_cbk_indicative_exchange_rates_2010.csv...\n",
"2025-12-22 15:23:43,000 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"/users/tligawa/mshauri-fedha/src/transform/structure_data.py:280: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n",
" df[c] = df[c].apply(lambda x: pd.to_numeric(str(x).replace(',', '').replace('(', '-').replace(')', ''), errors='ignore'))\n",
"2025-12-22 15:23:43,473 - โ
Saved 4807 rows to 'cbk_indicative_exchange_rates_2010'\n",
"2025-12-22 15:23:43,474 - Processing cbk_batch_111_192456_cbk_indicative_exchange_rates_2011.csv...\n",
"2025-12-22 15:23:43,817 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"/users/tligawa/mshauri-fedha/src/transform/structure_data.py:280: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n",
" df[c] = df[c].apply(lambda x: pd.to_numeric(str(x).replace(',', '').replace('(', '-').replace(')', ''), errors='ignore'))\n",
"2025-12-22 15:23:44,231 - โ
Saved 5284 rows to 'cbk_indicative_exchange_rates_2011'\n",
"2025-12-22 15:23:44,232 - Processing cbk_batch_111_192456_cbk_indicative_exchange_rates_2012.csv...\n",
"2025-12-22 15:23:44,590 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"/users/tligawa/mshauri-fedha/src/transform/structure_data.py:280: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n",
" df[c] = df[c].apply(lambda x: pd.to_numeric(str(x).replace(',', '').replace('(', '-').replace(')', ''), errors='ignore'))\n",
"2025-12-22 15:23:44,968 - โ
Saved 5331 rows to 'cbk_indicative_exchange_rates_2012'\n",
"2025-12-22 15:23:44,969 - Processing cbk_batch_111_192456_cbk_indicative_exchange_rates_2013.csv...\n",
"2025-12-22 15:23:45,351 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"/users/tligawa/mshauri-fedha/src/transform/structure_data.py:280: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n",
" df[c] = df[c].apply(lambda x: pd.to_numeric(str(x).replace(',', '').replace('(', '-').replace(')', ''), errors='ignore'))\n",
"2025-12-22 15:23:45,693 - โ
Saved 5229 rows to 'cbk_indicative_exchange_rates_2013'\n",
"2025-12-22 15:23:45,693 - Processing cbk_batch_111_192456_cbk_indicative_exchange_rates_2014.csv...\n",
"2025-12-22 15:23:46,107 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"/users/tligawa/mshauri-fedha/src/transform/structure_data.py:280: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n",
" df[c] = df[c].apply(lambda x: pd.to_numeric(str(x).replace(',', '').replace('(', '-').replace(')', ''), errors='ignore'))\n",
"2025-12-22 15:23:46,506 - โ
Saved 5293 rows to 'cbk_indicative_exchange_rates_2014'\n",
"2025-12-22 15:23:46,506 - Processing cbk_batch_111_192456_cbk_indicative_exchange_rates_2015.csv...\n",
"2025-12-22 15:23:46,885 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"/users/tligawa/mshauri-fedha/src/transform/structure_data.py:280: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n",
" df[c] = df[c].apply(lambda x: pd.to_numeric(str(x).replace(',', '').replace('(', '-').replace(')', ''), errors='ignore'))\n",
"2025-12-22 15:23:47,341 - โ
Saved 5860 rows to 'cbk_indicative_exchange_rates_2015'\n",
"2025-12-22 15:23:47,342 - Processing cbk_batch_111_192456_download_all_historical_rates.csv...\n",
"2025-12-22 15:23:47,821 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"/users/tligawa/mshauri-fedha/src/transform/structure_data.py:280: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n",
" df[c] = df[c].apply(lambda x: pd.to_numeric(str(x).replace(',', '').replace('(', '-').replace(')', ''), errors='ignore'))\n",
"2025-12-22 15:23:49,146 - โ
Saved 37877 rows to 'download_all_historical_rates'\n",
"2025-12-22 15:23:49,149 - Processing cbk_batch_11_165300_forex_bureau_rates_sheet_DIRECTOR.csv...\n",
"2025-12-22 15:23:49,778 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"/users/tligawa/mshauri-fedha/src/transform/structure_data.py:280: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n",
" df[c] = df[c].apply(lambda x: pd.to_numeric(str(x).replace(',', '').replace('(', '-').replace(')', ''), errors='ignore'))\n",
"2025-12-22 15:23:50,261 - โ
Saved 48 rows to 'forex_bureau_rates_sheet_director'\n",
"2025-12-22 15:23:50,261 - Processing cbk_batch_11_165300_forex_bureau_rates_sheet_FBX1.csv...\n",
"2025-12-22 15:23:50,915 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"/users/tligawa/mshauri-fedha/src/transform/structure_data.py:280: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n",
" df[c] = df[c].apply(lambda x: pd.to_numeric(str(x).replace(',', '').replace('(', '-').replace(')', ''), errors='ignore'))\n",
"2025-12-22 15:23:51,470 - โ
Saved 62 rows to 'forex_bureau_rates_sheet_fbx1'\n",
"2025-12-22 15:23:51,470 - Processing cbk_batch_11_165300_forex_bureau_rates_sheet_FXB2.csv...\n",
"2025-12-22 15:23:52,155 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"/users/tligawa/mshauri-fedha/src/transform/structure_data.py:280: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n",
" df[c] = df[c].apply(lambda x: pd.to_numeric(str(x).replace(',', '').replace('(', '-').replace(')', ''), errors='ignore'))\n",
"2025-12-22 15:23:52,680 - โ
Saved 49 rows to 'forex_bureau_rates_sheet_fxb2'\n",
"2025-12-22 15:23:52,680 - Processing cbk_batch_11_165300_forex_bureau_rates_sheet_MARKET INTELLIGENCE.csv...\n",
"2025-12-22 15:23:53,312 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"/users/tligawa/mshauri-fedha/src/transform/structure_data.py:280: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n",
" df[c] = df[c].apply(lambda x: pd.to_numeric(str(x).replace(',', '').replace('(', '-').replace(')', ''), errors='ignore'))\n",
"2025-12-22 15:23:53,788 - โ
Saved 48 rows to 'forex_bureau_rates_sheet_market_intelligence'\n",
"2025-12-22 15:23:53,788 - Processing cbk_batch_11_165300_forex_bureau_rates_sheet_Sheet1.csv...\n",
"2025-12-22 15:23:54,431 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"/users/tligawa/mshauri-fedha/src/transform/structure_data.py:280: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n",
" df[c] = df[c].apply(lambda x: pd.to_numeric(str(x).replace(',', '').replace('(', '-').replace(')', ''), errors='ignore'))\n",
"2025-12-22 15:23:54,633 - โ
Saved 58 rows to 'forex_bureau_rates_sheet_sheet1'\n",
"2025-12-22 15:23:54,633 - Processing cbk_batch_11_165300_forex_bureaus_rates_sheet_DIRECTOR.csv...\n",
"2025-12-22 15:23:55,258 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"/users/tligawa/mshauri-fedha/src/transform/structure_data.py:280: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n",
" df[c] = df[c].apply(lambda x: pd.to_numeric(str(x).replace(',', '').replace('(', '-').replace(')', ''), errors='ignore'))\n",
"2025-12-22 15:23:55,736 - โ
Saved 40 rows to 'forex_bureaus_rates_sheet_director'\n",
"2025-12-22 15:23:55,736 - Processing cbk_batch_11_165300_forex_bureaus_rates_sheet_Director.csv...\n",
"2025-12-22 15:23:56,346 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"/users/tligawa/mshauri-fedha/src/transform/structure_data.py:280: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n",
" df[c] = df[c].apply(lambda x: pd.to_numeric(str(x).replace(',', '').replace('(', '-').replace(')', ''), errors='ignore'))\n",
"2025-12-22 15:23:56,770 - โ
Saved 45 rows to 'forex_bureaus_rates_sheet_director'\n",
"2025-12-22 15:23:56,771 - Processing cbk_batch_11_165300_forex_bureaus_rates_sheet_FXB1.csv...\n",
"2025-12-22 15:23:57,419 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"/users/tligawa/mshauri-fedha/src/transform/structure_data.py:280: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n",
" df[c] = df[c].apply(lambda x: pd.to_numeric(str(x).replace(',', '').replace('(', '-').replace(')', ''), errors='ignore'))\n",
"2025-12-22 15:23:57,897 - โ
Saved 36 rows to 'forex_bureaus_rates_sheet_fxb1'\n",
"2025-12-22 15:23:57,897 - Processing cbk_batch_11_165300_forex_bureaus_rates_sheet_FXB2.csv...\n",
"2025-12-22 15:23:58,537 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"/users/tligawa/mshauri-fedha/src/transform/structure_data.py:280: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n",
" df[c] = df[c].apply(lambda x: pd.to_numeric(str(x).replace(',', '').replace('(', '-').replace(')', ''), errors='ignore'))\n",
"2025-12-22 15:23:58,897 - โ
Saved 32 rows to 'forex_bureaus_rates_sheet_fxb2'\n",
"2025-12-22 15:23:58,898 - Processing cbk_batch_11_165300_forex_bureaus_rates_sheet_MARKET INTELLIGENCE.csv...\n",
"2025-12-22 15:23:59,511 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"/users/tligawa/mshauri-fedha/src/transform/structure_data.py:280: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n",
" df[c] = df[c].apply(lambda x: pd.to_numeric(str(x).replace(',', '').replace('(', '-').replace(')', ''), errors='ignore'))\n",
"2025-12-22 15:23:59,982 - โ
Saved 37 rows to 'forex_bureaus_rates_sheet_market_intelligence'\n",
"2025-12-22 15:23:59,982 - Processing cbk_batch_11_165300_forex_bureaus_rates_sheet_Market Intelligence.csv...\n",
"2025-12-22 15:24:00,592 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"/users/tligawa/mshauri-fedha/src/transform/structure_data.py:280: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n",
" df[c] = df[c].apply(lambda x: pd.to_numeric(str(x).replace(',', '').replace('(', '-').replace(')', ''), errors='ignore'))\n",
"2025-12-22 15:24:01,053 - โ
Saved 44 rows to 'forex_bureaus_rates_sheet_market_intelligence'\n",
"2025-12-22 15:24:01,053 - Processing cbk_batch_11_165300_forex_bureaus_rates_sheet_Sheet1.csv...\n",
"2025-12-22 15:24:01,701 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"/users/tligawa/mshauri-fedha/src/transform/structure_data.py:280: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n",
" df[c] = df[c].apply(lambda x: pd.to_numeric(str(x).replace(',', '').replace('(', '-').replace(')', ''), errors='ignore'))\n",
"2025-12-22 15:24:02,138 - โ
Saved 66 rows to 'forex_bureaus_rates_sheet_sheet1'\n",
"2025-12-22 15:24:02,138 - Processing cbk_batch_11_165300_forex_bureaus_rates_sheet_fxb1.csv...\n",
"2025-12-22 15:24:02,778 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"/users/tligawa/mshauri-fedha/src/transform/structure_data.py:280: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n",
" df[c] = df[c].apply(lambda x: pd.to_numeric(str(x).replace(',', '').replace('(', '-').replace(')', ''), errors='ignore'))\n",
"2025-12-22 15:24:03,295 - โ
Saved 44 rows to 'forex_bureaus_rates_sheet_fxb1'\n",
"2025-12-22 15:24:03,295 - Processing cbk_batch_11_165300_forex_bureaus_rates_sheet_fxb2.csv...\n",
"2025-12-22 15:24:03,937 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"/users/tligawa/mshauri-fedha/src/transform/structure_data.py:280: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n",
" df[c] = df[c].apply(lambda x: pd.to_numeric(str(x).replace(',', '').replace('(', '-').replace(')', ''), errors='ignore'))\n",
"2025-12-22 15:24:04,489 - โ
Saved 34 rows to 'forex_bureaus_rates_sheet_fxb2'\n",
"2025-12-22 15:24:04,489 - Processing cbk_batch_12_165428_forex_bureau_rates.csv...\n",
"2025-12-22 15:24:04,889 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"/users/tligawa/mshauri-fedha/src/transform/structure_data.py:280: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n",
" df[c] = df[c].apply(lambda x: pd.to_numeric(str(x).replace(',', '').replace('(', '-').replace(')', ''), errors='ignore'))\n",
"2025-12-22 15:24:05,050 - โ
Saved 21 rows to 'forex_bureau_rates'\n",
"2025-12-22 15:24:05,050 - Processing cbk_batch_12_165428_forex_bureau_rates_sheet_CHIEF DEALER.csv...\n",
"2025-12-22 15:24:05,669 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"/users/tligawa/mshauri-fedha/src/transform/structure_data.py:280: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n",
" df[c] = df[c].apply(lambda x: pd.to_numeric(str(x).replace(',', '').replace('(', '-').replace(')', ''), errors='ignore'))\n",
"2025-12-22 15:24:05,877 - โ
Saved 48 rows to 'forex_bureau_rates_sheet_chief_dealer'\n",
"2025-12-22 15:24:05,877 - Processing cbk_batch_12_165428_forex_bureau_rates_sheet_Chief dealer.csv...\n",
"2025-12-22 15:24:06,493 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"/users/tligawa/mshauri-fedha/src/transform/structure_data.py:280: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n",
" df[c] = df[c].apply(lambda x: pd.to_numeric(str(x).replace(',', '').replace('(', '-').replace(')', ''), errors='ignore'))\n",
"2025-12-22 15:24:07,024 - โ
Saved 43 rows to 'forex_bureau_rates_sheet_chief_dealer'\n",
"2025-12-22 15:24:07,025 - Processing cbk_batch_12_165428_forex_bureau_rates_sheet_DIRECTOR.csv...\n",
"2025-12-22 15:24:07,638 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"/users/tligawa/mshauri-fedha/src/transform/structure_data.py:280: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n",
" df[c] = df[c].apply(lambda x: pd.to_numeric(str(x).replace(',', '').replace('(', '-').replace(')', ''), errors='ignore'))\n",
"2025-12-22 15:24:08,213 - โ
Saved 48 rows to 'forex_bureau_rates_sheet_director'\n",
"2025-12-22 15:24:08,213 - Processing cbk_batch_12_165428_forex_bureau_rates_sheet_Director.csv...\n",
"2025-12-22 15:24:08,828 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"/users/tligawa/mshauri-fedha/src/transform/structure_data.py:280: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n",
" df[c] = df[c].apply(lambda x: pd.to_numeric(str(x).replace(',', '').replace('(', '-').replace(')', ''), errors='ignore'))\n",
"2025-12-22 15:24:09,317 - โ
Saved 41 rows to 'forex_bureau_rates_sheet_director'\n",
"2025-12-22 15:24:09,317 - Processing cbk_batch_12_165428_forex_bureau_rates_sheet_FXB1.csv...\n",
"2025-12-22 15:24:09,965 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"/users/tligawa/mshauri-fedha/src/transform/structure_data.py:280: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n",
" df[c] = df[c].apply(lambda x: pd.to_numeric(str(x).replace(',', '').replace('(', '-').replace(')', ''), errors='ignore'))\n",
"2025-12-22 15:24:10,332 - โ
Saved 51 rows to 'forex_bureau_rates_sheet_fxb1'\n",
"2025-12-22 15:24:10,332 - Processing cbk_batch_12_165428_forex_bureau_rates_sheet_FXB2.csv...\n",
"2025-12-22 15:24:10,979 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"/users/tligawa/mshauri-fedha/src/transform/structure_data.py:280: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n",
" df[c] = df[c].apply(lambda x: pd.to_numeric(str(x).replace(',', '').replace('(', '-').replace(')', ''), errors='ignore'))\n",
"2025-12-22 15:24:11,446 - โ
Saved 51 rows to 'forex_bureau_rates_sheet_fxb2'\n",
"2025-12-22 15:24:11,446 - Processing cbk_batch_12_165428_forex_bureau_rates_sheet_fxb1.csv...\n",
"2025-12-22 15:24:12,085 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"/users/tligawa/mshauri-fedha/src/transform/structure_data.py:280: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n",
" df[c] = df[c].apply(lambda x: pd.to_numeric(str(x).replace(',', '').replace('(', '-').replace(')', ''), errors='ignore'))\n",
"2025-12-22 15:24:12,609 - โ
Saved 42 rows to 'forex_bureau_rates_sheet_fxb1'\n",
"2025-12-22 15:24:12,610 - Processing cbk_batch_12_165428_forex_bureau_rates_sheet_fxb2.csv...\n",
"2025-12-22 15:24:13,260 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"/users/tligawa/mshauri-fedha/src/transform/structure_data.py:280: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n",
" df[c] = df[c].apply(lambda x: pd.to_numeric(str(x).replace(',', '').replace('(', '-').replace(')', ''), errors='ignore'))\n",
"2025-12-22 15:24:13,805 - โ
Saved 37 rows to 'forex_bureau_rates_sheet_fxb2'\n",
"2025-12-22 15:24:13,806 - Processing cbk_batch_13_165602_forex_bureaus_rates_sheet_CHIEF DEALERS.csv...\n",
"2025-12-22 15:24:14,419 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"/users/tligawa/mshauri-fedha/src/transform/structure_data.py:280: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n",
" df[c] = df[c].apply(lambda x: pd.to_numeric(str(x).replace(',', '').replace('(', '-').replace(')', ''), errors='ignore'))\n",
"2025-12-22 15:24:14,651 - โ
Saved 47 rows to 'forex_bureaus_rates_sheet_chief_dealers'\n",
"2025-12-22 15:24:14,651 - Processing cbk_batch_13_165602_forex_bureaus_rates_sheet_DIRECTORS.csv...\n",
"2025-12-22 15:24:15,261 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"/users/tligawa/mshauri-fedha/src/transform/structure_data.py:280: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n",
" df[c] = df[c].apply(lambda x: pd.to_numeric(str(x).replace(',', '').replace('(', '-').replace(')', ''), errors='ignore'))\n",
"2025-12-22 15:24:15,409 - โ
Saved 47 rows to 'forex_bureaus_rates_sheet_directors'\n",
"2025-12-22 15:24:15,410 - Processing cbk_batch_13_165602_forex_bureaus_rates_sheet_FXB1.csv...\n",
"2025-12-22 15:24:16,057 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"/users/tligawa/mshauri-fedha/src/transform/structure_data.py:280: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n",
" df[c] = df[c].apply(lambda x: pd.to_numeric(str(x).replace(',', '').replace('(', '-').replace(')', ''), errors='ignore'))\n",
"2025-12-22 15:24:16,576 - โ
Saved 45 rows to 'forex_bureaus_rates_sheet_fxb1'\n",
"2025-12-22 15:24:16,576 - Processing cbk_batch_13_165602_forex_bureaus_rates_sheet_FXB22.csv...\n",
"2025-12-22 15:24:17,231 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"/users/tligawa/mshauri-fedha/src/transform/structure_data.py:280: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n",
" df[c] = df[c].apply(lambda x: pd.to_numeric(str(x).replace(',', '').replace('(', '-').replace(')', ''), errors='ignore'))\n",
"2025-12-22 15:24:17,404 - โ
Saved 45 rows to 'forex_bureaus_rates_sheet_fxb22'\n",
"2025-12-22 15:24:17,404 - Processing cbk_batch_1_163801_forex_bureau_rates_sheet_Sheet1.csv...\n",
"2025-12-22 15:24:18,047 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"/users/tligawa/mshauri-fedha/src/transform/structure_data.py:280: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n",
" df[c] = df[c].apply(lambda x: pd.to_numeric(str(x).replace(',', '').replace('(', '-').replace(')', ''), errors='ignore'))\n",
"2025-12-22 15:24:18,460 - โ
Saved 58 rows to 'forex_bureau_rates_sheet_sheet1'\n",
"2025-12-22 15:24:18,460 - Processing cbk_batch_1_163801_forex_bureaus_rates_sheet_Director.csv...\n",
"2025-12-22 15:24:19,075 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"/users/tligawa/mshauri-fedha/src/transform/structure_data.py:280: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n",
" df[c] = df[c].apply(lambda x: pd.to_numeric(str(x).replace(',', '').replace('(', '-').replace(')', ''), errors='ignore'))\n",
"2025-12-22 15:24:19,532 - โ
Saved 49 rows to 'forex_bureaus_rates_sheet_director'\n",
"2025-12-22 15:24:19,532 - Processing cbk_batch_1_163801_forex_bureaus_rates_sheet_Market Intelligence.csv...\n",
"2025-12-22 15:24:20,140 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"/users/tligawa/mshauri-fedha/src/transform/structure_data.py:280: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n",
" df[c] = df[c].apply(lambda x: pd.to_numeric(str(x).replace(',', '').replace('(', '-').replace(')', ''), errors='ignore'))\n",
"2025-12-22 15:24:20,695 - โ
Saved 48 rows to 'forex_bureaus_rates_sheet_market_intelligence'\n",
"2025-12-22 15:24:20,695 - Processing cbk_batch_1_163801_forex_bureaus_rates_sheet_Sheet1.csv...\n",
"2025-12-22 15:24:21,341 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"/users/tligawa/mshauri-fedha/src/transform/structure_data.py:280: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n",
" df[c] = df[c].apply(lambda x: pd.to_numeric(str(x).replace(',', '').replace('(', '-').replace(')', ''), errors='ignore'))\n",
"2025-12-22 15:24:21,839 - โ
Saved 66 rows to 'forex_bureaus_rates_sheet_sheet1'\n",
"2025-12-22 15:24:21,840 - Processing cbk_batch_1_163801_forex_bureaus_rates_sheet_fxb1.csv...\n",
"2025-12-22 15:24:22,479 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"/users/tligawa/mshauri-fedha/src/transform/structure_data.py:280: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n",
" df[c] = df[c].apply(lambda x: pd.to_numeric(str(x).replace(',', '').replace('(', '-').replace(')', ''), errors='ignore'))\n",
"2025-12-22 15:24:23,184 - โ
Saved 65 rows to 'forex_bureaus_rates_sheet_fxb1'\n",
"2025-12-22 15:24:23,185 - Processing cbk_batch_1_163801_forex_bureaus_rates_sheet_fxb2.csv...\n",
"2025-12-22 15:24:23,833 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"/users/tligawa/mshauri-fedha/src/transform/structure_data.py:280: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n",
" df[c] = df[c].apply(lambda x: pd.to_numeric(str(x).replace(',', '').replace('(', '-').replace(')', ''), errors='ignore'))\n",
"2025-12-22 15:24:24,274 - โ
Saved 50 rows to 'forex_bureaus_rates_sheet_fxb2'\n",
"2025-12-22 15:24:24,275 - Processing cbk_batch_22_170858_cbk_indicative_rates.csv...\n",
"2025-12-22 15:24:24,615 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"/users/tligawa/mshauri-fedha/src/transform/structure_data.py:280: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n",
" df[c] = df[c].apply(lambda x: pd.to_numeric(str(x).replace(',', '').replace('(', '-').replace(')', ''), errors='ignore'))\n",
"2025-12-22 15:24:24,741 - โ
Saved 21 rows to 'cbk_indicative_rates'\n",
"2025-12-22 15:24:24,741 - Processing cbk_batch_31_172221_cbk_indicative_rates.csv...\n",
"2025-12-22 15:24:25,089 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"/users/tligawa/mshauri-fedha/src/transform/structure_data.py:280: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n",
" df[c] = df[c].apply(lambda x: pd.to_numeric(str(x).replace(',', '').replace('(', '-').replace(')', ''), errors='ignore'))\n",
"2025-12-22 15:24:25,442 - โ
Saved 21 rows to 'cbk_indicative_rates'\n",
"2025-12-22 15:24:25,442 - Processing cbk_batch_32_172348_cbk_indicative_rates.csv...\n",
"2025-12-22 15:24:25,788 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"/users/tligawa/mshauri-fedha/src/transform/structure_data.py:280: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n",
" df[c] = df[c].apply(lambda x: pd.to_numeric(str(x).replace(',', '').replace('(', '-').replace(')', ''), errors='ignore'))\n",
"2025-12-22 15:24:26,305 - โ
Saved 21 rows to 'cbk_indicative_rates'\n",
"2025-12-22 15:24:26,306 - Processing cbk_batch_32_172348_indicative_rates_sheet_Indicative.csv...\n",
"2025-12-22 15:24:26,722 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"/users/tligawa/mshauri-fedha/src/transform/structure_data.py:280: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n",
" df[c] = df[c].apply(lambda x: pd.to_numeric(str(x).replace(',', '').replace('(', '-').replace(')', ''), errors='ignore'))\n",
"2025-12-22 15:24:26,964 - โ
Saved 26 rows to 'indicative_rates_sheet_indicative'\n",
"2025-12-22 15:24:26,964 - Processing cbk_batch_32_172348_indicative_rates_sheet_PRESS.csv...\n",
"2025-12-22 15:24:27,766 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"/users/tligawa/mshauri-fedha/src/transform/structure_data.py:280: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n",
" df[c] = df[c].apply(lambda x: pd.to_numeric(str(x).replace(',', '').replace('(', '-').replace(')', ''), errors='ignore'))\n",
"2025-12-22 15:24:28,133 - โ
Saved 31 rows to 'indicative_rates_sheet_press'\n",
"2025-12-22 15:24:28,133 - Processing cbk_batch_36_173043_commercial_banks_average_lending_rates_-_september_sheet_Publication BSD.csv...\n",
"2025-12-22 15:24:30,235 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"/users/tligawa/mshauri-fedha/src/transform/structure_data.py:280: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n",
" df[c] = df[c].apply(lambda x: pd.to_numeric(str(x).replace(',', '').replace('(', '-').replace(')', ''), errors='ignore'))\n",
"2025-12-22 15:24:30,456 - โ
Saved 45 rows to 'commercial_banks_average_lending_rates___september_sheet_pub'\n",
"2025-12-22 15:24:30,456 - Processing cbk_batch_36_173043_commercial_banks_average_lending_rates_-_september_sheet_Sheet1.csv...\n",
"2025-12-22 15:24:32,641 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"/users/tligawa/mshauri-fedha/src/transform/structure_data.py:280: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n",
" df[c] = df[c].apply(lambda x: pd.to_numeric(str(x).replace(',', '').replace('(', '-').replace(')', ''), errors='ignore'))\n",
"2025-12-22 15:24:33,006 - โ
Saved 45 rows to 'commercial_banks_average_lending_rates___september_sheet_she'\n",
"2025-12-22 15:24:33,006 - Processing cbk_batch_36_173043_commercial_banks_average_lending_rates_2015_csv.csv...\n",
"2025-12-22 15:24:35,095 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"/users/tligawa/mshauri-fedha/src/transform/structure_data.py:280: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n",
" df[c] = df[c].apply(lambda x: pd.to_numeric(str(x).replace(',', '').replace('(', '-').replace(')', ''), errors='ignore'))\n",
"2025-12-22 15:24:35,490 - โ
Saved 53 rows to 'commercial_banks_average_lending_rates_2015_csv'\n",
"2025-12-22 15:24:35,490 - Processing cbk_batch_36_173043_commercial_banks_average_lending_rates_march_2016_.csv...\n",
"2025-12-22 15:24:36,384 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"/users/tligawa/mshauri-fedha/src/transform/structure_data.py:280: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n",
" df[c] = df[c].apply(lambda x: pd.to_numeric(str(x).replace(',', '').replace('(', '-').replace(')', ''), errors='ignore'))\n",
"2025-12-22 15:24:36,391 - โ SQL Error: Column must be constructed with a non-blank name or assign a non-blank .name before adding to a Table.\n",
"2025-12-22 15:24:36,391 - Processing cbk_batch_36_173043_commercial_banksaverage_lending_rates_2015.csv...\n",
"2025-12-22 15:24:38,723 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"/users/tligawa/mshauri-fedha/src/transform/structure_data.py:280: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n",
" df[c] = df[c].apply(lambda x: pd.to_numeric(str(x).replace(',', '').replace('(', '-').replace(')', ''), errors='ignore'))\n",
"2025-12-22 15:24:39,128 - โ
Saved 53 rows to 'commercial_banksaverage_lending_rates_2015'\n",
"2025-12-22 15:24:39,129 - โฉ Skipping cbk_batch_48_175042_lcr_return_template_sheet_1. HQLA.csv (Blacklisted)\n",
"2025-12-22 15:24:39,129 - โฉ Skipping cbk_batch_48_175042_lcr_return_template_sheet_2.Outflows.csv (Blacklisted)\n",
"2025-12-22 15:24:39,129 - โฉ Skipping cbk_batch_48_175042_lcr_return_template_sheet_3.Inflows.csv (Blacklisted)\n",
"2025-12-22 15:24:39,129 - โฉ Skipping cbk_batch_48_175042_lcr_return_template_sheet_4.LCR calculation.csv (Blacklisted)\n",
"2025-12-22 15:24:39,129 - Processing cbk_batch_48_175042_lr_return_template_sheet_LR.csv...\n",
"2025-12-22 15:24:39,573 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"2025-12-22 15:24:39,783 - โ
Saved 44 rows to 'lr_return_template_sheet_lr'\n",
"2025-12-22 15:24:39,783 - Processing cbk_batch_48_175042_nsfr_return_template_sheet_NSFR.csv...\n",
"2025-12-22 15:24:41,061 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"/users/tligawa/mshauri-fedha/src/transform/structure_data.py:280: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n",
" df[c] = df[c].apply(lambda x: pd.to_numeric(str(x).replace(',', '').replace('(', '-').replace(')', ''), errors='ignore'))\n",
"2025-12-22 15:24:41,449 - โ
Saved 46 rows to 'nsfr_return_template_sheet_nsfr'\n",
"2025-12-22 15:24:41,449 - Processing cbk_batch_9_164959_forex_bureaus_rates_sheet_Director.csv...\n",
"2025-12-22 15:24:42,076 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"/users/tligawa/mshauri-fedha/src/transform/structure_data.py:280: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n",
" df[c] = df[c].apply(lambda x: pd.to_numeric(str(x).replace(',', '').replace('(', '-').replace(')', ''), errors='ignore'))\n",
"2025-12-22 15:24:42,713 - โ
Saved 49 rows to 'forex_bureaus_rates_sheet_director'\n",
"2025-12-22 15:24:42,713 - Processing cbk_batch_9_164959_forex_bureaus_rates_sheet_Market Intelligence.csv...\n",
"2025-12-22 15:24:43,346 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"/users/tligawa/mshauri-fedha/src/transform/structure_data.py:280: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n",
" df[c] = df[c].apply(lambda x: pd.to_numeric(str(x).replace(',', '').replace('(', '-').replace(')', ''), errors='ignore'))\n",
"2025-12-22 15:24:43,827 - โ
Saved 48 rows to 'forex_bureaus_rates_sheet_market_intelligence'\n",
"2025-12-22 15:24:43,827 - Processing cbk_batch_9_164959_forex_bureaus_rates_sheet_fxb1.csv...\n",
"2025-12-22 15:24:44,350 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"/users/tligawa/mshauri-fedha/src/transform/structure_data.py:280: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n",
" df[c] = df[c].apply(lambda x: pd.to_numeric(str(x).replace(',', '').replace('(', '-').replace(')', ''), errors='ignore'))\n",
"2025-12-22 15:24:45,572 - โ
Saved 70 rows to 'forex_bureaus_rates_sheet_fxb1'\n",
"2025-12-22 15:24:45,572 - Processing cbk_batch_9_164959_forex_bureaus_rates_sheet_fxb2.csv...\n",
"2025-12-22 15:24:46,199 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"/users/tligawa/mshauri-fedha/src/transform/structure_data.py:280: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n",
" df[c] = df[c].apply(lambda x: pd.to_numeric(str(x).replace(',', '').replace('(', '-').replace(')', ''), errors='ignore'))\n",
"2025-12-22 15:24:46,882 - โ
Saved 52 rows to 'forex_bureaus_rates_sheet_fxb2'\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"\n",
"โ
Done.\n",
"๐ Created 65 tables.\n"
]
}
],
"source": [
"# Process files\n",
"# process_cbk_files(\"mshauri-fedha/data/cbk/structured\")"
]
},
{
"cell_type": "code",
"execution_count": 7,
"id": "30e68bef-c053-465a-9efe-fe728468435e",
"metadata": {},
"outputs": [],
"source": [
"import ipywidgets as widgets\n",
"from IPython.display import display, clear_output\n",
"from sqlalchemy import create_engine"
]
},
{
"cell_type": "code",
"execution_count": 8,
"id": "0335a6cd-032e-49d2-855e-e7ab1d41b80c",
"metadata": {},
"outputs": [],
"source": [
"# Setup Connection\n",
"engine = create_engine(\"sqlite:///mshauri_fedha_v6.db\")\n",
"\n",
"# Get Table List\n",
"try:\n",
" tables = pd.read_sql(\"SELECT name FROM sqlite_master WHERE type='table' ORDER BY name\", engine)\n",
" table_list = tables['name'].tolist()\n",
"except:\n",
" table_list = []\n",
" print(\"โ Could not read database. Check DB_NAME path.\")"
]
},
{
"cell_type": "code",
"execution_count": 9,
"id": "3fda1317-2305-4405-8970-9ede381329c8",
"metadata": {},
"outputs": [],
"source": [
"# Create Widgets\n",
"dropdown = widgets.Dropdown(\n",
" options=table_list,\n",
" description='Select Table:',\n",
" disabled=False,\n",
")\n",
"\n",
"out = widgets.Output()"
]
},
{
"cell_type": "code",
"execution_count": 10,
"id": "b9a4a400-d2e3-4326-b053-0bb649661c64",
"metadata": {},
"outputs": [
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "7954405dd6174df3b37aaf12fe923dc3",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
"Dropdown(description='Select Table:', options=('annual_gdp', 'cbk_indicative_exchange_rates_2003', 'cbk_indicaโฆ"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "25987682e2644f9a96c09557c722bb43",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
"Output()"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# Define Logic to observe tables\n",
"def on_table_change(change):\n",
" if change['type'] == 'change' and change['name'] == 'value':\n",
" table_name = change['new']\n",
" with out:\n",
" clear_output() # Clear previous result\n",
" print(f\"Loading '{table_name}'...\")\n",
" try:\n",
" # Get schema info\n",
" df_head = pd.read_sql(f'SELECT * FROM \"{table_name}\" LIMIT 25', engine)\n",
" df_count = pd.read_sql(f'SELECT COUNT(*) as count FROM \"{table_name}\"', engine).iloc[0]['count']\n",
" \n",
" print(f\"โ
Total Rows: {df_count}\")\n",
" display(df_head)\n",
" except Exception as e:\n",
" print(f\"Error loading table: {e}\")\n",
"\n",
"# Display UI\n",
"dropdown.observe(on_table_change)\n",
"display(dropdown, out)\n",
"\n",
"# Trigger first load if tables exist\n",
"if table_list:\n",
" dropdown.value = table_list[0]"
]
},
{
"cell_type": "code",
"execution_count": 5,
"id": "1c7522df-50a1-4e52-ba2e-857dbe698fee",
"metadata": {},
"outputs": [],
"source": [
"import logging\n",
"from load.clean_db import clean_database_pipeline"
]
},
{
"cell_type": "code",
"execution_count": 13,
"id": "b5e72936-c896-461c-8afa-3b2ccddc69d8",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 15:58:29,433 - ๐งน Starting cleanup on mshauri_fedha_v6.db...\n",
"2025-12-22 15:58:29,497 - ๐๏ธ Dropping 17 tables...\n",
"2025-12-22 15:58:29,575 - - Dropped: bop_annual\n",
"2025-12-22 15:58:30,071 - - Dropped: depository_corporation_survey\n",
"2025-12-22 15:58:30,272 - - Dropped: exchange_rates_end_period\n",
"2025-12-22 15:58:30,397 - - Dropped: exchange_rates_period_average\n",
"2025-12-22 15:58:30,510 - - Dropped: forex_bureau_rates_sheet_fbx2\n",
"2025-12-22 15:58:30,682 - - Dropped: forex_bureau_rates_sheet_fbx1\n",
"2025-12-22 15:58:30,804 - - Dropped: forex_bureau_rates_sheet_market_intelligence\n",
"2025-12-22 15:58:30,920 - - Dropped: forex_bureau_rates_sheet_chief_dealer\n",
"2025-12-22 15:58:31,089 - - Dropped: forex_bureau_rates_sheet_director\n",
"2025-12-22 15:58:31,196 - - Dropped: forex_bureau_rates_sheet_fxb1\n",
"2025-12-22 15:58:31,325 - - Dropped: forex_bureau_rates_sheet_fxb2\n",
"2025-12-22 15:58:31,437 - - Dropped: forex_bureau_rates_sheet_sheet1\n",
"2025-12-22 15:58:31,604 - - Dropped: commercial_banks_average_lending_rates___september_sheet_pub\n",
"2025-12-22 15:58:31,725 - - Dropped: commercial_banks_average_lending_rates___september_sheet_she\n",
"2025-12-22 15:58:31,792 - - Dropped: commercial_banks_average_lending_rates_2015_csv\n",
"2025-12-22 15:58:31,878 - - Dropped: lr_return_template_sheet_lr\n",
"2025-12-22 15:58:31,988 - - Dropped: nsfr_return_template_sheet_nsfr\n",
"2025-12-22 15:58:31,989 - ๐ง Running specific table fixes...\n",
"2025-12-22 15:58:33,561 - โ
Fixed 'download_all_historical_rates': 37877 rows\n",
"2025-12-22 15:58:34,261 - โ
Fixed 'foreign_trade_summary': 324 rows\n",
"2025-12-22 15:58:34,707 - โ
Fixed 'forex_bureau_rates': 21 rows\n",
"2025-12-22 15:58:35,161 - โ
Fixed 'indicative_rates_sheet_indicative': 26 rows\n",
"2025-12-22 15:58:35,225 - โ Error cleaning 'indicative_rates_sheet_press': A column with name 'bank_name' is already present in table 'indicative_rates_sheet_press'.\n",
"2025-12-22 15:58:35,732 - โ
Fixed 'value_of_selected_domestic_exports': 324 rows\n",
"2025-12-22 15:58:36,252 - โ
Fixed 'value_of_direct_imports_by_commodities': 324 rows\n",
"2025-12-22 15:58:36,252 - โจ Cleanup Complete.\n"
]
}
],
"source": [
"# Configure Logging to see output in the notebook\n",
"logging.basicConfig(\n",
" level=logging.INFO, \n",
" format='%(asctime)s - %(message)s',\n",
" stream=sys.stdout,\n",
" force=True # Ensures notebook captures the logs\n",
")\n",
"\n",
"# Run the pipeline\n",
"DB_NAME = \"mshauri_fedha_v6.db\" \n",
"\n",
"clean_database_pipeline(DB_NAME)"
]
},
{
"cell_type": "code",
"execution_count": 14,
"id": "f6eebeb1-afce-419a-b00c-97d409947447",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"๐ Verifying 'foreign_trade_summary' (Should have dropped 1 row):\n"
]
},
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" kenya_shillings_million_year | \n",
" month | \n",
" commercial_imports_cif | \n",
" government_imports_cif | \n",
" total_direct_imports_cif | \n",
" domestic_fob | \n",
" re_exports_fob | \n",
" total_fob | \n",
" trade_balance | \n",
" source_file | \n",
"
\n",
" \n",
" \n",
" \n",
" | 0 | \n",
" 1998 | \n",
" 8 | \n",
" 14,786.66 | \n",
" 736.34 | \n",
" 15,522.99 | \n",
" 8,642.42 | \n",
" 506.74 | \n",
" 9,149.16 | \n",
" -6,373.83 | \n",
" cbk_batch_103_191322_foreign_trade_summary.csv | \n",
"
\n",
" \n",
" | 1 | \n",
" 1998 | \n",
" 9 | \n",
" 16,438.24 | \n",
" 511.11 | \n",
" 16,949.35 | \n",
" 9,222.37 | \n",
" 639.03 | \n",
" 9,861.40 | \n",
" -7,087.95 | \n",
" cbk_batch_103_191322_foreign_trade_summary.csv | \n",
"
\n",
" \n",
" | 2 | \n",
" 1998 | \n",
" 10 | \n",
" 16,189.14 | \n",
" 980.93 | \n",
" 17,170.07 | \n",
" 9,310.95 | \n",
" 572.66 | \n",
" 9,883.61 | \n",
" -7,286.46 | \n",
" cbk_batch_103_191322_foreign_trade_summary.csv | \n",
"
\n",
" \n",
" | 3 | \n",
" 1998 | \n",
" 11 | \n",
" 13,424.42 | \n",
" 395.24 | \n",
" 13,819.65 | \n",
" 8,633.71 | \n",
" 455.17 | \n",
" 9,088.89 | \n",
" -4,730.77 | \n",
" cbk_batch_103_191322_foreign_trade_summary.csv | \n",
"
\n",
" \n",
" | 4 | \n",
" 1998 | \n",
" 12 | \n",
" 17,529.81 | \n",
" 516.13 | \n",
" 18,045.94 | \n",
" 9,079.32 | \n",
" 517.33 | \n",
" 9,596.66 | \n",
" -8,449.28 | \n",
" cbk_batch_103_191322_foreign_trade_summary.csv | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" kenya_shillings_million_year month commercial_imports_cif \\\n",
"0 1998 8 14,786.66 \n",
"1 1998 9 16,438.24 \n",
"2 1998 10 16,189.14 \n",
"3 1998 11 13,424.42 \n",
"4 1998 12 17,529.81 \n",
"\n",
" government_imports_cif total_direct_imports_cif domestic_fob re_exports_fob \\\n",
"0 736.34 15,522.99 8,642.42 506.74 \n",
"1 511.11 16,949.35 9,222.37 639.03 \n",
"2 980.93 17,170.07 9,310.95 572.66 \n",
"3 395.24 13,819.65 8,633.71 455.17 \n",
"4 516.13 18,045.94 9,079.32 517.33 \n",
"\n",
" total_fob trade_balance source_file \n",
"0 9,149.16 -6,373.83 cbk_batch_103_191322_foreign_trade_summary.csv \n",
"1 9,861.40 -7,087.95 cbk_batch_103_191322_foreign_trade_summary.csv \n",
"2 9,883.61 -7,286.46 cbk_batch_103_191322_foreign_trade_summary.csv \n",
"3 9,088.89 -4,730.77 cbk_batch_103_191322_foreign_trade_summary.csv \n",
"4 9,596.66 -8,449.28 cbk_batch_103_191322_foreign_trade_summary.csv "
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"\n",
"๐ Verifying 'indicative_rates_sheet_press' (Should have 'bank_name', 'usd_buy'...):\n"
]
},
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" date | \n",
" currency | \n",
" buy_rate_usd | \n",
" sell_rate_usd | \n",
" margin_usd | \n",
" buy_rate_gbp | \n",
" sell_rate_gbp | \n",
" margin_gbp | \n",
" buy_rate_eur | \n",
" sell_rate_eur | \n",
" margin_eur | \n",
" bank_name | \n",
" total_margin | \n",
" notes | \n",
" extra_data | \n",
" source_file | \n",
"
\n",
" \n",
" \n",
" \n",
" | 0 | \n",
" A B C | \n",
" 103.60000000000001 | \n",
" 103.80 | \n",
" 0.2 | \n",
" 136.74 | \n",
" 137.02 | \n",
" 0.28 | \n",
" 121.91 | \n",
" 122.15 | \n",
" 0.24 | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" cbk_batch_32_172348_indicative_rates_sheet_PRE... | \n",
"
\n",
" \n",
" | 1 | \n",
" EQUITY | \n",
" 103.5 | \n",
" 103.70 | \n",
" 0.2 | \n",
" 136.65 | \n",
" 136.95 | \n",
" 0.30 | \n",
" 121.92 | \n",
" 122.17 | \n",
" 0.25 | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" cbk_batch_32_172348_indicative_rates_sheet_PRE... | \n",
"
\n",
" \n",
" | 2 | \n",
" I & M | \n",
" 103.60000000000001 | \n",
" 103.80 | \n",
" 0.2 | \n",
" 136.74 | \n",
" 137.02 | \n",
" 0.28 | \n",
" 121.91 | \n",
" 122.16 | \n",
" 0.25 | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" cbk_batch_32_172348_indicative_rates_sheet_PRE... | \n",
"
\n",
" \n",
" | 3 | \n",
" DIAMOND TRUST | \n",
" 103.56 | \n",
" 103.76 | \n",
" 0.2 | \n",
" 136.68 | \n",
" 136.97 | \n",
" 0.29 | \n",
" 121.85000000000001 | \n",
" 122.13 | \n",
" 0.28 | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" cbk_batch_32_172348_indicative_rates_sheet_PRE... | \n",
"
\n",
" \n",
" | 4 | \n",
" N I C | \n",
" 103.65 | \n",
" 103.85 | \n",
" 0.2 | \n",
" 136.8 | \n",
" 137.07 | \n",
" 0.27 | \n",
" 121.85000000000001 | \n",
" 122.09 | \n",
" 0.24 | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" cbk_batch_32_172348_indicative_rates_sheet_PRE... | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" date currency buy_rate_usd sell_rate_usd margin_usd \\\n",
"0 A B C 103.60000000000001 103.80 0.2 136.74 \n",
"1 EQUITY 103.5 103.70 0.2 136.65 \n",
"2 I & M 103.60000000000001 103.80 0.2 136.74 \n",
"3 DIAMOND TRUST 103.56 103.76 0.2 136.68 \n",
"4 N I C 103.65 103.85 0.2 136.8 \n",
"\n",
" buy_rate_gbp sell_rate_gbp margin_gbp buy_rate_eur \\\n",
"0 137.02 0.28 121.91 122.15 \n",
"1 136.95 0.30 121.92 122.17 \n",
"2 137.02 0.28 121.91 122.16 \n",
"3 136.97 0.29 121.85000000000001 122.13 \n",
"4 137.07 0.27 121.85000000000001 122.09 \n",
"\n",
" sell_rate_eur margin_eur bank_name total_margin notes extra_data \\\n",
"0 0.24 \n",
"1 0.25 \n",
"2 0.25 \n",
"3 0.28 \n",
"4 0.24 \n",
"\n",
" source_file \n",
"0 cbk_batch_32_172348_indicative_rates_sheet_PRE... \n",
"1 cbk_batch_32_172348_indicative_rates_sheet_PRE... \n",
"2 cbk_batch_32_172348_indicative_rates_sheet_PRE... \n",
"3 cbk_batch_32_172348_indicative_rates_sheet_PRE... \n",
"4 cbk_batch_32_172348_indicative_rates_sheet_PRE... "
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"from sqlalchemy import text\n",
"\n",
"engine = create_engine(f\"sqlite:///{DB_NAME}\")\n",
"\n",
"print(\"๐ Verifying 'foreign_trade_summary' (Should have dropped 1 row):\")\n",
"df = pd.read_sql('SELECT * FROM \"foreign_trade_summary\" LIMIT 5', engine)\n",
"display(df)\n",
"\n",
"print(\"\\n๐ Verifying 'indicative_rates_sheet_press' (Should have 'bank_name', 'usd_buy'...):\")\n",
"df = pd.read_sql('SELECT * FROM \"indicative_rates_sheet_press\" LIMIT 5', engine)\n",
"display(df)"
]
},
{
"cell_type": "code",
"execution_count": 6,
"id": "0e16365b-3732-4ab5-af8a-f2f696697cb4",
"metadata": {},
"outputs": [],
"source": [
"from load.clean_db import drop_tables, fix_foreign_trade, fix_indicative_rates_shift, fix_cbk_indicative_swap"
]
},
{
"cell_type": "code",
"execution_count": 20,
"id": "1ee6ec2f-a920-4d98-a32b-dac7a4b9f50a",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"๐ง Starting Clean-Up on mshauri_fedha_v6.db...\n",
"\n",
"๐๏ธ Dropping Tables...\n",
" - Dropped: forex_bureau_rates\n",
" - Dropped: forex_bureaus_rates_sheet_chief_dealers\n",
" - Dropped: forex_bureaus_rates_sheet_director\n",
" - Dropped: forex_bureaus_rates_sheet_directors\n",
" - Dropped: forex_bureaus_rates_sheet_fbx\n",
" - Dropped: forex_bureaus_rates_sheet_fbx1\n",
" - Dropped: forex_bureaus_rates_sheet_fbx2\n",
" - Dropped: forex_bureaus_rates_sheet_fxb1\n",
" - Dropped: forex_bureaus_rates_sheet_fxb2\n",
" - Dropped: forex_bureaus_rates_sheet_fxb22\n",
" - Dropped: forex_bureaus_rates_sheet_market_intelligence\n",
" - Dropped: forex_bureaus_rates_sheet_sheet1\n",
" - Dropped: forex_bureaus_rates_sheet_sheet2\n",
" - Dropped: forex_bureaus_rates_sheet_sheet3\n",
" - Dropped: forex_bureaus_rates_sheet_sheet4\n",
" - Dropped: issues_of_treasury_bills\n",
" - Dropped: issues_of_treasury_bonds\n",
"โน๏ธ 'foreign_trade_summary': Target column not found.\n",
"โ
Fixed 'indicative_rates_sheet_indicative': Applied Date Shift & Header Rename.\n",
"โ
Fixed 'indicative_rates_sheet_press': Applied Date Shift & Header Rename.\n",
"โ
Fixed 'cbk_indicative_rates': Swapped 'date' <-> 'currency'.\n",
"\n",
"โจ Operations Complete.\n"
]
}
],
"source": [
"# --- CONFIGURATION ---\n",
"DB_NAME = \"mshauri_fedha_v6.db\"\n",
"DB_CONNECTION = f\"sqlite:///{DB_NAME}\"\n",
"engine = create_engine(DB_CONNECTION)\n",
"\n",
"# Setup logging\n",
"logging.basicConfig(level=logging.INFO, format='%(message)s')\n",
"logger = logging.getLogger()\n",
"\n",
"\n",
"# --- EXECUTION ---\n",
"print(f\"๐ง Starting Clean-Up on {DB_NAME}...\\n\")\n",
"\n",
"drop_tables(engine)\n",
"fix_foreign_trade(engine)\n",
"fix_indicative_rates_shift(engine)\n",
"fix_cbk_indicative_swap(engine)\n",
"\n",
"print(\"\\nโจ Operations Complete.\")"
]
},
{
"cell_type": "code",
"execution_count": 25,
"id": "83a10916-14f0-48fd-911b-30a754a44f57",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"๐ง Connecting to mshauri_fedha_v6.db...\n",
" ๐๏ธ Dropped table: indicative_rates_sheet_indicative\n",
" ๐๏ธ Dropped table: commercial_banksaverage_lending_rates_2015\n",
" โ
Renamed 'kenya_shillings_million_year' to 'year' in 'foreign_trade_summary'\n",
"\n",
"โจ Done.\n"
]
}
],
"source": [
"# Connect to Database\n",
"db_name = \"mshauri_fedha_v6.db\"\n",
"engine = create_engine(f\"sqlite:///{db_name}\")\n",
"\n",
"print(f\"๐ง Connecting to {db_name}...\")\n",
"\n",
"# Drop the specific tables\n",
"with engine.connect() as conn:\n",
" tables_to_drop = [\n",
" \"indicative_rates_sheet_indicative\",\n",
" \"commercial_banksaverage_lending_rates_2015\"\n",
" ]\n",
" \n",
" for t in tables_to_drop:\n",
" conn.execute(text(f'DROP TABLE IF EXISTS \"{t}\"'))\n",
" print(The total value of commodity tea exports in 1998 was 2,774.28 million.'f\" ๐๏ธ Dropped table: {t}\")\n",
" \n",
" conn.commit()\n",
"\n",
"# Rename column in 'foreign_trade_summary'\n",
"try:\n",
" # Read the table\n",
" df = pd.read_sql('SELECT * FROM \"foreign_trade_summary\"', engine)\n",
" \n",
" # Check if the target column exists\n",
" target_col = \"kenya_shillings_million_year\"\n",
" if target_col in df.columns:\n",
" # Rename\n",
" df.rename(columns={target_col: \"year\"}, inplace=True)\n",
" \n",
" # Save back (Overwriting the old table)\n",
" df.to_sql(\"foreign_trade_summary\", engine, if_exists=\"replace\", index=False)\n",
" print(f\" โ
Renamed '{target_col}' to 'year' in 'foreign_trade_summary'\")\n",
" else:\n",
" print(f\" โน๏ธ Column '{target_col}' not found in 'foreign_trade_summary'. It might be renamed already.\")\n",
"\n",
"except Exception as e:\n",
" print(f\" โ Error updating foreign_trade_summary: {e}\")\n",
"\n",
"print(\"\\nโจ Done.\")"
]
},
{
"cell_type": "code",
"execution_count": 35,
"id": "6e8400e3-d7ed-4265-85dd-276fe0d355c8",
"metadata": {},
"outputs": [],
"source": [
"from transform.get_csv_from_md import ingest_knbs_data"
]
},
{
"cell_type": "code",
"execution_count": 36,
"id": "058c82e5-c034-4daf-ba2f-afa5fdf46ef1",
"metadata": {
"scrolled": true
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:29:06,321 - โ
Ollama connected.\n",
"2025-12-22 16:29:06,879 - ๐ Found 574 KNBS markdown files (Recursive Scan). Starting ingestion...\n",
"2025-12-22 16:29:06,879 - ๐ Processing knbs_batch_100_194427_kenya-quarterly-gross-domestic-product-first-quart.md...\n",
"2025-12-22 16:29:06,907 - found 4 tables.\n",
"2025-12-22 16:29:19,463 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"2025-12-22 16:29:19,604 - -> Saved table: knbs_knbs_batch_100_194427_kenya_quarterly_gr_tab0 (19 rows)\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:29:20,468 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"2025-12-22 16:29:20,599 - -> Saved table: knbs_knbs_batch_100_194427_kenya_quarterly_gr_tab1 (26 rows)\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:29:21,912 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"2025-12-22 16:29:22,064 - -> Saved table: knbs_knbs_batch_100_194427_kenya_quarterly_gr_tab2 (26 rows)\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:29:23,389 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"2025-12-22 16:29:23,570 - -> Saved table: knbs_knbs_batch_100_194427_kenya_quarterly_gr_tab3 (27 rows)\n",
"2025-12-22 16:29:23,571 - ๐ Processing knbs_batch_100_194427_kenya-quarterly-gross-domestic-product-first-secon.md...\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:29:23,599 - found 5 tables.\n",
"2025-12-22 16:29:23,843 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"2025-12-22 16:29:24,163 - -> Saved table: knbs_knbs_batch_100_194427_kenya_quarterly_gr_tab0 (3 rows)\n",
"2025-12-22 16:29:24,872 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:29:25,204 - -> Saved table: knbs_knbs_batch_100_194427_kenya_quarterly_gr_tab1 (27 rows)\n",
"2025-12-22 16:29:31,355 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:29:31,766 - -> Saved table: knbs_knbs_batch_100_194427_kenya_quarterly_gr_tab2 (24 rows)\n",
"2025-12-22 16:29:32,958 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:29:33,291 - -> Saved table: knbs_knbs_batch_100_194427_kenya_quarterly_gr_tab3 (30 rows)\n",
"2025-12-22 16:29:34,536 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"2025-12-22 16:29:34,681 - -> Saved table: knbs_knbs_batch_100_194427_kenya_quarterly_gr_tab4 (27 rows)\n",
"2025-12-22 16:29:34,682 - ๐ Processing knbs_batch_100_194427_kenya-quarterly-gross-domestic-product-second-quar.md...\n",
"2025-12-22 16:29:34,703 - found 5 tables.\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:29:35,400 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:29:35,759 - -> Saved table: knbs_knbs_batch_100_194427_kenya_quarterly_gr_tab0 (22 rows)\n",
"2025-12-22 16:29:36,563 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:29:36,832 - -> Saved table: knbs_knbs_batch_100_194427_kenya_quarterly_gr_tab1 (22 rows)\n",
"2025-12-22 16:29:37,556 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:29:37,857 - -> Saved table: knbs_knbs_batch_100_194427_kenya_quarterly_gr_tab2 (22 rows)\n",
"2025-12-22 16:29:38,628 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:29:38,986 - -> Saved table: knbs_knbs_batch_100_194427_kenya_quarterly_gr_tab3 (22 rows)\n",
"2025-12-22 16:29:39,794 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:29:40,149 - -> Saved table: knbs_knbs_batch_100_194427_kenya_quarterly_gr_tab4 (22 rows)\n",
"2025-12-22 16:29:40,149 - ๐ Processing knbs_batch_100_194427_kenya-quarterly-gross-domestic-product-third-quart.md...\n",
"2025-12-22 16:29:40,166 - found 5 tables.\n",
"2025-12-22 16:29:40,401 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"2025-12-22 16:29:40,784 - -> Saved table: knbs_knbs_batch_100_194427_kenya_quarterly_gr_tab0 (3 rows)\n",
"2025-12-22 16:29:41,483 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:29:41,874 - -> Saved table: knbs_knbs_batch_100_194427_kenya_quarterly_gr_tab1 (28 rows)\n",
"2025-12-22 16:29:50,765 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:29:51,317 - -> Saved table: knbs_knbs_batch_100_194427_kenya_quarterly_gr_tab2 (12 rows)\n",
"2025-12-22 16:29:52,879 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:29:53,629 - -> Saved table: knbs_knbs_batch_100_194427_kenya_quarterly_gr_tab3 (28 rows)\n",
"2025-12-22 16:29:53,630 - ๐ Processing knbs_batch_100_194427_producer_price_index_-_first_quarter_2020.md...\n",
"2025-12-22 16:29:53,649 - found 3 tables.\n",
"2025-12-22 16:29:54,045 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"2025-12-22 16:29:54,208 - -> Saved table: knbs_knbs_batch_100_194427_producer_price_ind_tab0 (22 rows)\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:29:54,532 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:29:54,831 - -> Saved table: knbs_knbs_batch_100_194427_producer_price_ind_tab1 (15 rows)\n",
"2025-12-22 16:29:55,525 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"2025-12-22 16:29:55,710 - -> Saved table: knbs_knbs_batch_100_194427_producer_price_ind_tab2 (9 rows)\n",
"2025-12-22 16:29:55,710 - ๐ Processing knbs_batch_100_194427_producer_price_index_-_fourth_quarter_2019.md...\n",
"2025-12-22 16:29:55,726 - found 4 tables.\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:29:56,087 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:29:56,541 - -> Saved table: knbs_knbs_batch_100_194427_producer_price_ind_tab0 (25 rows)\n",
"2025-12-22 16:29:56,854 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:29:58,100 - -> Saved table: knbs_knbs_batch_100_194427_producer_price_ind_tab1 (14 rows)\n",
"2025-12-22 16:29:58,847 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:29:59,346 - -> Saved table: knbs_knbs_batch_100_194427_producer_price_ind_tab2 (6 rows)\n",
"2025-12-22 16:29:59,921 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"2025-12-22 16:30:00,088 - -> Saved table: knbs_knbs_batch_100_194427_producer_price_ind_tab3 (26 rows)\n",
"2025-12-22 16:30:00,088 - ๐ Processing knbs_batch_100_194427_producer_price_index_-_fourth_quarter_2020.md...\n",
"2025-12-22 16:30:00,106 - found 5 tables.\n",
"2025-12-22 16:30:00,422 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:30:00,797 - -> Saved table: knbs_knbs_batch_100_194427_producer_price_ind_tab0 (12 rows)\n",
"2025-12-22 16:30:01,507 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:30:01,814 - -> Saved table: knbs_knbs_batch_100_194427_producer_price_ind_tab1 (4 rows)\n",
"2025-12-22 16:30:02,417 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:30:02,716 - -> Saved table: knbs_knbs_batch_100_194427_producer_price_ind_tab2 (4 rows)\n",
"2025-12-22 16:30:03,081 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:30:03,398 - -> Saved table: knbs_knbs_batch_100_194427_producer_price_ind_tab3 (25 rows)\n",
"2025-12-22 16:30:03,976 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"2025-12-22 16:30:04,146 - -> Saved table: knbs_knbs_batch_100_194427_producer_price_ind_tab4 (23 rows)\n",
"2025-12-22 16:30:04,146 - ๐ Processing knbs_batch_100_194427_producer_price_index_-_second_quarter_2020.md...\n",
"2025-12-22 16:30:04,168 - found 4 tables.\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:30:04,491 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:30:04,910 - -> Saved table: knbs_knbs_batch_100_194427_producer_price_ind_tab0 (15 rows)\n",
"2025-12-22 16:30:05,356 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:30:05,683 - -> Saved table: knbs_knbs_batch_100_194427_producer_price_ind_tab1 (23 rows)\n",
"2025-12-22 16:30:06,256 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:30:06,598 - -> Saved table: knbs_knbs_batch_100_194427_producer_price_ind_tab2 (22 rows)\n",
"2025-12-22 16:30:07,399 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:30:07,741 - -> Saved table: knbs_knbs_batch_100_194427_producer_price_ind_tab3 (5 rows)\n",
"2025-12-22 16:30:07,741 - ๐ Processing knbs_batch_100_194427_producer_price_index_-_third_quarter_2019.md...\n",
"2025-12-22 16:30:07,757 - found 3 tables.\n",
"2025-12-22 16:30:08,121 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:30:08,492 - -> Saved table: knbs_knbs_batch_100_194427_producer_price_ind_tab0 (29 rows)\n",
"2025-12-22 16:30:08,905 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:30:09,252 - -> Saved table: knbs_knbs_batch_100_194427_producer_price_ind_tab1 (13 rows)\n",
"2025-12-22 16:30:09,889 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:30:10,169 - -> Saved table: knbs_knbs_batch_100_194427_producer_price_ind_tab2 (5 rows)\n",
"2025-12-22 16:30:10,170 - ๐ Processing knbs_batch_100_194427_producer_price_index_-_third_quarter_2020.md...\n",
"2025-12-22 16:30:10,194 - found 3 tables.\n",
"2025-12-22 16:30:10,525 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:30:10,902 - -> Saved table: knbs_knbs_batch_100_194427_producer_price_ind_tab0 (15 rows)\n",
"2025-12-22 16:30:11,304 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:30:11,597 - -> Saved table: knbs_knbs_batch_100_194427_producer_price_ind_tab1 (22 rows)\n",
"2025-12-22 16:30:12,249 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:30:12,539 - -> Saved table: knbs_knbs_batch_100_194427_producer_price_ind_tab2 (22 rows)\n",
"2025-12-22 16:30:12,540 - ๐ Processing knbs_batch_100_194427_producer_price_index_rebased_report_2020.md...\n",
"2025-12-22 16:30:12,562 - found 11 tables.\n",
"2025-12-22 16:30:12,810 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"2025-12-22 16:30:13,127 - -> Saved table: knbs_knbs_batch_100_194427_producer_price_ind_tab0 (24 rows)\n",
"2025-12-22 16:30:13,363 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"2025-12-22 16:30:13,632 - -> Saved table: knbs_knbs_batch_100_194427_producer_price_ind_tab1 (10 rows)\n",
"2025-12-22 16:30:13,882 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"2025-12-22 16:30:14,182 - -> Saved table: knbs_knbs_batch_100_194427_producer_price_ind_tab2 (3 rows)\n",
"2025-12-22 16:30:14,514 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:30:14,783 - -> Saved table: knbs_knbs_batch_100_194427_producer_price_ind_tab3 (6 rows)\n",
"2025-12-22 16:30:15,091 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"2025-12-22 16:30:15,388 - -> Saved table: knbs_knbs_batch_100_194427_producer_price_ind_tab4 (17 rows)\n",
"2025-12-22 16:30:15,657 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"2025-12-22 16:30:15,753 - -> Saved table: knbs_knbs_batch_100_194427_producer_price_ind_tab5 (8 rows)\n",
"2025-12-22 16:30:15,984 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"2025-12-22 16:30:16,081 - -> Saved table: knbs_knbs_batch_100_194427_producer_price_ind_tab6 (8 rows)\n",
"2025-12-22 16:30:16,350 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"2025-12-22 16:30:16,453 - -> Saved table: knbs_knbs_batch_100_194427_producer_price_ind_tab7 (7 rows)\n",
"2025-12-22 16:30:16,749 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"2025-12-22 16:30:16,884 - -> Saved table: knbs_knbs_batch_100_194427_producer_price_ind_tab8 (12 rows)\n",
"2025-12-22 16:30:17,386 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:30:17,598 - -> Saved table: knbs_knbs_batch_100_194427_producer_price_ind_tab9 (22 rows)\n",
"2025-12-22 16:30:18,294 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:30:18,535 - -> Saved table: knbs_knbs_batch_100_194427_producer_price_ind_tab10 (48 rows)\n",
"2025-12-22 16:30:18,535 - ๐ Processing knbs_batch_100_194427_quarterly-gross-domestic-product-report-first-quar.md...\n",
"2025-12-22 16:30:18,557 - found 6 tables.\n",
"2025-12-22 16:30:18,791 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"2025-12-22 16:30:18,985 - -> Saved table: knbs_knbs_batch_100_194427_quarterly_gross_do_tab0 (2 rows)\n",
"2025-12-22 16:30:19,691 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:30:19,894 - -> Saved table: knbs_knbs_batch_100_194427_quarterly_gross_do_tab1 (21 rows)\n",
"2025-12-22 16:30:20,735 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"2025-12-22 16:30:20,850 - -> Saved table: knbs_knbs_batch_100_194427_quarterly_gross_do_tab2 (25 rows)\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:30:21,499 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"2025-12-22 16:30:21,680 - -> Saved table: knbs_knbs_batch_100_194427_quarterly_gross_do_tab3 (22 rows)\n",
"2025-12-22 16:30:22,761 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"2025-12-22 16:30:22,889 - -> Saved table: knbs_knbs_batch_100_194427_quarterly_gross_do_tab4 (21 rows)\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:30:23,511 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"2025-12-22 16:30:23,657 - -> Saved table: knbs_knbs_batch_100_194427_quarterly_gross_do_tab5 (18 rows)\n",
"2025-12-22 16:30:23,657 - ๐ Processing knbs_batch_101_194432_kenya-quarterly-gross-domestic-product-first-quart.md...\n",
"2025-12-22 16:30:23,666 - ๐ Processing knbs_batch_101_194432_kenya-quarterly-gross-domestic-product-revision-20.md...\n",
"2025-12-22 16:30:23,690 - found 14 tables.\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:30:24,246 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"2025-12-22 16:30:24,382 - -> Saved table: knbs_knbs_batch_101_194432_kenya_quarterly_gr_tab0 (41 rows)\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:30:24,934 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"2025-12-22 16:30:25,108 - -> Saved table: knbs_knbs_batch_101_194432_kenya_quarterly_gr_tab1 (40 rows)\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:30:25,651 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"2025-12-22 16:30:25,823 - -> Saved table: knbs_knbs_batch_101_194432_kenya_quarterly_gr_tab2 (42 rows)\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:30:26,443 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"2025-12-22 16:30:26,585 - -> Saved table: knbs_knbs_batch_101_194432_kenya_quarterly_gr_tab3 (58 rows)\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:30:27,156 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"2025-12-22 16:30:27,347 - -> Saved table: knbs_knbs_batch_101_194432_kenya_quarterly_gr_tab4 (11 rows)\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:30:27,926 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"2025-12-22 16:30:28,047 - -> Saved table: knbs_knbs_batch_101_194432_kenya_quarterly_gr_tab5 (11 rows)\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:30:28,638 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"2025-12-22 16:30:28,782 - -> Saved table: knbs_knbs_batch_101_194432_kenya_quarterly_gr_tab6 (11 rows)\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:30:29,377 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"2025-12-22 16:30:29,538 - -> Saved table: knbs_knbs_batch_101_194432_kenya_quarterly_gr_tab7 (8 rows)\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:30:30,093 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"2025-12-22 16:30:30,266 - -> Saved table: knbs_knbs_batch_101_194432_kenya_quarterly_gr_tab8 (11 rows)\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:30:30,826 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"2025-12-22 16:30:31,000 - -> Saved table: knbs_knbs_batch_101_194432_kenya_quarterly_gr_tab9 (11 rows)\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:30:31,585 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"2025-12-22 16:30:31,690 - -> Saved table: knbs_knbs_batch_101_194432_kenya_quarterly_gr_tab10 (11 rows)\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:30:32,280 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"2025-12-22 16:30:32,436 - -> Saved table: knbs_knbs_batch_101_194432_kenya_quarterly_gr_tab11 (11 rows)\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:30:33,035 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"2025-12-22 16:30:33,180 - -> Saved table: knbs_knbs_batch_101_194432_kenya_quarterly_gr_tab12 (21 rows)\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:30:33,844 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"2025-12-22 16:30:33,937 - -> Saved table: knbs_knbs_batch_101_194432_kenya_quarterly_gr_tab13 (17 rows)\n",
"2025-12-22 16:30:33,937 - ๐ Processing knbs_batch_101_194432_kenya-quarterly-gross-domestic-product-second-quar.md...\n",
"2025-12-22 16:30:33,960 - found 4 tables.\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:30:34,685 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:30:35,015 - -> Saved table: knbs_knbs_batch_101_194432_kenya_quarterly_gr_tab0 (26 rows)\n",
"2025-12-22 16:30:35,868 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:30:36,230 - -> Saved table: knbs_knbs_batch_101_194432_kenya_quarterly_gr_tab1 (27 rows)\n",
"2025-12-22 16:30:36,953 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:30:37,275 - -> Saved table: knbs_knbs_batch_101_194432_kenya_quarterly_gr_tab2 (14 rows)\n",
"2025-12-22 16:30:38,631 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:30:38,945 - -> Saved table: knbs_knbs_batch_101_194432_kenya_quarterly_gr_tab3 (27 rows)\n",
"2025-12-22 16:30:38,945 - ๐ Processing knbs_batch_101_194432_kenya-quarterly-gross-domestic-product-third-quart.md...\n",
"2025-12-22 16:30:38,973 - found 4 tables.\n",
"2025-12-22 16:30:39,704 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:30:40,007 - -> Saved table: knbs_knbs_batch_101_194432_kenya_quarterly_gr_tab0 (20 rows)\n",
"2025-12-22 16:30:40,828 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:30:41,180 - -> Saved table: knbs_knbs_batch_101_194432_kenya_quarterly_gr_tab1 (34 rows)\n",
"2025-12-22 16:30:41,858 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:30:42,143 - -> Saved table: knbs_knbs_batch_101_194432_kenya_quarterly_gr_tab2 (28 rows)\n",
"2025-12-22 16:30:43,387 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:30:43,705 - -> Saved table: knbs_knbs_batch_101_194432_kenya_quarterly_gr_tab3 (30 rows)\n",
"2025-12-22 16:30:43,705 - ๐ Processing knbs_batch_101_194432_quarterly_gross_domestic_product-_first_quarter_20.md...\n",
"2025-12-22 16:30:43,720 - found 1 tables.\n",
"2025-12-22 16:30:46,786 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"2025-12-22 16:30:46,789 - โ Failed knbs_batch_101_194432_quarterly_gross_domestic_product-_first_quarter_20.md: A column with name 'ksh_million' is already present in table 'knbs_knbs_batch_101_194432_quarterly_gross_do_tab0'.\n",
"2025-12-22 16:30:46,789 - ๐ Processing knbs_batch_101_194432_quarterly_gross_domestic_product-_second_quarter_2.md...\n",
"2025-12-22 16:30:46,799 - found 2 tables.\n",
"2025-12-22 16:30:47,868 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"2025-12-22 16:30:48,023 - -> Saved table: knbs_knbs_batch_101_194432_quarterly_gross_do_tab0 (16 rows)\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:30:49,069 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:30:49,405 - -> Saved table: knbs_knbs_batch_101_194432_quarterly_gross_do_tab1 (28 rows)\n",
"2025-12-22 16:30:49,406 - ๐ Processing knbs_batch_101_194432_quarterly_gross_domestic_product-_third_quarter_20.md...\n",
"2025-12-22 16:30:49,427 - found 1 tables.\n",
"2025-12-22 16:30:50,659 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:30:51,301 - -> Saved table: knbs_knbs_batch_101_194432_quarterly_gross_do_tab0 (28 rows)\n",
"2025-12-22 16:30:51,301 - ๐ Processing knbs_batch_101_194432_quarterly_gross_domestic_product-second_quarter_20.md...\n",
"2025-12-22 16:30:51,320 - found 3 tables.\n",
"2025-12-22 16:30:52,046 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:30:52,800 - -> Saved table: knbs_knbs_batch_101_194432_quarterly_gross_do_tab0 (27 rows)\n",
"2025-12-22 16:30:53,659 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:30:54,202 - -> Saved table: knbs_knbs_batch_101_194432_quarterly_gross_do_tab1 (27 rows)\n",
"2025-12-22 16:30:57,154 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"2025-12-22 16:30:57,160 - โ Failed knbs_batch_101_194432_quarterly_gross_domestic_product-second_quarter_20.md: A column with name 'quarter' is already present in table 'knbs_knbs_batch_101_194432_quarterly_gross_do_tab2'.\n",
"2025-12-22 16:30:57,160 - ๐ Processing knbs_batch_102_194437_kenya-quarterly-balance-of-payment-and-internation.md...\n",
"2025-12-22 16:30:57,185 - found 8 tables.\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:30:58,067 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"2025-12-22 16:30:58,228 - -> Saved table: knbs_knbs_batch_102_194437_kenya_quarterly_ba_tab0 (13 rows)\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:30:58,962 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"2025-12-22 16:30:59,107 - -> Saved table: knbs_knbs_batch_102_194437_kenya_quarterly_ba_tab1 (33 rows)\n",
"2025-12-22 16:30:59,890 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"2025-12-22 16:31:00,038 - -> Saved table: knbs_knbs_batch_102_194437_kenya_quarterly_ba_tab2 (19 rows)\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:31:01,031 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"2025-12-22 16:31:01,154 - -> Saved table: knbs_knbs_batch_102_194437_kenya_quarterly_ba_tab3 (35 rows)\n",
"2025-12-22 16:31:02,767 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"2025-12-22 16:31:02,944 - -> Saved table: knbs_knbs_batch_102_194437_kenya_quarterly_ba_tab4 (76 rows)\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:31:03,474 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"2025-12-22 16:31:03,638 - -> Saved table: knbs_knbs_batch_102_194437_kenya_quarterly_ba_tab5 (42 rows)\n",
"2025-12-22 16:31:04,070 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"2025-12-22 16:31:04,218 - -> Saved table: knbs_knbs_batch_102_194437_kenya_quarterly_ba_tab6 (49 rows)\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:31:04,725 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"2025-12-22 16:31:04,843 - -> Saved table: knbs_knbs_batch_102_194437_kenya_quarterly_ba_tab7 (36 rows)\n",
"2025-12-22 16:31:04,843 - ๐ Processing knbs_batch_102_194437_quarterly_gross_domestic_product_-_first__second_q.md...\n",
"2025-12-22 16:31:04,872 - found 4 tables.\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:31:05,164 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"2025-12-22 16:31:05,505 - -> Saved table: knbs_knbs_batch_102_194437_quarterly_gross_do_tab0 (3 rows)\n",
"2025-12-22 16:31:06,245 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:31:06,464 - -> Saved table: knbs_knbs_batch_102_194437_quarterly_gross_do_tab1 (27 rows)\n",
"2025-12-22 16:31:07,261 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:31:07,525 - -> Saved table: knbs_knbs_batch_102_194437_quarterly_gross_do_tab2 (26 rows)\n",
"2025-12-22 16:31:10,646 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"2025-12-22 16:31:10,656 - โ Failed knbs_batch_102_194437_quarterly_gross_domestic_product_-_first__second_q.md: A column with name 'year' is already present in table 'knbs_knbs_batch_102_194437_quarterly_gross_do_tab3'.\n",
"2025-12-22 16:31:10,657 - ๐ Processing knbs_batch_102_194437_quarterly_gross_domestic_product_-_first_quarter_2.md...\n",
"2025-12-22 16:31:10,675 - found 6 tables.\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n",
":39: FutureWarning: Series.__getitem__ treating keys as positions is deprecated. In a future version, integer keys will always be treated as labels (consistent with DataFrame behavior). To access a value by position, use `ser.iloc[pos]`\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:31:11,390 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:31:11,748 - -> Saved table: knbs_knbs_batch_102_194437_quarterly_gross_do_tab0 (27 rows)\n",
"2025-12-22 16:31:12,608 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:31:13,024 - -> Saved table: knbs_knbs_batch_102_194437_quarterly_gross_do_tab1 (31 rows)\n",
"2025-12-22 16:31:13,750 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:31:14,157 - -> Saved table: knbs_knbs_batch_102_194437_quarterly_gross_do_tab2 (26 rows)\n",
"2025-12-22 16:31:14,907 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"2025-12-22 16:31:15,047 - -> Saved table: knbs_knbs_batch_102_194437_quarterly_gross_do_tab3 (6 rows)\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:31:15,727 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"2025-12-22 16:31:15,852 - -> Saved table: knbs_knbs_batch_102_194437_quarterly_gross_do_tab4 (25 rows)\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:31:16,653 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"2025-12-22 16:31:16,764 - -> Saved table: knbs_knbs_batch_102_194437_quarterly_gross_do_tab5 (26 rows)\n",
"2025-12-22 16:31:16,764 - ๐ Processing knbs_batch_102_194437_quarterly_gross_domestic_product_-_revision_2018.md...\n",
"2025-12-22 16:31:16,792 - found 14 tables.\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:31:17,340 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:31:17,677 - -> Saved table: knbs_knbs_batch_102_194437_quarterly_gross_do_tab0 (40 rows)\n",
"2025-12-22 16:31:18,298 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:31:18,608 - -> Saved table: knbs_knbs_batch_102_194437_quarterly_gross_do_tab1 (41 rows)\n",
"2025-12-22 16:31:19,154 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:31:19,469 - -> Saved table: knbs_knbs_batch_102_194437_quarterly_gross_do_tab2 (42 rows)\n",
"2025-12-22 16:31:20,159 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:31:20,587 - -> Saved table: knbs_knbs_batch_102_194437_quarterly_gross_do_tab3 (59 rows)\n",
"2025-12-22 16:31:21,155 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:31:21,633 - -> Saved table: knbs_knbs_batch_102_194437_quarterly_gross_do_tab4 (11 rows)\n",
"2025-12-22 16:31:22,210 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:31:22,599 - -> Saved table: knbs_knbs_batch_102_194437_quarterly_gross_do_tab5 (11 rows)\n",
"2025-12-22 16:31:23,187 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"2025-12-22 16:31:23,366 - -> Saved table: knbs_knbs_batch_102_194437_quarterly_gross_do_tab6 (11 rows)\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:31:23,942 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"2025-12-22 16:31:24,085 - -> Saved table: knbs_knbs_batch_102_194437_quarterly_gross_do_tab7 (9 rows)\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:31:24,640 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"2025-12-22 16:31:24,806 - -> Saved table: knbs_knbs_batch_102_194437_quarterly_gross_do_tab8 (11 rows)\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:31:25,368 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"2025-12-22 16:31:25,469 - -> Saved table: knbs_knbs_batch_102_194437_quarterly_gross_do_tab9 (11 rows)\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:31:26,021 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"2025-12-22 16:31:26,129 - -> Saved table: knbs_knbs_batch_102_194437_quarterly_gross_do_tab10 (11 rows)\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:31:26,720 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"2025-12-22 16:31:26,838 - -> Saved table: knbs_knbs_batch_102_194437_quarterly_gross_do_tab11 (10 rows)\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:31:27,406 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"2025-12-22 16:31:27,555 - -> Saved table: knbs_knbs_batch_102_194437_quarterly_gross_do_tab12 (21 rows)\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:31:28,101 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"2025-12-22 16:31:28,282 - -> Saved table: knbs_knbs_batch_102_194437_quarterly_gross_do_tab13 (14 rows)\n",
"2025-12-22 16:31:28,282 - ๐ Processing knbs_batch_102_194437_quarterly_gross_domestic_product_-_second_quarter_.md...\n",
"2025-12-22 16:31:28,304 - found 4 tables.\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:31:29,083 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:31:29,507 - -> Saved table: knbs_knbs_batch_102_194437_quarterly_gross_do_tab0 (26 rows)\n",
"2025-12-22 16:31:30,418 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:31:30,811 - -> Saved table: knbs_knbs_batch_102_194437_quarterly_gross_do_tab1 (27 rows)\n",
"2025-12-22 16:31:32,274 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:31:32,860 - -> Saved table: knbs_knbs_batch_102_194437_quarterly_gross_do_tab2 (28 rows)\n",
"2025-12-22 16:31:33,747 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:31:34,520 - -> Saved table: knbs_knbs_batch_102_194437_quarterly_gross_do_tab3 (27 rows)\n",
"2025-12-22 16:31:34,521 - ๐ Processing knbs_batch_102_194437_quarterly_gross_domestic_product_-_third_quarter_2.md...\n",
"2025-12-22 16:31:34,540 - found 3 tables.\n",
"2025-12-22 16:31:35,288 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:31:36,137 - -> Saved table: knbs_knbs_batch_102_194437_quarterly_gross_do_tab0 (28 rows)\n",
"2025-12-22 16:31:37,039 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:31:37,514 - -> Saved table: knbs_knbs_batch_102_194437_quarterly_gross_do_tab1 (34 rows)\n",
"2025-12-22 16:31:39,531 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"2025-12-22 16:31:39,539 - โ Failed knbs_batch_102_194437_quarterly_gross_domestic_product_-_third_quarter_2.md: A column with name 'year' is already present in table 'knbs_knbs_batch_102_194437_quarterly_gross_do_tab2'.\n",
"2025-12-22 16:31:39,539 - ๐ Processing knbs_batch_103_194442_kenya-quarterly-balance-of-payment-and-internation.md...\n",
"2025-12-22 16:31:39,577 - found 10 tables.\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n",
":39: FutureWarning: Series.__getitem__ treating keys as positions is deprecated. In a future version, integer keys will always be treated as labels (consistent with DataFrame behavior). To access a value by position, use `ser.iloc[pos]`\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:31:40,522 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"2025-12-22 16:31:40,661 - -> Saved table: knbs_knbs_batch_103_194442_kenya_quarterly_ba_tab0 (30 rows)\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:31:41,449 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"2025-12-22 16:31:41,553 - -> Saved table: knbs_knbs_batch_103_194442_kenya_quarterly_ba_tab1 (15 rows)\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:31:42,330 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"2025-12-22 16:31:42,434 - -> Saved table: knbs_knbs_batch_103_194442_kenya_quarterly_ba_tab2 (25 rows)\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:31:43,633 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"2025-12-22 16:31:43,811 - -> Saved table: knbs_knbs_batch_103_194442_kenya_quarterly_ba_tab3 (29 rows)\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:31:44,571 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"2025-12-22 16:31:44,744 - -> Saved table: knbs_knbs_batch_103_194442_kenya_quarterly_ba_tab4 (19 rows)\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:31:45,653 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"2025-12-22 16:31:45,826 - -> Saved table: knbs_knbs_batch_103_194442_kenya_quarterly_ba_tab5 (55 rows)\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:31:51,893 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:31:52,107 - -> Saved table: knbs_knbs_batch_103_194442_kenya_quarterly_ba_tab6 (34 rows)\n",
"2025-12-22 16:31:53,331 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"2025-12-22 16:31:53,348 - โ Failed knbs_batch_103_194442_kenya-quarterly-balance-of-payment-and-internation.md: A column with name 'nan' is already present in table 'knbs_knbs_batch_103_194442_kenya_quarterly_ba_tab7'.\n",
"2025-12-22 16:31:53,349 - ๐ Processing knbs_batch_103_194442_kenya-quarterly-balance-of-payments-first-quarter-.md...\n",
"2025-12-22 16:31:53,453 - found 10 tables.\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:31:54,925 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:31:55,639 - -> Saved table: knbs_knbs_batch_103_194442_kenya_quarterly_ba_tab0 (29 rows)\n",
"2025-12-22 16:31:56,423 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"2025-12-22 16:31:56,921 - -> Saved table: knbs_knbs_batch_103_194442_kenya_quarterly_ba_tab1 (5 rows)\n",
"2025-12-22 16:31:57,896 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:31:58,183 - -> Saved table: knbs_knbs_batch_103_194442_kenya_quarterly_ba_tab2 (26 rows)\n",
"2025-12-22 16:31:58,903 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:31:59,216 - -> Saved table: knbs_knbs_batch_103_194442_kenya_quarterly_ba_tab3 (29 rows)\n",
"2025-12-22 16:31:59,843 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"2025-12-22 16:32:00,074 - -> Saved table: knbs_knbs_batch_103_194442_kenya_quarterly_ba_tab4 (19 rows)\n",
"2025-12-22 16:32:00,878 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:32:01,241 - -> Saved table: knbs_knbs_batch_103_194442_kenya_quarterly_ba_tab5 (51 rows)\n",
"2025-12-22 16:32:01,902 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:32:02,289 - -> Saved table: knbs_knbs_batch_103_194442_kenya_quarterly_ba_tab6 (34 rows)\n",
"2025-12-22 16:32:03,206 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"2025-12-22 16:32:03,339 - -> Saved table: knbs_knbs_batch_103_194442_kenya_quarterly_ba_tab7 (73 rows)\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:32:04,118 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"2025-12-22 16:32:04,268 - -> Saved table: knbs_knbs_batch_103_194442_kenya_quarterly_ba_tab8 (39 rows)\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:32:04,976 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"2025-12-22 16:32:05,141 - -> Saved table: knbs_knbs_batch_103_194442_kenya_quarterly_ba_tab9 (39 rows)\n",
"2025-12-22 16:32:05,141 - ๐ Processing knbs_batch_103_194442_kenya-quarterly-balance-of-payments-second-quarter.md...\n",
"2025-12-22 16:32:05,185 - found 11 tables.\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:32:06,098 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"2025-12-22 16:32:06,480 - -> Saved table: knbs_knbs_batch_103_194442_kenya_quarterly_ba_tab0 (28 rows)\n",
"2025-12-22 16:32:07,418 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:32:07,761 - -> Saved table: knbs_knbs_batch_103_194442_kenya_quarterly_ba_tab1 (5 rows)\n",
"2025-12-22 16:32:08,610 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:32:09,017 - -> Saved table: knbs_knbs_batch_103_194442_kenya_quarterly_ba_tab2 (32 rows)\n",
"2025-12-22 16:32:10,184 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:32:10,515 - -> Saved table: knbs_knbs_batch_103_194442_kenya_quarterly_ba_tab3 (29 rows)\n",
"2025-12-22 16:32:11,535 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:32:11,817 - -> Saved table: knbs_knbs_batch_103_194442_kenya_quarterly_ba_tab4 (18 rows)\n",
"2025-12-22 16:32:12,557 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:32:12,854 - -> Saved table: knbs_knbs_batch_103_194442_kenya_quarterly_ba_tab5 (47 rows)\n",
"2025-12-22 16:32:14,384 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"2025-12-22 16:32:14,398 - โ Failed knbs_batch_103_194442_kenya-quarterly-balance-of-payments-second-quarter.md: A column with name 'year_2020_nan' is already present in table 'knbs_knbs_batch_103_194442_kenya_quarterly_ba_tab6'.\n",
"2025-12-22 16:32:14,398 - ๐ Processing knbs_batch_103_194442_kenya-quarterly-balance-of-payments-third-quarter-.md...\n",
"2025-12-22 16:32:14,446 - found 10 tables.\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n",
":39: FutureWarning: Series.__getitem__ treating keys as positions is deprecated. In a future version, integer keys will always be treated as labels (consistent with DataFrame behavior). To access a value by position, use `ser.iloc[pos]`\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:32:15,797 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:32:16,166 - -> Saved table: knbs_knbs_batch_103_194442_kenya_quarterly_ba_tab0 (29 rows)\n",
"2025-12-22 16:32:16,961 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:32:17,485 - -> Saved table: knbs_knbs_batch_103_194442_kenya_quarterly_ba_tab1 (5 rows)\n",
"2025-12-22 16:32:18,364 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:32:19,540 - -> Saved table: knbs_knbs_batch_103_194442_kenya_quarterly_ba_tab2 (25 rows)\n",
"2025-12-22 16:32:20,475 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:32:21,957 - -> Saved table: knbs_knbs_batch_103_194442_kenya_quarterly_ba_tab3 (19 rows)\n",
"2025-12-22 16:32:46,224 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"2025-12-22 16:32:46,620 - -> Saved table: knbs_knbs_batch_103_194442_kenya_quarterly_ba_tab4 (51 rows)\n",
"2025-12-22 16:32:47,573 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:32:47,857 - -> Saved table: knbs_knbs_batch_103_194442_kenya_quarterly_ba_tab5 (34 rows)\n",
"2025-12-22 16:32:49,016 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:32:49,465 - -> Saved table: knbs_knbs_batch_103_194442_kenya_quarterly_ba_tab6 (73 rows)\n",
"2025-12-22 16:32:50,608 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:32:50,953 - -> Saved table: knbs_knbs_batch_103_194442_kenya_quarterly_ba_tab7 (69 rows)\n",
"2025-12-22 16:32:53,257 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"2025-12-22 16:32:53,573 - -> Saved table: knbs_knbs_batch_103_194442_kenya_quarterly_ba_tab8 (28 rows)\n",
"2025-12-22 16:32:54,178 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:32:54,515 - -> Saved table: knbs_knbs_batch_103_194442_kenya_quarterly_ba_tab9 (41 rows)\n",
"2025-12-22 16:32:54,515 - ๐ Processing knbs_batch_103_194442_kenya-trade-statistics-bulletin-first-quarter-2022.md...\n",
"2025-12-22 16:32:54,522 - ๐ Processing knbs_batch_103_194442_quarterly-balance-of-payments-second-quarter-2023-.md...\n",
"2025-12-22 16:32:54,541 - found 8 tables.\n",
"2025-12-22 16:32:55,489 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"2025-12-22 16:32:55,607 - -> Saved table: knbs_knbs_batch_103_194442_quarterly_balance__tab0 (30 rows)\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:32:56,604 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"2025-12-22 16:32:56,713 - -> Saved table: knbs_knbs_batch_103_194442_quarterly_balance__tab1 (14 rows)\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:32:57,819 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"2025-12-22 16:32:57,957 - -> Saved table: knbs_knbs_batch_103_194442_quarterly_balance__tab2 (24 rows)\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:32:58,813 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:32:59,118 - -> Saved table: knbs_knbs_batch_103_194442_quarterly_balance__tab3 (30 rows)\n",
"2025-12-22 16:33:00,049 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"2025-12-22 16:33:00,254 - -> Saved table: knbs_knbs_batch_103_194442_quarterly_balance__tab4 (107 rows)\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:33:01,830 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"2025-12-22 16:33:02,030 - -> Saved table: knbs_knbs_batch_103_194442_quarterly_balance__tab5 (62 rows)\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:33:02,929 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:33:03,186 - -> Saved table: knbs_knbs_batch_103_194442_quarterly_balance__tab6 (40 rows)\n",
"2025-12-22 16:33:03,586 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"2025-12-22 16:33:03,709 - -> Saved table: knbs_knbs_batch_103_194442_quarterly_balance__tab7 (39 rows)\n",
"2025-12-22 16:33:03,709 - ๐ Processing knbs_batch_103_194442_quarterly-balance-of-payments-thrid-quarter-2023-m.md...\n",
"2025-12-22 16:33:03,742 - found 12 tables.\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:33:04,550 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"2025-12-22 16:33:04,945 - -> Saved table: knbs_knbs_batch_103_194442_quarterly_balance__tab0 (21 rows)\n",
"2025-12-22 16:33:05,800 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:33:06,123 - -> Saved table: knbs_knbs_batch_103_194442_quarterly_balance__tab1 (14 rows)\n",
"2025-12-22 16:33:06,999 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:33:07,363 - -> Saved table: knbs_knbs_batch_103_194442_quarterly_balance__tab2 (25 rows)\n",
"2025-12-22 16:33:07,593 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"2025-12-22 16:33:07,855 - -> Saved table: knbs_knbs_batch_103_194442_quarterly_balance__tab3 (15 rows)\n",
"2025-12-22 16:33:08,579 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:33:08,936 - -> Saved table: knbs_knbs_batch_103_194442_quarterly_balance__tab4 (12 rows)\n",
"2025-12-22 16:33:09,944 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:33:10,410 - -> Saved table: knbs_knbs_batch_103_194442_quarterly_balance__tab5 (18 rows)\n",
"2025-12-22 16:33:11,638 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"2025-12-22 16:33:11,642 - โ Failed knbs_batch_103_194442_quarterly-balance-of-payments-thrid-quarter-2023-m.md: A column with name 'empty_col' is already present in table 'knbs_knbs_batch_103_194442_quarterly_balance__tab6'.\n",
"2025-12-22 16:33:11,643 - ๐ Processing knbs_batch_103_194442_trade-bop-statistics-bulletin-q12024.md...\n",
"2025-12-22 16:33:11,669 - found 7 tables.\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:33:12,156 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"2025-12-22 16:33:12,288 - -> Saved table: knbs_knbs_batch_103_194442_trade_bop_statisti_tab0 (3 rows)\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:33:12,754 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"2025-12-22 16:33:12,850 - -> Saved table: knbs_knbs_batch_103_194442_trade_bop_statisti_tab1 (4 rows)\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:33:13,182 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"2025-12-22 16:33:13,299 - -> Saved table: knbs_knbs_batch_103_194442_trade_bop_statisti_tab2 (6 rows)\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:33:13,768 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"2025-12-22 16:33:13,849 - -> Saved table: knbs_knbs_batch_103_194442_trade_bop_statisti_tab3 (4 rows)\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:33:14,067 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"2025-12-22 16:33:14,229 - -> Saved table: knbs_knbs_batch_103_194442_trade_bop_statisti_tab5 (3 rows)\n",
"2025-12-22 16:33:14,638 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"2025-12-22 16:33:14,749 - -> Saved table: knbs_knbs_batch_103_194442_trade_bop_statisti_tab6 (2 rows)\n",
"2025-12-22 16:33:14,749 - ๐ Processing knbs_batch_104_194448_kenya-quarterly-balance-of-payments-first-quarter-.md...\n",
"2025-12-22 16:33:14,777 - found 7 tables.\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:33:16,060 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"2025-12-22 16:33:16,204 - -> Saved table: knbs_knbs_batch_104_194448_kenya_quarterly_ba_tab0 (30 rows)\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:33:17,007 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"2025-12-22 16:33:17,117 - -> Saved table: knbs_knbs_batch_104_194448_kenya_quarterly_ba_tab1 (5 rows)\n",
"2025-12-22 16:33:17,726 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"2025-12-22 16:33:17,849 - -> Saved table: knbs_knbs_batch_104_194448_kenya_quarterly_ba_tab2 (19 rows)\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:33:18,709 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"2025-12-22 16:33:18,859 - -> Saved table: knbs_knbs_batch_104_194448_kenya_quarterly_ba_tab3 (19 rows)\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:33:19,587 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"2025-12-22 16:33:19,743 - -> Saved table: knbs_knbs_batch_104_194448_kenya_quarterly_ba_tab4 (34 rows)\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:33:20,936 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"2025-12-22 16:33:21,099 - -> Saved table: knbs_knbs_batch_104_194448_kenya_quarterly_ba_tab5 (134 rows)\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:33:21,869 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"2025-12-22 16:33:21,963 - -> Saved table: knbs_knbs_batch_104_194448_kenya_quarterly_ba_tab6 (20 rows)\n",
"2025-12-22 16:33:21,964 - ๐ Processing knbs_batch_104_194448_quarterly_balance_of_payments_-_first_quarter_2021.md...\n",
"2025-12-22 16:33:21,994 - found 10 tables.\n",
"2025-12-22 16:33:22,916 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"2025-12-22 16:33:23,059 - -> Saved table: knbs_knbs_batch_104_194448_quarterly_balance__tab1 (5 rows)\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:33:23,966 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"2025-12-22 16:33:24,058 - -> Saved table: knbs_knbs_batch_104_194448_quarterly_balance__tab2 (31 rows)\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:33:24,462 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"2025-12-22 16:33:24,607 - -> Saved table: knbs_knbs_batch_104_194448_quarterly_balance__tab3 (18 rows)\n",
"2025-12-22 16:33:25,654 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"2025-12-22 16:33:25,774 - -> Saved table: knbs_knbs_batch_104_194448_quarterly_balance__tab4 (50 rows)\n",
"2025-12-22 16:33:26,698 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"2025-12-22 16:33:26,872 - -> Saved table: knbs_knbs_batch_104_194448_quarterly_balance__tab5 (34 rows)\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:33:27,563 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"2025-12-22 16:33:27,680 - -> Saved table: knbs_knbs_batch_104_194448_quarterly_balance__tab6 (13 rows)\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:33:29,139 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"2025-12-22 16:33:29,296 - -> Saved table: knbs_knbs_batch_104_194448_quarterly_balance__tab7 (73 rows)\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:33:30,028 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"2025-12-22 16:33:30,036 - โ Failed knbs_batch_104_194448_quarterly_balance_of_payments_-_first_quarter_2021.md: A column with name 'year_nan' is already present in table 'knbs_knbs_batch_104_194448_quarterly_balance__tab8'.\n",
"2025-12-22 16:33:30,036 - ๐ Processing knbs_batch_104_194448_quarterly_balance_of_payments_-_first_quarter_2022.md...\n",
"2025-12-22 16:33:30,076 - found 8 tables.\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n",
":39: FutureWarning: Series.__getitem__ treating keys as positions is deprecated. In a future version, integer keys will always be treated as labels (consistent with DataFrame behavior). To access a value by position, use `ser.iloc[pos]`\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:33:31,134 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"2025-12-22 16:33:31,268 - -> Saved table: knbs_knbs_batch_104_194448_quarterly_balance__tab0 (31 rows)\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:33:32,301 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:33:32,693 - -> Saved table: knbs_knbs_batch_104_194448_quarterly_balance__tab1 (5 rows)\n",
"2025-12-22 16:33:33,492 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:33:33,861 - -> Saved table: knbs_knbs_batch_104_194448_quarterly_balance__tab2 (18 rows)\n",
"2025-12-22 16:33:34,752 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:33:35,093 - -> Saved table: knbs_knbs_batch_104_194448_quarterly_balance__tab3 (29 rows)\n",
"2025-12-22 16:33:36,006 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:33:36,499 - -> Saved table: knbs_knbs_batch_104_194448_quarterly_balance__tab4 (35 rows)\n",
"2025-12-22 16:33:37,916 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"2025-12-22 16:33:37,919 - โ Failed knbs_batch_104_194448_quarterly_balance_of_payments_-_first_quarter_2022.md: A column with name 'jan_mar_2022' is already present in table 'knbs_knbs_batch_104_194448_quarterly_balance__tab5'.\n",
"2025-12-22 16:33:37,919 - ๐ Processing knbs_batch_104_194448_quarterly_balance_of_payments_-_first_quarter_2023.md...\n",
"2025-12-22 16:33:37,951 - found 8 tables.\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:33:38,952 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:33:39,460 - -> Saved table: knbs_knbs_batch_104_194448_quarterly_balance__tab0 (13 rows)\n",
"2025-12-22 16:33:40,614 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:33:41,351 - -> Saved table: knbs_knbs_batch_104_194448_quarterly_balance__tab1 (24 rows)\n",
"2025-12-22 16:33:42,362 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:33:42,801 - -> Saved table: knbs_knbs_batch_104_194448_quarterly_balance__tab2 (32 rows)\n",
"2025-12-22 16:33:43,780 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"2025-12-22 16:33:44,351 - -> Saved table: knbs_knbs_batch_104_194448_quarterly_balance__tab3 (20 rows)\n",
"2025-12-22 16:33:45,489 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:33:45,839 - -> Saved table: knbs_knbs_batch_104_194448_quarterly_balance__tab4 (35 rows)\n",
"2025-12-22 16:33:47,295 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:33:47,615 - -> Saved table: knbs_knbs_batch_104_194448_quarterly_balance__tab5 (74 rows)\n",
"2025-12-22 16:33:48,469 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:33:48,753 - -> Saved table: knbs_knbs_batch_104_194448_quarterly_balance__tab6 (40 rows)\n",
"2025-12-22 16:33:49,261 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:33:49,689 - -> Saved table: knbs_knbs_batch_104_194448_quarterly_balance__tab7 (27 rows)\n",
"2025-12-22 16:33:49,689 - ๐ Processing knbs_batch_104_194448_quarterly_balance_of_payments_-_first_quarter_2024.md...\n",
"2025-12-22 16:33:49,711 - found 8 tables.\n",
"2025-12-22 16:33:50,662 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:33:51,464 - -> Saved table: knbs_knbs_batch_104_194448_quarterly_balance__tab0 (25 rows)\n",
"2025-12-22 16:33:52,464 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:33:52,957 - -> Saved table: knbs_knbs_batch_104_194448_quarterly_balance__tab1 (29 rows)\n",
"2025-12-22 16:33:53,710 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:33:54,043 - -> Saved table: knbs_knbs_batch_104_194448_quarterly_balance__tab2 (20 rows)\n",
"2025-12-22 16:33:55,079 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:33:55,453 - -> Saved table: knbs_knbs_batch_104_194448_quarterly_balance__tab3 (62 rows)\n",
"2025-12-22 16:33:56,494 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"2025-12-22 16:33:56,898 - -> Saved table: knbs_knbs_batch_104_194448_quarterly_balance__tab4 (34 rows)\n",
"2025-12-22 16:33:59,762 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"2025-12-22 16:33:59,766 - โ Failed knbs_batch_104_194448_quarterly_balance_of_payments_-_first_quarter_2024.md: A column with name 'oct___dec' is already present in table 'knbs_knbs_batch_104_194448_quarterly_balance__tab5'.\n",
"2025-12-22 16:33:59,766 - ๐ Processing knbs_batch_104_194448_quarterly_balance_of_payments_-_second_quarter_202.md...\n",
"2025-12-22 16:33:59,799 - found 9 tables.\n",
"2025-12-22 16:34:00,676 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:34:01,012 - -> Saved table: knbs_knbs_batch_104_194448_quarterly_balance__tab0 (27 rows)\n",
"2025-12-22 16:34:01,976 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:34:02,376 - -> Saved table: knbs_knbs_batch_104_194448_quarterly_balance__tab1 (5 rows)\n",
"2025-12-22 16:34:03,275 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:34:03,690 - -> Saved table: knbs_knbs_batch_104_194448_quarterly_balance__tab2 (27 rows)\n",
"2025-12-22 16:34:04,771 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:34:05,268 - -> Saved table: knbs_knbs_batch_104_194448_quarterly_balance__tab3 (29 rows)\n",
"2025-12-22 16:34:06,433 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:34:06,908 - -> Saved table: knbs_knbs_batch_104_194448_quarterly_balance__tab4 (67 rows)\n",
"2025-12-22 16:34:07,970 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"2025-12-22 16:34:08,444 - -> Saved table: knbs_knbs_batch_104_194448_quarterly_balance__tab5 (35 rows)\n",
"2025-12-22 16:34:10,202 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"2025-12-22 16:34:10,829 - -> Saved table: knbs_knbs_batch_104_194448_quarterly_balance__tab6 (73 rows)\n",
"2025-12-22 16:34:11,248 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:34:11,766 - -> Saved table: knbs_knbs_batch_104_194448_quarterly_balance__tab7 (37 rows)\n",
"2025-12-22 16:34:12,793 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"2025-12-22 16:34:12,996 - -> Saved table: knbs_knbs_batch_104_194448_quarterly_balance__tab8 (41 rows)\n",
"2025-12-22 16:34:12,996 - ๐ Processing knbs_batch_104_194448_quarterly_balance_of_payments_-_third_quarter_2020.md...\n",
"2025-12-22 16:34:13,038 - found 8 tables.\n",
"2025-12-22 16:34:14,462 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:34:14,856 - -> Saved table: knbs_knbs_batch_104_194448_quarterly_balance__tab0 (30 rows)\n",
"2025-12-22 16:34:15,916 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:34:16,299 - -> Saved table: knbs_knbs_batch_104_194448_quarterly_balance__tab1 (25 rows)\n",
"2025-12-22 16:34:17,460 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:34:17,845 - -> Saved table: knbs_knbs_batch_104_194448_quarterly_balance__tab2 (29 rows)\n",
"2025-12-22 16:34:18,801 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:34:19,180 - -> Saved table: knbs_knbs_batch_104_194448_quarterly_balance__tab3 (19 rows)\n",
"2025-12-22 16:34:19,777 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:34:20,201 - -> Saved table: knbs_knbs_batch_104_194448_quarterly_balance__tab4 (49 rows)\n",
"2025-12-22 16:34:21,269 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:34:21,706 - -> Saved table: knbs_knbs_batch_104_194448_quarterly_balance__tab5 (35 rows)\n",
"2025-12-22 16:34:23,205 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:34:23,719 - -> Saved table: knbs_knbs_batch_104_194448_quarterly_balance__tab6 (66 rows)\n",
"2025-12-22 16:34:25,379 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:34:25,705 - -> Saved table: knbs_knbs_batch_104_194448_quarterly_balance__tab7 (42 rows)\n",
"2025-12-22 16:34:25,706 - ๐ Processing knbs_batch_104_194448_quarterly_balance_of_payments_-_third_quarter_2021.md...\n",
"2025-12-22 16:34:25,741 - found 10 tables.\n",
"2025-12-22 16:34:27,027 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:34:27,435 - -> Saved table: knbs_knbs_batch_104_194448_quarterly_balance__tab0 (27 rows)\n",
"2025-12-22 16:34:28,238 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:34:28,607 - -> Saved table: knbs_knbs_batch_104_194448_quarterly_balance__tab1 (5 rows)\n",
"2025-12-22 16:34:29,589 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:34:29,916 - -> Saved table: knbs_knbs_batch_104_194448_quarterly_balance__tab2 (9 rows)\n",
"2025-12-22 16:34:30,660 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:34:30,975 - -> Saved table: knbs_knbs_batch_104_194448_quarterly_balance__tab3 (33 rows)\n",
"2025-12-22 16:34:32,031 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:34:32,519 - -> Saved table: knbs_knbs_batch_104_194448_quarterly_balance__tab4 (5 rows)\n",
"2025-12-22 16:34:33,586 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:34:33,932 - -> Saved table: knbs_knbs_batch_104_194448_quarterly_balance__tab5 (50 rows)\n",
"2025-12-22 16:34:35,109 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:34:35,455 - -> Saved table: knbs_knbs_batch_104_194448_quarterly_balance__tab6 (34 rows)\n",
"2025-12-22 16:34:36,938 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"2025-12-22 16:34:36,940 - โ Failed knbs_batch_104_194448_quarterly_balance_of_payments_-_third_quarter_2021.md: A column with name 'oct___dec' is already present in table 'knbs_knbs_batch_104_194448_quarterly_balance__tab7'.\n",
"2025-12-22 16:34:36,941 - ๐ Processing knbs_batch_104_194448_quarterly_balance_of_payments_-_third_quarter_2022.md...\n",
"2025-12-22 16:34:36,972 - found 10 tables.\n",
"2025-12-22 16:34:37,964 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:34:38,295 - -> Saved table: knbs_knbs_batch_104_194448_quarterly_balance__tab0 (30 rows)\n",
"2025-12-22 16:34:39,297 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:34:39,583 - -> Saved table: knbs_knbs_batch_104_194448_quarterly_balance__tab1 (14 rows)\n",
"2025-12-22 16:34:40,710 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:34:41,154 - -> Saved table: knbs_knbs_batch_104_194448_quarterly_balance__tab2 (23 rows)\n",
"2025-12-22 16:34:42,219 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:34:42,595 - -> Saved table: knbs_knbs_batch_104_194448_quarterly_balance__tab3 (29 rows)\n",
"2025-12-22 16:34:43,514 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:34:43,918 - -> Saved table: knbs_knbs_batch_104_194448_quarterly_balance__tab4 (19 rows)\n",
"2025-12-22 16:34:44,781 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:34:45,223 - -> Saved table: knbs_knbs_batch_104_194448_quarterly_balance__tab5 (52 rows)\n",
"2025-12-22 16:34:46,183 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"2025-12-22 16:34:46,577 - -> Saved table: knbs_knbs_batch_104_194448_quarterly_balance__tab6 (31 rows)\n",
"2025-12-22 16:34:47,647 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:34:47,993 - -> Saved table: knbs_knbs_batch_104_194448_quarterly_balance__tab7 (69 rows)\n",
"2025-12-22 16:34:48,777 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:34:49,156 - -> Saved table: knbs_knbs_batch_104_194448_quarterly_balance__tab8 (54 rows)\n",
"2025-12-22 16:34:50,170 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"2025-12-22 16:34:50,332 - -> Saved table: knbs_knbs_batch_104_194448_quarterly_balance__tab9 (37 rows)\n",
"2025-12-22 16:34:50,332 - ๐ Processing knbs_batch_104_194448_quarterly_balance_of_payments__first_quarter_2025.md...\n",
"2025-12-22 16:34:50,358 - found 8 tables.\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:34:51,183 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:34:51,518 - -> Saved table: knbs_knbs_batch_104_194448_quarterly_balance__tab0 (13 rows)\n",
"2025-12-22 16:34:52,448 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:34:52,890 - -> Saved table: knbs_knbs_batch_104_194448_quarterly_balance__tab1 (35 rows)\n",
"2025-12-22 16:34:53,857 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"2025-12-22 16:34:54,223 - -> Saved table: knbs_knbs_batch_104_194448_quarterly_balance__tab2 (19 rows)\n",
"2025-12-22 16:34:55,205 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"2025-12-22 16:34:55,623 - -> Saved table: knbs_knbs_batch_104_194448_quarterly_balance__tab3 (34 rows)\n",
"2025-12-22 16:34:57,150 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"2025-12-22 16:34:57,153 - โ Failed knbs_batch_104_194448_quarterly_balance_of_payments__first_quarter_2025.md: A column with name 'jan_mar_2025' is already present in table 'knbs_knbs_batch_104_194448_quarterly_balance__tab4'.\n",
"2025-12-22 16:34:57,153 - ๐ Processing knbs_batch_104_194448_quarterly_balance_of_payments__second_quarter_2024.md...\n",
"2025-12-22 16:34:57,182 - found 10 tables.\n",
"2025-12-22 16:34:58,041 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:34:58,508 - -> Saved table: knbs_knbs_batch_104_194448_quarterly_balance__tab0 (21 rows)\n",
"2025-12-22 16:34:59,353 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:34:59,883 - -> Saved table: knbs_knbs_batch_104_194448_quarterly_balance__tab1 (16 rows)\n",
"2025-12-22 16:35:00,805 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"2025-12-22 16:35:00,807 - โ Failed knbs_batch_104_194448_quarterly_balance_of_payments__second_quarter_2024.md: A column with name 'q4_2023' is already present in table 'knbs_knbs_batch_104_194448_quarterly_balance__tab2'.\n",
"2025-12-22 16:35:00,807 - ๐ Processing knbs_batch_104_194448_quarterly_balance_of_payments__second_quarter_2025.md...\n",
"2025-12-22 16:35:00,832 - found 10 tables.\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:35:02,014 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:35:02,661 - -> Saved table: knbs_knbs_batch_104_194448_quarterly_balance__tab0 (30 rows)\n",
"2025-12-22 16:35:03,461 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:35:03,883 - -> Saved table: knbs_knbs_batch_104_194448_quarterly_balance__tab1 (13 rows)\n",
"2025-12-22 16:35:04,943 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:35:05,239 - -> Saved table: knbs_knbs_batch_104_194448_quarterly_balance__tab2 (24 rows)\n",
"2025-12-22 16:35:06,283 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"2025-12-22 16:35:06,955 - -> Saved table: knbs_knbs_batch_104_194448_quarterly_balance__tab3 (32 rows)\n",
"2025-12-22 16:35:07,913 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:35:08,596 - -> Saved table: knbs_knbs_batch_104_194448_quarterly_balance__tab4 (18 rows)\n",
"2025-12-22 16:35:09,623 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"2025-12-22 16:35:10,128 - -> Saved table: knbs_knbs_batch_104_194448_quarterly_balance__tab5 (42 rows)\n",
"2025-12-22 16:35:11,175 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"2025-12-22 16:35:11,596 - -> Saved table: knbs_knbs_batch_104_194448_quarterly_balance__tab6 (72 rows)\n",
"2025-12-22 16:35:13,055 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:35:13,476 - -> Saved table: knbs_knbs_batch_104_194448_quarterly_balance__tab7 (52 rows)\n",
"2025-12-22 16:35:14,524 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:35:14,984 - -> Saved table: knbs_knbs_batch_104_194448_quarterly_balance__tab8 (40 rows)\n",
"2025-12-22 16:35:15,784 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"2025-12-22 16:35:15,788 - โ Failed knbs_batch_104_194448_quarterly_balance_of_payments__second_quarter_2025.md: A column with name 'nan' is already present in table 'knbs_knbs_batch_104_194448_quarterly_balance__tab9'.\n",
"2025-12-22 16:35:15,788 - ๐ Processing knbs_batch_104_194448_quarterly_balance_of_payments__third_quarter_2023.md...\n",
"2025-12-22 16:35:15,819 - found 12 tables.\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:35:16,495 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"2025-12-22 16:35:17,107 - -> Saved table: knbs_knbs_batch_104_194448_quarterly_balance__tab0 (20 rows)\n",
"2025-12-22 16:35:17,986 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:35:18,646 - -> Saved table: knbs_knbs_batch_104_194448_quarterly_balance__tab1 (13 rows)\n",
"2025-12-22 16:35:19,811 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:35:20,193 - -> Saved table: knbs_knbs_batch_104_194448_quarterly_balance__tab2 (24 rows)\n",
"2025-12-22 16:35:20,426 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:35:20,853 - -> Saved table: knbs_knbs_batch_104_194448_quarterly_balance__tab3 (3 rows)\n",
"2025-12-22 16:35:21,599 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"2025-12-22 16:35:21,616 - โ Failed knbs_batch_104_194448_quarterly_balance_of_payments__third_quarter_2023.md: A column with name 'year_n_a' is already present in table 'knbs_knbs_batch_104_194448_quarterly_balance__tab4'.\n",
"2025-12-22 16:35:21,617 - ๐ Processing knbs_batch_104_194448_quarterly_balance_of_payments__third_quarter_2024.md...\n",
"2025-12-22 16:35:21,647 - found 9 tables.\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n",
":39: FutureWarning: Series.__getitem__ treating keys as positions is deprecated. In a future version, integer keys will always be treated as labels (consistent with DataFrame behavior). To access a value by position, use `ser.iloc[pos]`\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:35:22,639 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:35:22,964 - -> Saved table: knbs_knbs_batch_104_194448_quarterly_balance__tab0 (29 rows)\n",
"2025-12-22 16:35:23,838 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:35:24,197 - -> Saved table: knbs_knbs_batch_104_194448_quarterly_balance__tab1 (16 rows)\n",
"2025-12-22 16:35:24,833 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:35:25,189 - -> Saved table: knbs_knbs_batch_104_194448_quarterly_balance__tab2 (33 rows)\n",
"2025-12-22 16:35:26,098 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:35:26,467 - -> Saved table: knbs_knbs_batch_104_194448_quarterly_balance__tab3 (20 rows)\n",
"2025-12-22 16:35:27,577 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:35:28,029 - -> Saved table: knbs_knbs_batch_104_194448_quarterly_balance__tab4 (34 rows)\n",
"2025-12-22 16:35:29,765 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:35:30,238 - -> Saved table: knbs_knbs_batch_104_194448_quarterly_balance__tab5 (65 rows)\n",
"2025-12-22 16:35:31,919 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:35:32,316 - -> Saved table: knbs_knbs_batch_104_194448_quarterly_balance__tab6 (72 rows)\n",
"2025-12-22 16:35:33,042 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:35:33,428 - -> Saved table: knbs_knbs_batch_104_194448_quarterly_balance__tab7 (42 rows)\n",
"2025-12-22 16:35:34,340 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:35:34,777 - -> Saved table: knbs_knbs_batch_104_194448_quarterly_balance__tab8 (39 rows)\n",
"2025-12-22 16:35:34,777 - ๐ Processing knbs_batch_104_194448_trade_statistics_bulletin_-_first_quarter_2022.md...\n",
"2025-12-22 16:35:34,782 - ๐ Processing knbs_batch_104_194448_trade_statistics_bulletin_-_first_quarter_2024.md...\n",
"2025-12-22 16:35:34,792 - found 6 tables.\n",
"2025-12-22 16:35:35,287 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"2025-12-22 16:35:35,488 - -> Saved table: knbs_knbs_batch_104_194448_trade_statistics_b_tab0 (3 rows)\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:35:35,932 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"2025-12-22 16:35:36,075 - -> Saved table: knbs_knbs_batch_104_194448_trade_statistics_b_tab1 (3 rows)\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:35:36,457 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"2025-12-22 16:35:36,700 - -> Saved table: knbs_knbs_batch_104_194448_trade_statistics_b_tab2 (5 rows)\n",
"2025-12-22 16:35:37,190 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"2025-12-22 16:35:37,353 - -> Saved table: knbs_knbs_batch_104_194448_trade_statistics_b_tab3 (4 rows)\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:35:37,765 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"2025-12-22 16:35:37,902 - -> Saved table: knbs_knbs_batch_104_194448_trade_statistics_b_tab5 (3 rows)\n",
"2025-12-22 16:35:37,902 - ๐ Processing knbs_batch_105_194456_2024-gross-county-product.md...\n",
"2025-12-22 16:35:37,953 - found 24 tables.\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:35:38,198 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"2025-12-22 16:35:38,363 - -> Saved table: knbs_knbs_batch_105_194456_2024_gross_county__tab0 (2 rows)\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:35:38,605 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"2025-12-22 16:35:38,716 - -> Saved table: knbs_knbs_batch_105_194456_2024_gross_county__tab1 (19 rows)\n",
"2025-12-22 16:35:38,955 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"2025-12-22 16:35:39,110 - -> Saved table: knbs_knbs_batch_105_194456_2024_gross_county__tab2 (8 rows)\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:35:39,367 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"2025-12-22 16:35:39,521 - -> Saved table: knbs_knbs_batch_105_194456_2024_gross_county__tab3 (7 rows)\n",
"2025-12-22 16:35:39,762 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"2025-12-22 16:35:39,905 - -> Saved table: knbs_knbs_batch_105_194456_2024_gross_county__tab4 (2 rows)\n",
"2025-12-22 16:35:40,594 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"2025-12-22 16:35:40,794 - -> Saved table: knbs_knbs_batch_105_194456_2024_gross_county__tab5 (51 rows)\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:35:41,100 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"2025-12-22 16:35:41,218 - -> Saved table: knbs_knbs_batch_105_194456_2024_gross_county__tab6 (49 rows)\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:35:42,287 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"2025-12-22 16:35:42,409 - -> Saved table: knbs_knbs_batch_105_194456_2024_gross_county__tab7 (26 rows)\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:35:42,791 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"2025-12-22 16:35:42,933 - -> Saved table: knbs_knbs_batch_105_194456_2024_gross_county__tab8 (49 rows)\n",
"2025-12-22 16:35:43,474 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"2025-12-22 16:35:43,601 - -> Saved table: knbs_knbs_batch_105_194456_2024_gross_county__tab9 (25 rows)\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
":39: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-22 16:35:44,145 - HTTP Request: POST http://127.0.0.1:25000/api/chat \"HTTP/1.1 200 OK\"\n",
"2025-12-22 16:35:44,253 - -> Saved table: knbs_knbs_batch_105_194456_2024_gross_county__tab10 (25 rows)\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"