1 Introduction to Streamlit

 

This chapter covers

  • What you need to build web apps and where Streamlit fits in
  • 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. You may 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. You may be 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 looking to present your findings in interactive dashboards for senior management. Or you might be a software engineer needing a quick way to prototype your apps. Perhaps you've simply heard about the buzz around Streamlit and AI and are curious.

1.1 Building web apps

1.1.1 What do you need to build a web app?

1.2 What is Streamlit?

1.3 Ten 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 Streamlit has excellent support for data science and visualizations

1.3.8 You can share your Streamlit apps for free, in record time

1.3.9 Streamlit has a huge, friendly community

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 Apps that use Generative AI like LLMs

1.4.3 Internal tools for your workplace

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, Django, and FastAPI

1.6.5 Tkinter and PyQt

1.7 Summary