From c3939272cccad8385b7805f157511e97f2e60fa3 Mon Sep 17 00:00:00 2001 From: Aravindha1234u Date: Thu, 1 Oct 2020 15:49:40 +0530 Subject: [PATCH 1/3] Updated Covid19 Dashboard app --- Scripts/Covidin Dashboard/README.md | 24 +++++++++++++++++ Scripts/Covidin Dashboard/covid19.py | 31 ++++++++++++++++++++++ Scripts/Covidin Dashboard/requirements.txt | 4 +++ 3 files changed, 59 insertions(+) create mode 100644 Scripts/Covidin Dashboard/README.md create mode 100644 Scripts/Covidin Dashboard/covid19.py create mode 100644 Scripts/Covidin Dashboard/requirements.txt diff --git a/Scripts/Covidin Dashboard/README.md b/Scripts/Covidin Dashboard/README.md new file mode 100644 index 000000000..1b3144867 --- /dev/null +++ b/Scripts/Covidin Dashboard/README.md @@ -0,0 +1,24 @@ +# COVID19 Dashboard using Streamlit +This is app built with streamlit framework to display live covid19 data across the world with help of api.covid19api.com as data source. + +### Prerequisites +* streamlit +* requests +* pytablewriter +* datetime + +or + +`pip3 install requirements.txt` + +### How to run the script + +`streamlit run covid19.py` + +Visit Local URL: http://localhost:8501 to view the app. + +### Screenshot +![Screenshot](https://i.imgur.com/zJQhxTq.png) + +## *Author Name* +[Aravindha Hariharan M](https://aravindha1234u.github.io) diff --git a/Scripts/Covidin Dashboard/covid19.py b/Scripts/Covidin Dashboard/covid19.py new file mode 100644 index 000000000..0c52b7e4a --- /dev/null +++ b/Scripts/Covidin Dashboard/covid19.py @@ -0,0 +1,31 @@ +import streamlit as st +import requests +from pytablewriter import MarkdownTableWriter +from datetime import datetime + +response = requests.get('https://api.covid19api.com/summary') +data = response.json() + +st.markdown(MarkdownTableWriter( + table_name="Covid19 Worldwide Data", + headers=["Total Confirmed", "Total Recovered", "Total Deaths"], + value_matrix=[[data['Global']['TotalConfirmed'], data['Global']['TotalRecovered'], data['Global']['TotalDeaths']]], +)) +st.write("") +st.write("**Last Updated Time: {} **".format(datetime.strptime(data['Date'][:-1],"%Y-%m-%dT%H:%M:%S").strftime("%b %d %Y %H:%M:%S"))) + + +st.write("") +country = st.text_input("Enter Country Name:","") + +table_data = [ [i['Country'],i['TotalConfirmed'],i['TotalRecovered'],i['TotalDeaths']] for i in data['Countries'] ] + +if country != "": + table_data=[] + table_data = [ [i['Country'],i['TotalConfirmed'],i['TotalRecovered'],i['TotalDeaths']] for i in data['Countries'] if i['Country'].lower() == country.lower() ] + +st.markdown(MarkdownTableWriter( + table_name="CountryWise Data", + headers=["Country Name", "Confirmed", "Recovered", "Deaths"], + value_matrix=table_data, +)) \ No newline at end of file diff --git a/Scripts/Covidin Dashboard/requirements.txt b/Scripts/Covidin Dashboard/requirements.txt new file mode 100644 index 000000000..fec6af830 --- /dev/null +++ b/Scripts/Covidin Dashboard/requirements.txt @@ -0,0 +1,4 @@ +streamlit +requests +pytablewriter +datetime \ No newline at end of file From e2ec2a1d17f030cf2ce88ae79c7efe3979b7e603 Mon Sep 17 00:00:00 2001 From: Aravindha1234u Date: Thu, 1 Oct 2020 16:17:42 +0530 Subject: [PATCH 2/3] Changes Made to Covid19 app --- Scripts/Covidin Dashboard/requirements.txt | 4 ---- .../{ => Miscellaneous}/Covidin Dashboard/README.md | 0 .../{ => Miscellaneous}/Covidin Dashboard/covid19.py | 12 +++++++----- .../Miscellaneous/Covidin Dashboard/requirements.txt | 3 +++ 4 files changed, 10 insertions(+), 9 deletions(-) delete mode 100644 Scripts/Covidin Dashboard/requirements.txt rename Scripts/{ => Miscellaneous}/Covidin Dashboard/README.md (100%) rename Scripts/{ => Miscellaneous}/Covidin Dashboard/covid19.py (70%) create mode 100644 Scripts/Miscellaneous/Covidin Dashboard/requirements.txt diff --git a/Scripts/Covidin Dashboard/requirements.txt b/Scripts/Covidin Dashboard/requirements.txt deleted file mode 100644 index fec6af830..000000000 --- a/Scripts/Covidin Dashboard/requirements.txt +++ /dev/null @@ -1,4 +0,0 @@ -streamlit -requests -pytablewriter -datetime \ No newline at end of file diff --git a/Scripts/Covidin Dashboard/README.md b/Scripts/Miscellaneous/Covidin Dashboard/README.md similarity index 100% rename from Scripts/Covidin Dashboard/README.md rename to Scripts/Miscellaneous/Covidin Dashboard/README.md diff --git a/Scripts/Covidin Dashboard/covid19.py b/Scripts/Miscellaneous/Covidin Dashboard/covid19.py similarity index 70% rename from Scripts/Covidin Dashboard/covid19.py rename to Scripts/Miscellaneous/Covidin Dashboard/covid19.py index 0c52b7e4a..26693bf88 100644 --- a/Scripts/Covidin Dashboard/covid19.py +++ b/Scripts/Miscellaneous/Covidin Dashboard/covid19.py @@ -3,29 +3,31 @@ from pytablewriter import MarkdownTableWriter from datetime import datetime -response = requests.get('https://api.covid19api.com/summary') +response = requests.get('https://api.covid19api.com/summary') #Get Request to pull down data from Covid19 data source data = response.json() st.markdown(MarkdownTableWriter( table_name="Covid19 Worldwide Data", headers=["Total Confirmed", "Total Recovered", "Total Deaths"], value_matrix=[[data['Global']['TotalConfirmed'], data['Global']['TotalRecovered'], data['Global']['TotalDeaths']]], -)) +)) # To form a Table for Live World data stat + st.write("") st.write("**Last Updated Time: {} **".format(datetime.strptime(data['Date'][:-1],"%Y-%m-%dT%H:%M:%S").strftime("%b %d %Y %H:%M:%S"))) - +# To Display the date & time of Last updated data of Covid19 Reports st.write("") -country = st.text_input("Enter Country Name:","") +country = st.text_input("Enter Country Name:","") # Input to filter according to country name table_data = [ [i['Country'],i['TotalConfirmed'],i['TotalRecovered'],i['TotalDeaths']] for i in data['Countries'] ] if country != "": table_data=[] table_data = [ [i['Country'],i['TotalConfirmed'],i['TotalRecovered'],i['TotalDeaths']] for i in data['Countries'] if i['Country'].lower() == country.lower() ] +# If country name is not entered then display all Country st.markdown(MarkdownTableWriter( table_name="CountryWise Data", headers=["Country Name", "Confirmed", "Recovered", "Deaths"], value_matrix=table_data, -)) \ No newline at end of file +)) # table to display countrywise count reports \ No newline at end of file diff --git a/Scripts/Miscellaneous/Covidin Dashboard/requirements.txt b/Scripts/Miscellaneous/Covidin Dashboard/requirements.txt new file mode 100644 index 000000000..91bb07b37 --- /dev/null +++ b/Scripts/Miscellaneous/Covidin Dashboard/requirements.txt @@ -0,0 +1,3 @@ +streamlit +requests +pytablewriter \ No newline at end of file From 84ee62ebec2893cc6cd42b2ffdf4ab7fa4d563ed Mon Sep 17 00:00:00 2001 From: Aditya Jetely Date: Thu, 1 Oct 2020 16:42:20 +0530 Subject: [PATCH 3/3] Update covid19.py --- Scripts/Miscellaneous/Covidin Dashboard/covid19.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Scripts/Miscellaneous/Covidin Dashboard/covid19.py b/Scripts/Miscellaneous/Covidin Dashboard/covid19.py index 26693bf88..44530c8bb 100644 --- a/Scripts/Miscellaneous/Covidin Dashboard/covid19.py +++ b/Scripts/Miscellaneous/Covidin Dashboard/covid19.py @@ -3,7 +3,7 @@ from pytablewriter import MarkdownTableWriter from datetime import datetime -response = requests.get('https://api.covid19api.com/summary') #Get Request to pull down data from Covid19 data source +response = requests.get('https://api.covid19api.com/summary') # Get Request to pull down data from Covid19 data source data = response.json() st.markdown(MarkdownTableWriter( @@ -30,4 +30,4 @@ table_name="CountryWise Data", headers=["Country Name", "Confirmed", "Recovered", "Deaths"], value_matrix=table_data, -)) # table to display countrywise count reports \ No newline at end of file +)) # table to display countrywise count reports