1 Introduction to Streamlit
This chapter covers
- Why you'd want to build web apps
- What exactly Streamlit is, and why it's so popular
- How Streamlit's ease-of-use, LLM-friendliness, and other factors make it popular
- How Streamlit is different from other similar technologies
- What you can (and can't) build with Streamlit
Welcome to the exciting realm of Streamlit! By picking up this book, you've joined the ranks of thousands of developers who have discovered Streamlit over the past several years. These developers have become enamored with what Streamlit makes possible: web apps coded entirely in Python in mere minutes!
Take a second to think about why you were drawn to this book. Maybe you have an idea buzzing in your head for an application that will save your coworkers hours of mundane, easy-to-automate tasks, and you want the fastest way to turn it into reality. Maybe you're aiming to land a job in tech and want to close a gap in your skillset by adding frontend development. Perhaps you're a data analyst or scientist wanting to present your findings in interactive dashboards for higher-ups. Or you might be a software engineer needing a quick way to prototype your apps. Perhaps you simply heard the buzz around Streamlit and AI and were curious.
1.1 Building web apps
1.1.1 Why build a graphical app in the first place?
1.1.2 Why build apps for the web?
1.1.3 What do you need to build a web app?
1.2 What is Streamlit?
1.3 10 reasons Streamlit is so popular
1.3.1 Streamlit is pure Python
1.3.2 Streamlit lets you go from idea to app in minutes
1.3.3 Streamlit makes beautiful apps
1.3.4 Streamlit lets you focus on your app, not UI details
1.3.5 Streamlit's syntax is simple, concise, and intuitive
1.3.6 Streamlit is great with LLMs
1.3.7 You can share your Streamlit apps for free, in record time
1.3.8 Streamlit has a huge, friendly community
1.3.9 Streamlit has excellent support for data science and visualizations
1.3.10 You can extend Streamlit with third-party components or build your own
1.4 What can you build with Streamlit?
1.4.1 Data applications
1.4.2 Internal tools for your workplace
1.4.3 Apps that use Generative AI like LLMs
1.4.4 Prototypes for large apps
1.4.5 Anything else you can dream up
1.5 What not to use Streamlit for
1.5.1 Complex, large-scale applications
1.5.2 Apps that require a high degree of UI customization
1.5.3 Native desktop or mobile apps
1.6 How is Streamlit different from other technologies?
1.6.1 Jupyter notebooks
1.6.2 HTML, CSS and Javascript
1.6.3 React
1.6.4 Flask and Django
1.6.5 Tkinter and PyQt
1.7 Learning through projects
1.7.1 An interactive metrics dashboard