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

Summary

Great job! Deploying the Covid-19 Detection Tool app was complex. As we saw, there are many potential problems to avoid.

First of all, we needed to recreate the same structure of files and directories that were used in the Python code, and not forget to also include the picture files in the GitHub repository.

The second problem was allowing Streamlit Cloud to manage all the dependencies related to opencv. To do this, it was necessary to add a packages.txt file to the repository containing the instructions to get these dependencies.

Finally, we found out that GitHub – at least its online version – only manages files that are smaller than 25 MB, but sometimes, such as with the CNN AI model, we need to upload bigger files. This operation requires us to install the GitHub Desktop application and the local (on our computers) cloning of the repository. Once we have the repository on our computers, we can add this big file and push it back toward the origin...