Skip to content

Test #13

@rakib06

Description

@rakib06
"""
HyperBI - Offline Tableau-like Business Intelligence Platform
============================================================
A complete offline BI tool built with Streamlit, Plotly, Pandas,
and the Tableau Hyper API. No internet or Tableau Desktop required.
"""

import streamlit as st
import os
import sys

# ─── Page Configuration (must be first Streamlit call) ───────────────────────
st.set_page_config(
    page_title="HyperBI Studio",
    page_icon="📊",
    layout="wide",
    initial_sidebar_state="expanded",
    menu_items={
        "Get Help": None,
        "Report a bug": None,
        "About": "HyperBI Studio — Offline BI Platform v1.0",
    },
)

# ─── Path setup ──────────────────────────────────────────────────────────────
ROOT = os.path.dirname(os.path.abspath(__file__))
sys.path.insert(0, ROOT)

from components.session import init_session
from components.theme import apply_theme, render_header
from components.sidebar import render_sidebar

# ─── Initialize session state ────────────────────────────────────────────────
init_session()

# ─── Apply theme ─────────────────────────────────────────────────────────────
apply_theme()

# ─── Sidebar navigation ──────────────────────────────────────────────────────
page = render_sidebar()

# ─── Page routing ────────────────────────────────────────────────────────────
render_header()

if page == "🏠 Home":
    from pages.home import render
    render()
elif page == "🗄️ Database":
    from pages.database import render
    render()
elif page == "📋 Table Explorer":
    from pages.explorer import render
    render()
elif page == "💻 SQL Editor":
    from pages.sql_editor import render
    render()
elif page == "📤 CSV Import":
    from pages.csv_import import render
    render()
elif page == "📊 Dashboard Builder":
    from pages.dashboard import render
    render()
elif page == "📈 Analytics":
    from pages.analytics import render
    render()
elif page == "⚙️ Settings":
    from pages.settings import render
    render()

#app.py

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions