Skip to content

✅ [TEMPLATE] - A production-ready template for building & deploying Streamlit apps with best practices and essential configurations. ⚡ Runs with uv

License

Notifications You must be signed in to change notification settings

cedanl/streamlit-app-template

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CEDA Streamlit App Template

🚀 A simple template to quickly build interactive data science applications!

Windows macOS Linux GitHub Last Commit GitHub License

📋 Overview

Note

Quick Start: Use Template → Clone Locally → uv Badge → Run uv run streamlit run src/main.py

The CEDA Streamlit App Template helps researchers and data scientists quickly build interactive web applications for data analysis and visualization. Perfect for creating:

  • Data analysis dashboards
  • Interactive visualizations
  • Machine learning demos
  • Research presentation tools

✨ Features

  • Ready-to-Use Structure: Pre-organized folders and files for instant development
  • User-Friendly Interface: Streamlit-based UI requiring no web development knowledge
  • Easy Page Creation: Add new pages with just a few lines of code
  • Professional Layout: Clean, organized project structure
  • uv Powered Setup: One-click installation that handles Python and dependencies automatically

🔧 First Time Setup

Warning

Do not skip these steps if this is your first time using this template. It will not work without them.

Tip

Save the repository in a Projects/CEDA folder on your main drive for quick access.

1. Get the Template

Option A: Use Template (For CEDA Members)

  1. Click the green "Use this template" button on GitHub
  2. Name your new app repository
  3. Choose Public or Private
  4. Click "Create repository"

Option B: Download ZIP

Download Template

After downloading, extract the ZIP file and navigate into the folder.

2. Install uv Badge

MacOS & Linux (Terminal)

curl -LsSf https://astral.sh/uv/install.sh | sh

Windows (Powershell or Windows Terminal)

powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"

Close and reopen your terminal after installation.

Verify installation

uv self update

🚀 Running Your App

Ready to see your app come to life? It's just one command away! ✨

First, get to the right spot:

Open a terminal in your app folder - it's super easy!

  • Windows: Shift + Right-click in folder → Open in Windows Terminal
  • Mac: Right-click folder → New Terminal at Folder
  • VS Code: Just click TerminalNew Terminal

Or navigate there:

cd path/to/your-app-folder

Then, launch with a single command:

uv run streamlit run src/main.py

That's it! Your app will automatically open in your browser. If you've completed the setup correctly, this is the only command you'll need going forward. 🎉


🎯 Building Your First App

Adding New Pages

  1. Create a new .py file in the src/frontend/ folder
  2. Add your page to the navigation in src/main.py
  3. Your page appears automatically in the sidebar!

Example Page Structure

import streamlit as st

def show():
    st.title("My New Page")
    st.write("Hello, world!")
    
    # Add your content here
    user_input = st.text_input("Enter something:")
    if user_input:
        st.success(f"You entered: {user_input}")

What You Can Build

  • Data Upload & Analysis: Let users upload CSV files and see instant insights
  • Interactive Charts: Build dynamic visualizations that respond to user input
  • Machine Learning Demos: Create interfaces for ML models and predictions
  • Research Dashboards: Display your research findings in an interactive format

🛠️ Built With

uv Badge Streamlit Badge Python Badge

🤲 Support

If you find this template helpful, please consider:

  • ⭐ Starring the repo
  • 🐛 Reporting bugs
  • 💡 Suggesting improvements
  • 💻 Contributing code

Need help? Feel free to open an issue or contact us at [email protected]

🙏 Contributors

Thank you to all the people who have contributed to this template.

🚦 License

GitHub License

About

✅ [TEMPLATE] - A production-ready template for building & deploying Streamlit apps with best practices and essential configurations. ⚡ Runs with uv

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •  

Languages