🚀 A simple template to quickly build interactive data science applications!
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
- 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
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.
- Click the green "Use this template" button on GitHub
- Name your new app repository
- Choose Public or Private
- Click "Create repository"
After downloading, extract the ZIP file and navigate into the folder.
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.
uv self update
Ready to see your app come to life? It's just one command away! ✨
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
Terminal
→New Terminal
Or navigate there:
cd path/to/your-app-folder
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. 🎉
- Create a new
.py
file in thesrc/frontend/
folder - Add your page to the navigation in
src/main.py
- Your page appears automatically in the sidebar!
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}")
- 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
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]
Thank you to all the people who have contributed to this template.