# Install required packages
!pip install streamlit pyngrok
Running Streamlit on Google Colab with pyngrok
# Create a simple Streamlit app
%%writefile app.py
import streamlit as st
import pandas as pd
import numpy as np
'Streamlit on Google Colab')
st.title('This app is running on Colab with pyngrok!')
st.write(
# Add some interactive elements
= st.slider('Select a number', 0, 100, 50)
number f'You selected: {number}')
st.write(
# Create sample data
= pd.DataFrame(
chart_data 20, 3),
np.random.randn(=['a', 'b', 'c']
columns
)
st.line_chart(chart_data)
# Set up ngrok authentication (optional but recommended)
# Get your free auth token from: https://dashboard.ngrok.com/get-started/your-authtoken
from pyngrok import ngrok
# Uncomment and add your token:
# ngrok.set_auth_token('YOUR_NGROK_AUTH_TOKEN')
# Run Streamlit with pyngrok
from pyngrok import ngrok
import subprocess
import threading
def run_streamlit():
'streamlit', 'run', 'app.py', '--server.port', '8501'])
subprocess.run([
# Start Streamlit in background thread
= threading.Thread(target=run_streamlit)
thread
thread.start()
# Create ngrok tunnel
= ngrok.connect(8501)
public_url print(f'\n✅ Streamlit app is running at: {public_url}')
print('Click the link above to access your app!')
# Alternative: One-liner approach
!streamlit run app.py &>/dev/null&
from pyngrok import ngrok
= ngrok.connect(8501)
public_url print(f'Streamlit URL: {public_url}')
# To kill the tunnel when done
ngrok.kill()