Extending Streamlit usage to create data science applications and other type of applications
Writing a post or a book, it is to set a milestone to your thoughts. By the way, that is also one of the main advantage of the agile method with the Sprint concept, setting a time limit. As a consequence, empiricism and action has always my favor on theory. For sure, in digital, remaining theorical is sometimes to stay in a comfort zone with neither validation nor invalidation from the battlefield. That is a way to grow the virus of inaction that lead to impotence! Wow… sounds angry 🙂 No, let’s say, I am more weary, weary of chilly people exhausting you with formal prerequisites that will never be satisfied. I believe that these so-called prerequisites mostly reveal fear for uncertainty! But, once for all, let’s take it for granted: the place of the unforeseen cannot be eliminated. Human actions and thought are always stricken with incompleteness! That being said, it is also wised not to act without thinking, even though your thoughts are confused.
You can find the code on my github account:
- Extending Streamlit usage: https://github.com/bflaven/BlogArticlesExamples/tree/master/extending_streamlit_usage
You can watch the videos related to this article:
- Part 1 Extending Streamlit Usage – Discovering and using Python with SQlite through the console and with sqlitebrowser
- Part 2 Extending Streamlit Usage – Create a CRUD countries manager with Streamlit
- Part 3 Extending Streamlit Usage – Using Streamlit as a Wireframing Tool
That is exactly my situation, by learning python, I do not know what exactly I am looking for in the first place but discovering Streamlit step by step has become a win-win game where:
- I deepen my knowledge and practices of Python for real purpose.
- I explore possibilities of Datascience and ML.
- And create a whole series of web applications sometimes far beyond the data science perimeter!
Indeed, for my own work, as an autodidact in computer science, I do not respect any constraints except my imagination! Streamlit is announced as being the fastest way to build custom ML tool but it has also the potential to become much more than that.
It has definitely the potential to change the way you can create, build and share tools because it’s so plain simple to use.
Some take-aways from this exploration
From this multipurpose Streamlit exploration, I can withdraw several assets :
- Keep Exploring NLP and Streamlit: Still making NLP experience with Spacy. I have made some attempts with NLP usage on theater play written by my sister in a 99 project experiment.
Source : http://www.the99project.net/2021/04/09/99-ambitieuses-2/
- Best way to Leverage, Optimize and Automate any kind of P.O Work into an webapp: This approach fits perfectly with Streamlit. Anything that streamline my tasks both dull or absorbing work by processing it with a creative turn-to-key tools build on top of Streamlit is welcome! With Streamlit, I may have found the “Graal” and the Sky seems to be the limit!
- Streamlit as a Wireframing Tool: I am definitly a Wireframing fanatic! As a PO, I always try create a “user experience cinematic” to explain the feature that I want to be developed. To do this, I use numerous software such as Balsamiq, OmniGraffle, Axure… and release sometime movies out of it to show and explain as much as possible what I want. In a way, reading my tickets in Jira is more like going to the movie. In the future, I may straighly leverage on Streamlit to expose what I want in terms of UX. Building directly the app replace a real sketch. This might help me to remove all the unnecessary, annoying or confusing elements that detract developpers. Streamlit will provide me “UX fat-free” app…
- Introducing Submit button and Forms 📃
- Designing Streamlit Apps for the User
Some command to install some librairies via pip or anaconda.
# go to any dir if you are using anaconda cd /path/ # install spacy for efficiency python -m spacy download fr_core_news_sm # spacy.load('fr_core_news_sm'); # install spacy for accuracy python -m spacy download fr_dep_news_trf # spacy.load('fr_dep_news_trf');
pip install -U pip setuptools wheel pip install -U spacy python -m spacy download en_core_web_sm python -m spacy download fr_core_news_sm
python -m spacy validate
pip install pysqlite3 pip install db-sqlite3
- explosion – spacy-streamlit
- Turn Python Scripts into Beautiful ML Tools
- Awesome Streamlit
- TextBlob: Simplified Text Processing
- Text Analysis in Python 3 by geeksforgeeks.org
- Tutorial: Text Classification in Python Using spaCy
- Excellent Intermediate Python Tutorials from realpython.com
- Excellent Advanced Python Tutorials from realpython.com
- One of the best and educational tutorials on NLP – Natural Language Processing With spaCy in Python
- A french text, source of some work – 99 ambitieuses – Récit collectif
- Text Mining in Python: Steps and Examples
- Text Analytics for Beginners using NLTK
- Text Analysis post by monkeylearn.com
- Ultimate guide to deal with Text Data (using Python) – for Data Scientists and Engineers
- A Beginner’s Guide to Exploratory Data Analysis (EDA) on Text Data (Amazon Case Study)
- Text Analysis in Python for Social Scientists by Dirk Hovy
- Why You Should Do Text Analysis in Python (Even if You Don’t Want to) – Bhargav Srinivasa Desikan
- Text Preprocessing in Python: Steps, Tools, and Examples
- How to Clean Text for Machine Learning with Python (working with Metamorphosis by Franz Kafka)
- PhantomInsights – mexican-government-report
- TextBlob is a Python (2 and 3) library for processing textual data. https://textblob.readthedocs.io/en/dev/
- Github Results search on “Spacy&type=Repositories”
- Github Results search on “Spacy+Jupyter&type=Repositories”
- Github Results search on “spacy+extracting&type=Repositories”
- Github Results search on “Jupyter+Notebook&q=spacy&type=Repositoriess”
- Rishabbh-Sahu – extractive_summarization
- spacy-streamlit: spaCy building blocks for Streamlit apps
- Introduction to spaCy for NLP and Machine Learning
- spaCy tuTorial
- Text Data Analysis for CoMeDiAnS- NLP Project
- jbnunn – spaCy-Notebooks
- Hacking Buddhist Texts with NLP
- DerwenAI – spaCy_tuTorial
- giancarlotorres22 – nlp-projeto-2
- Applied Language Technology (University of Helsinki)
- Natural Language Recipe Ingredient Parser using SpaCy
- dewadkar – LegalNER
- srstevenson – keyword-extractor
- Chunking text and comparing similarities to extract insights from free text.
- Adding a custom tokenizer to spaCy and extracting keywords
- explosion – spacy-transformers
- How to Build a UI for your Model using Streamlit
- JCharis Jesse
- How to Add Layout to Streamlit Apps
- Awesome Streamlit Awesome
- This gallery contains a selection of examples of the plots Altair can create.
- Reference Gallery – Bokeh
- pentoai / streamlit-terran-timeline
- Voilà Dashboards – Dashboarding with Jupyter
- Datacamp – Argument Parsing in Python
- How to Execute a Python File with Arguments in Python?
- 10 tips for passing arguments to Python script
- 🏆 A ranked gallery of awesome streamlit apps built by the community
- “how to install sqlite3 in python” Code Answer’s
- Power Thesaurus
- Masanobu Fukuoka
- Bill Mollison
- David Holmgren
- Mu (zen)
- Qu’est-ce que la contingence ? (French)
- Transidentité (French)