In this series of post we will be building several web applications using Streamlit. The plethora of apps we will be building will range from simple fun and useful apps to complex data science apps. Our main framework will be streamlit. So what is streamlit?
Streamlit is a powerful framework for build data apps as well as for ML Apps. It makes it easier to productize your machine learning models. In short Streamlit empowers data scientists and other forms of data workers to add an interactive UI to any part of the data science and Machine Learning life cycle.
By the end of these series of tutorials – which is going to be in the format of an app challenge or app project you will see how awesome Streamlit. By the end of this challenge you will be able to
- Grasps the basics of streamlit
- Build utility apps with Streamlit and Basic Python
- Build several data apps
The range of apps we will be build include but it is not limited to
- Generator Apps: Apps for randomly generating data such as names, password, etc
- Converter Apps: Apps for converting data from one format to another – eg LeetConverter App
- CRUD Apps: Using Create, Read, Update and Delete
- Predictive Analytics Apps (ML Apps): Apps with embedded ML for making predictions
- Recommender Apps
- Lookup and Search Apps: App that offers the functionality of lookup data
- NLP apps: Apps for Natural Language Processing
- API Integrated Apps
Aim and Purpose of Streamlit Projects Challenge
The main aim of this project is to
- Explore Streamlit as a framework for adding UI to any python utility function.
- Improve our Python skills
- Build Data Apps
- See the limits of Streamlit as a web framework
- Have the most useful collection of apps – ranging from data apps to utility apps that can act as a reference for Data Scientist, Web Developers and Computer Hobbyist
- Generate Revenue in kind and in cash.
Overview of App Workflow
The basic system we have adapted for this project as show in the image above is that all our apps will have these three sections. Which include
- Input Section: This includes using several streamlit widget such as st.text_input, st.text_area,st.number_input,st.file_uploader, etc to receive input from the user.
- Processing Section: This part involves using either python packages, functions, databases, datasets, serialized ML Models or an API to process the input being received from the user from the input section.
- Output Section: In here we will return the results to the user via streamlit features such as plots, dataframes,images,etc. This is where we display the end results to the user.
Tools & Resources
For these project we will use several tools, libraries and packages per the project. However in general we will be using these libraries. Most of these libraries are python packages that are pip installable.
- webgenesis: For generating web boiler plate/templates for streamlit, flask,etc
Most of the code and other resources will be available on Github, Udemy or our Youtube channel or on this site.
You can check out the full series of tutorials below
In case you have any issues or comments let us know in the various channels respectively. And if you are enjoying this challenge you can share and give us your feedback. Thank you
Happy Streamlit , Happy Hacking
By Jesse E.Agbe(JCharis)