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

Understanding the customized features of the file uploader

Uploading a file is a simple task. There are several ways to do it, and these different approaches have different effects on the so-called user experience: the way users perceive the application itself. Moreover, a better-implemented uploading feature can speed up the entire application, making things easier for the users. Let’s imagine that we want to upload a file containing text. It could be a .txt file, so a plain text file, but also a .docx file, a Microsoft Word file, or even a .pdf file. One approach is to ask the customer, what kind of file do you need to upload (.txtx, .docx, .pdf)? If the user replies .txt, the application will launch the file_uploader widget customized for this file format; if the answer is .docx, the file_uploader widget customized for Microsoft Word will be executed, and so on. This kind of approach works perfectly, but it’s a little bit too complex.

What if the user updated a...