building-streamlit-multipage-apps

Create multi-page Streamlit apps with st.navigation and st.session_state.

Updated Jan 12, 2026
One-click install
npx skills add https://github.com/oharato/databricks --skill building-streamlit-multipage-apps-oharato
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: building-streamlit-multipage-apps
Source: https://github.com/oharato/databricks/tree/main/.github/skills/developing-with-streamlit/skills/building-streamlit-multipage-apps
Command: npx skills add https://github.com/oharato/databricks --skill building-streamlit-multipage-apps-oharato

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This Skill provides a structured approach to building and organizing multi-page Streamlit applications, simplifying navigation and state management across different sections of your app.

Core Features & Use Cases

  • Multi-page Structure: Organize your Streamlit application into distinct pages.
  • Navigation: Implement flexible navigation options, including top navigation and sidebar menus.
  • State Management: Effectively manage shared and page-specific state across your application.
  • Use Case: Develop a complex data dashboard with separate pages for overview, detailed analytics, and user settings, ensuring a seamless user experience.

Quick Start

Organize your Streamlit app into multiple pages using the st.navigation API.

Frequently Asked Questions about building-streamlit-multipage-apps

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I build a multi-page Streamlit app?

Build a multi-page Streamlit app by structuring code into distinct page modules and using the `st.navigation` API to manage layout and routing. This approach simplifies navigation across different sections of your application.

How does state management work across multiple pages in Streamlit?

State management across multiple pages in Streamlit relies on `st.session_state` to persist data. It effectively manages shared and page-specific state, ensuring cross-page data persistence throughout the application.

Can I dynamically render Streamlit pages based on user roles?

Yes, you can dynamically render Streamlit pages based on user roles or application state. By structuring page modules and managing navigation, the app displays specific content according to the current user context.

What is the best way to add navigation to a complex Streamlit dashboard?

The best way to add navigation to a complex Streamlit dashboard is using the `st.navigation` API. It allows you to implement flexible navigation options, including both top navigation bars and sidebar menus.

Do I need to structure my code into separate modules for Streamlit multi-page apps?

Yes, structuring code into distinct page modules is required for Streamlit multi-page apps. This organization separates sections like overview and analytics, ensuring a seamless user experience and manageable state.