Spaces:
Sleeping
Sleeping
import streamlit as st | |
from config import DEFAULT_ICON | |
from shared_page import common_page_config | |
from dbt_data_client import get_db_conn, run_dbt_build, get_current_tables | |
def get_page(): | |
page_title = "Data Loader - dbt" | |
st.set_page_config(page_title=page_title, page_icon=DEFAULT_ICON, layout="wide") | |
common_page_config() | |
st.title(page_title) | |
with get_db_conn() as duckdb_conn: | |
current_tables_list = get_current_tables(duckdb_conn) | |
if st.button("Refresh Data"): | |
run_dbt_build() | |
if selected_table := st.selectbox("Describe a table:", current_tables_list, index=0): | |
with get_db_conn() as duckdb_conn: | |
describe_df = duckdb_conn.sql(f"DESCRIBE {selected_table}").df() | |
st.dataframe( | |
describe_df, | |
hide_index=True, | |
use_container_width=True, | |
) | |
if st.checkbox("Explore data"): | |
with get_db_conn() as duckdb_conn: | |
st.dataframe(duckdb_conn.sql(f"SELECT * FROM {selected_table} LIMIT 50").df()) | |
if __name__ == "__main__": | |
get_page() | |