Book Image

Web App Development Made Simple with Streamlit

By : Rosario Moscato
Book Image

Web App Development Made Simple with Streamlit

By: Rosario Moscato

Overview of this book

This book is a comprehensive guide to the Streamlit open-source Python library and simplifying the process of creating web applications. Through hands-on guidance and realistic examples, you’ll progress from crafting simple to sophisticated web applications from scratch. This book covers everything from understanding Streamlit's central principles, modules, basic features, and widgets to advanced skills such as dealing with databases, hashes, sessions, and multipages. Starting with fundamental concepts like operation systems virtualization, IDEs, development environments, widgets, scripting, and the anatomy of web apps, the initial chapters set the groundwork. You’ll then apply this knowledge to develop some real web apps, gradually advancing to more complex apps, incorporating features like natural language processing (NLP), computer vision, dashboards with interactive charts, file uploading, and much more. The book concludes by delving into the implementation of advanced skills and deployment techniques. By the end of this book, you’ll have transformed into a proficient developer, equipped with advanced skills for handling databases, implementing secure login processes, managing session states, creating multipage applications, and seamlessly deploying them on the cloud.
Table of Contents (23 chapters)
Free Chapter
1
Part 1: Getting Started with Streamlit
5
Part 2: Building a Basic Web App for Essential Streamlit Skills
10
Part 3: Developing Advanced Skills with a Covid-19 Detection Tool
15
Part 4: Advanced Techniques for Secure and Customizable Web Applications

App skeleton building

First of all, we need a main function – a function that contains all the business logic of our app and the frontend too. This is the power of Streamlit – building the frontend directly inside Python code. There’s no need for different programming languages, files, and so on; everything is in one place using the same language. Writing this function is very easy – we can add the code shown in Figure 4.9:

Figure 4.9: Importing the necessary libraries and the main function

Figure 4.9: Importing the necessary libraries and the main function

The first part of the code is quite self-explanatory – we are just importing all the libraries that were introduced a couple of pages before. Just note that when we import matplotlib (the library needed for plotting), we are specifying that we wish to use the Agg engine (without this instruction, matplotlib would use its default engine). With Streamlit’s initial versions, this Agg engine used to work better, but with the very...