Summary Building well designed and easy to use web applications requires a significant amount of knowledge and experience across a range of domains. This can act as an impediment to engineers who primarily work in so-called back-end technologies such as machine learning and systems administration. In this episode Adrien Treuille describes how the Streamlit framework empowers anyone who is comfortable writing Python scripts to create beautiful applications to share their work and make it accessible to their colleagues and customers. If you have ever struggled with hacking together a simple web application to make a useful script self-service then give this episode a listen and then go experiment with how Streamlit can level up your work. Announcements Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great. When you’re ready to launch your next app or want to try a project you hear about on the show, you’ll need somewhere to deploy it, so take a look at our friends over at Linode. With 200 Gbit/s private networking, scalable shared block storage, node balancers, and a 40 Gbit/s public network, all controlled by a brand new API you’ve got everything you need to scale up. And for your tasks that need fast computation, such as training machine learning models, they just launched dedicated CPU instances. Go to pythonpodcast.com/linode to get a $20 credit and launch a new server in under a minute. And don’t forget to thank them for their continued support of this show! Having all of your logs and event data in one place makes your life easier when something breaks, unless that something is your Elastic Search cluster because it’s storing too much data. CHAOSSEARCH frees you from having to worry about data retention, unexpected failures, and expanding operating costs. They give you a fully managed service to search and analyze all of your logs in S3, entirely under your control, all for half the cost of running your own Elastic Search cluster or using a hosted platform. Try it out for yourself at pythonpodcast.com/chaossearch and don’t forget to thank them for supporting the show! You listen to this show to learn and stay up to date with the ways that Python is being used, including the latest in machine learning and data analysis. For even more opportunities to meet, listen, and learn from your peers you don’t want to miss out on this year’s conference season. We have partnered with organizations such as O’Reilly Media, Dataversity, Corinium Global Intelligence, Alluxio, and Data Council. Upcoming events include the combined events of the Data Architecture Summit and Graphorum, the Data Orchestration Summit, and Data Council in NYC. Go to pythonpodcast.com/conferences to learn more about these and other events, and take advantage of our partner discounts to save money when you register today. Your host as usual is Tobias Macey and today I’m interviewing Adrien Treuille about Streamlit, an open source app framework built for machine learning and data science teams Interview Introductions How did you get introduced to Python? Can you start by explaining what Streamlit is and its origin story? What are some of the types of applications that are commonly built by data teams and who are the typical consumers of those projects? What are some of the challenges or complications that are unique to this problem space? What are some of the complications or challenges that you have faced to integrate Streamlit with so many different machine learning frameworks? Can you describe the technical implementation of Streamlit and how it has evolved since you began working on it? How did you approach the design of the API and development workflow to tailor it for the needs and capabilities of machine learning engineers? If you were to start the project from scratch today what would you do differently? What is a typical workflow for someone working on a machine learning application and how does Streamlit fit in? What are some of the types of tools or processes that it replaces? What are some of the most interesting or unexpected ways that you have seen Streamlit used? What have you found to be some of the most challenging or unexpected aspects of building and evolving Streamlit? How do you see Python evolving in light of Streamlit and other work in the machine learning space? What do you have in store for the future of Streamlit or any adjacent products and services? How are you approaching the governance and sustainability of the Streamlit open source project? Keep In Touch Website LinkedIn @myelbows on Twitter treuille on GitHub Picks Tobias The Book Of Why by Judea Pearl Adrien No Self, No Problem by Anam Thubten Closing Announcements Thank you for listening! Don’t forget to check out our other show, the Data Engineering Podcast for the latest on modern data management. Visit the site to subscribe to the show, sign up for the mailing list, and read the show notes. If you’ve learned something or tried out a project from the show then tell us about it! Email hosts@podcastinit.com) with your story. To help other people find the show please leave a review on iTunes and tell your friends and co-workers Join the community in the new Zulip chat workspace at pythonpodcast.com/chat Links Streamlit Forum GitHub Twitter Carnegie Mellon University Google X Zoox IBM Cornell University NumPy SciPy Machine Learning Engineer Jupyter DeckGL Matplotlib Plotly Seaborn Altair PyTorch Tensorflow Protocol Buffers Streamlit for teams Heroku EC2 React JS Awesome Streamlit Flask Plotly Dash Voila NeurIPS The intro and outro music is from Requiem for a Fish The Freak Fandango Orchestra / CC BY-SA