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

Installing and importing packages

To make our web application work properly, we need the following Python packages:

  • streamlit: This is the core – that is, the framework that makes the magic happen
  • textblob: This is a nice package for basic sentiment analysis and some other basic NLP tasks (NLP is how computers understand human language, its meaning, its syntax, and so on)
  • spacy: This is quite an advanced package; it’s state of the art and can be used for almost any NLP task
  • neattext: A very simple package for text cleaning
  • matplotlib: Python’s most famous package for plotting graphs, diagrams, and so on
  • wordcloud: A package dedicated to nice word cloud creation and visualizations

We can install all these packages in our virtual environment (so we must already be inside the virtual environment) by typing the following unique instruction:

pipenv install streamlit textblob spacy neattext matplotlib wordcloud

Please note that...