Creating Data Apps using Python - FOSDEM

18
Creating Data Apps using Python Nithish Raghunandanan @nithishr 7th February 2021 FOSDEM’ 21

Transcript of Creating Data Apps using Python - FOSDEM

Page 1: Creating Data Apps using Python - FOSDEM

Creating Data Apps using Python

Nithish Raghunandanan@nithishr

7th February 2021FOSDEM’ 21

Page 2: Creating Data Apps using Python - FOSDEM

About Me

● Data Engineering ⚙

● Like to Prototype 🛠

● Build in

● Organize PyData Munich

● Love to Travel ✈

● Find me @nithishr

Page 3: Creating Data Apps using Python - FOSDEM

Wild West of Javascript

● Lots of Frameworks / Libraries

● Paradox of Choice

Page 4: Creating Data Apps using Python - FOSDEM

Streamlit

● Turn Data Scripts into Web Apps

● Interactive

● No Frontend Experience Required

● Easy to Deploy

Page 5: Creating Data Apps using Python - FOSDEM

Streamlit

Compatibility with Major Frameworks / Libraries

Page 6: Creating Data Apps using Python - FOSDEM

Streamlit Use Cases

● Creating an Interface for Machine Learning

● Visualizing Data

Page 7: Creating Data Apps using Python - FOSDEM

Interface for Machine Learning

Normal Workflow

● Build Model

● Light Wrapper in Flask /

FastAPI

● Frontend in HTML / JS / CSS

Streamlit Workflow

● Build Model

● Integrate Streamlit

Components for UI

Page 8: Creating Data Apps using Python - FOSDEM

Interface for Machine Learning

● Interface for Image Net

Image Classification

● 3 Lines of Streamlit Magic ✨

● Similar to CLI Parser

Demo: https://youtu.be/1y1o4XoFIuA

Page 9: Creating Data Apps using Python - FOSDEM

Visualizing Data

● Notebooks

● Presentations

● Scripts

● Code

● Reports in Tableau

● Web Apps?

Page 10: Creating Data Apps using Python - FOSDEM

Jupyter Notebooks

● Great for Experimentation

● Graphs & Visualizations

● Storytelling using Data

● Customize with Code

● “I don’t like notebooks” - Joel Grus

Page 11: Creating Data Apps using Python - FOSDEM

Can you Visualize your Google Maps Data?

Page 12: Creating Data Apps using Python - FOSDEM

Can you Visualize your Google Maps Data?

● Clean / Standardize Data

○ Latitude, Longitude, Timestamps

● Add Background Information

○ Images from

○ Random Images based on Location

● Histograms

● Heatmaps

Page 13: Creating Data Apps using Python - FOSDEM

Can you Visualize your Google Maps Data?

Page 14: Creating Data Apps using Python - FOSDEM

Can you Visualize your Google Maps Data?

Demo: https://youtu.be/ZFIviSlB4ZA

Page 15: Creating Data Apps using Python - FOSDEM

Alternatives

Pick your friend

Page 16: Creating Data Apps using Python - FOSDEM

Observations

Pros

● Interactive

● Customizable

● Deployment is easy

● Active Community

Cons

● No built in

Authentication

● Early stages of

Streamlit Sharing

Good to have for Data Scientists

Page 17: Creating Data Apps using Python - FOSDEM

Conclusion

● Great for Data Scientists

● Showcase Solutions

● No need to worry about

Javascript

Page 18: Creating Data Apps using Python - FOSDEM

References● Code:

○ Machine Learning UI https://github.com/nithishr/streamlit-ml-demo

○ Travel Data Visualization https://github.com/nithishr/streamlit-data-viz-demo

● Examples:○ Streamlit Gallery

Nithish Raghunandanan [email protected]@nithishr