pip install streamlit pandas plotly tableauhyperapi
import streamlit as st
import pandas as pd
import plotly.express as px
from tableauhyperapi import HyperProcess, Connection
DATABASE = "test.hyper"
st.title("Hyper File Explorer")
query = st.text_area(
"SQL Query",
"SELECT * FROM Extract.Extract LIMIT 100"
)
if st.button("Run Query"):
with HyperProcess() as hyper:
with Connection(
endpoint=hyper.endpoint,
database=DATABASE
) as connection:
rows = connection.execute_list_query(query)
columns = [desc.name for desc in connection.catalog.get_table_definition(
"Extract.Extract"
).columns]
df = pd.DataFrame(rows, columns=columns)
st.dataframe(df)
if len(df.columns) >= 2:
x_col = st.selectbox("X Axis", df.columns)
y_col = st.selectbox("Y Axis", df.columns)
fig = px.bar(df, x=x_col, y=y_col)
st.plotly_chart(fig)