Date: Mon, 30 Nov 2020 19:00:00 -0500
<div class="wp-block-jetpack-markdown"><h3>Summary</h3> <p>Building a complete web application requires expertise in a wide range of disciplines. As a result it is often the work of a whole team of engineers to get a new project from idea to production. Meredydd Luff and his co-founder built the Anvil platform to make it possible to build full stack applications entirely in Python. In this episode he explains why they released the application server as open source, how you can use it to run your own projects for free, and why developer tooling is the sweet spot for an open source business model. He also shares his vision for how the end-to-end experience of building for the web should look, and some of the innovative projects and companies that were made possible by the reduced friction that the Anvil platform provides. Give it a listen today to gain some perspective on what it could be like to build a web app.</p> <h3>Announcements</h3> <ul> <li>Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.</li> <li>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 the launch of their managed Kubernetes platform it’s easy to get started with the next generation of deployment and scaling, powered by the battle tested Linode platform, including simple pricing, node balancers, 40Gbit networking, dedicated CPU and GPU instances, and worldwide data centers. Go to <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">pythonpodcast.com/linode</a> and get a $100 credit to try out a Kubernetes cluster of your own. And don’t forget to thank them for their continued support of this show!</li> <li>Do you want to get better at Python? Now is an excellent time to take an online course. Whether you’re just learning Python or you’re looking for deep dives on topics like APIs, memory mangement, async and await, and more, our friends at Talk Python Training have a top-notch course for you. If you’re just getting started, be sure to check out the Python for Absolute Beginners course. It’s like the first year of computer science that you never took compressed into 10 fun hours of Python coding and problem solving. Go to <a href="https://www.pythonpodcast.com/talkpython?utm_source=rss&utm_medium=rss">pythonpodcast.com/talkpython</a> today and get 10% off the course that will help you find your next level. That’s <a href="https://www.pythonpodcast.com/talkpython?utm_source=rss&utm_medium=rss">pythonpodcast.com/talkpython</a>, and don’t forget to thank them for supporting the show.</li> <li>Python has become the default language for working with data, whether as a data scientist, data engineer, data analyst, or machine learning engineer. Springboard has launched their School of Data to help you get a career in the field through a comprehensive set of programs that are 100% online and tailored to fit your busy schedule. With a network of expert mentors who are available to coach you during weekly 1:1 video calls, a tuition-back guarantee that means you don’t pay until you get a job, resume preparation, and interview assistance there’s no reason to wait. Springboard is offering up to 20 scholarships of $500 towards the tuition cost, exclusively to listeners of this show. Go to <a href="https://www.pythonpodcast.com/springboard?utm_source=rss&utm_medium=rss">pythonpodcast.com/springboard</a> today to learn more and give your career a boost to the next level.</li> <li>Your host as usual is Tobias Macey and today I’m interviewing Meredydd Luff about the process and motivations for releasing the Anvil platform as open source</li> </ul> <h3>Interview</h3> <ul> <li>Introductions</li> <li>How did you get introduced to Python?</li> <li>Can you start by giving an overview of what Anvil is and some of the story behind it? <ul> <li>What is new or different in Anvil since we last spoke in June of 2019?</li> </ul> </li> <li>What are the most common or most impressive use cases for Anvil that you have seen? <ul> <li>On your website you mention Anvil being used for deploying models and productionizing notebooks. How does Anvil help in those use cases?</li> </ul> </li> <li>How much of the adoption of Anvil do you attribute to the use of Skulpt and providing a way to write Python for the browser? <ul> <li>What are some of the complications that users might run into when trying to integrate with the broader Javascript ecosystem?</li> </ul> </li> <li>How does the release of the Anvil App Server affect your business model? <ul> <li>How does the workflow for users of the Anvil platform change if they decide to run their own instance?</li> <li>What is involved in getting it deployed to production?</li> </ul> </li> <li>What other tools or companies did you look to for positive and negative examples of how to run a successful business based on open source?</li> <li>What was your motivation for open sourcing the core runtime of Anvil? <ul> <li>What was involved in getting the code cleaned up and ready for a public release?</li> </ul> </li> <li>What are the other ways that your business relies on or contributes to the open source ecosystem?</li> <li>What do you see as the primary threats to open source business models?</li> <li>What are some of the most interesting, unexpected, or challenging lessons that you have learned while building and growing Anvil?</li> <li>What do you have planned for the future of the platform and business?</li> </ul> <h3>Keep In Touch</h3> <ul> <li><a href="https://www.linkedin.com/in/meredydd/?originalSubdomain=uk&utm_source=rss&utm_medium=rss" rel="noopener" target="_blank">LinkedIn</a></li> <li><a href="https://twitter.com/meredydd?lang=en&utm_source=rss&utm_medium=rss" rel="noopener" target="_blank">@meredydd</a> on Twitter</li> <li><a href="https://github.com/meredydd?utm_source=rss&utm_medium=rss" rel="noopener" target="_blank">meredydd</a> on GitHub</li> </ul> <h3>Picks</h3> <ul> <li>Tobias <ul> <li><a href="https://magic.wizards.com?utm_source=rss&utm_medium=rss" rel="noopener" target="_blank">Magic: The Gathering</a></li> </ul> </li> <li>Meredydd <ul> <li><a href="https://anvil.works/advent?utm_source=rss&utm_medium=rss" rel="noopener" target="_blank">Anvil Advent Calendar</a></li> <li><a href="https://anvil.works/podcast?utm_source=rss&utm_medium=rss" rel="noopener" target="_blank">Anvil Podcast</a></li> </ul> </li> </ul> <h3>Closing Announcements</h3> <ul> <li>Thank you for listening! Don’t forget to check out our other show, the <a href="https://feeds.fireside.fm/pythonpodcast/rss">Data Engineering Podcast</a> for the latest on modern data management.</li> <li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> to subscribe to the show, sign up for the mailing list, and read the show notes.</li> <li>If you’ve learned something or tried out a project from the show then tell us about it! Email <a href="mailto:hosts@podcastinit.com">hosts@podcastinit.com</a>) with your story.</li> <li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&uo=6&at=&ct=&utm_source=rss&utm_medium=rss" rel="noopener" target="_blank">iTunes</a> and tell your friends and co-workers</li> <li>Join the community in the new Zulip chat workspace at <a href="https://www.pythonpodcast.com/chat?utm_source=rss&utm_medium=rss">pythonpodcast.com/chat</a></li> </ul> <h3>Links</h3> <ul> <li><a href="https://anvil.works/?utm_source=rss&utm_medium=rss" rel="noopener" target="_blank">Anvil</a> <ul> <li><a href="https://www.pythonpodcast.com/anvil-web-application-development-episode-215/?utm_source=rss&utm_medium=rss">Podcast Episode</a></li> </ul> </li> <li><a href="https://en.wikipedia.org/wiki/Visual_Basic?utm_source=rss&utm_medium=rss" rel="noopener" target="_blank">Visual Basic</a></li> <li><a href="http://skulpt.org/?utm_source=rss&utm_medium=rss" rel="noopener" target="_blank">Skulpt</a></li> <li><a href="https://www.streamlit.io/?utm_source=rss&utm_medium=rss" rel="noopener" target="_blank">Streamlit</a> <ul> <li><a href="https://www.pythonpodcast.com/streamlit-web-application-episode-238/?utm_source=rss&utm_medium=rss">Podcast Episode</a></li> </ul> </li> <li><a href="https://plotly.com/dash/?utm_source=rss&utm_medium=rss" rel="noopener" target="_blank">Plot.ly Dash</a></li> <li><a href="https://anvil.works/docs/uplink?utm_source=rss&utm_medium=rss" rel="noopener" target="_blank">Anvil Uplink</a></li> <li><a href="https://en.wikipedia.org/wiki/Document_Object_Model?utm_source=rss&utm_medium=rss" rel="noopener" target="_blank">DOM == Document Object Model</a></li> <li><a href="https://www.sqlalchemy.org/?utm_source=rss&utm_medium=rss" rel="noopener" target="_blank">SQLAlchemy</a></li> <li><a href="http://www.brython.info/?utm_source=rss&utm_medium=rss" rel="noopener" target="_blank">Brython</a></li> <li><a href="https://www.transcrypt.org/?utm_source=rss&utm_medium=rss" rel="noopener" target="_blank">Transcrypt</a> <ul> <li><a href="https://www.pythonpodcast.com/episode-50-transcrypt-with-jacques-de-hooge/?utm_source=rss&utm_medium=rss">Podcast Episode</a></li> </ul> </li> <li><a href="https://anvil.works/blog/python-in-the-browser-talk?utm_source=rss&utm_medium=rss" rel="noopener" target="_blank">Comparison of Python in the browser implementations</a></li> <li><a href="https://anvil.works/blog/announcing-portable-classes?utm_source=rss&utm_medium=rss" rel="noopener" target="_blank">Blog post about Anvil object serializer</a></li> <li><a href="https://create-react-app.dev/?utm_source=rss&utm_medium=rss" rel="noopener" target="_blank">Create React App</a></li> <li><a href="https://webpack.js.org/?utm_source=rss&utm_medium=rss" rel="noopener" target="_blank">Webpack</a></li> <li><a href="https://www.jetbrains.com/?utm_source=rss&utm_medium=rss" rel="noopener" target="_blank">Jetbrains</a></li> <li><a href="https://traefik.io/?utm_source=rss&utm_medium=rss" rel="noopener" target="_blank">Traefik</a></li> <li><a href="https://letsencrypt.org/?utm_source=rss&utm_medium=rss" rel="noopener" target="_blank">Let’s Encrypt</a></li> <li><a href="https://twitter.com/QuinnyPig?utm_source=rss&utm_medium=rss" rel="noopener" target="_blank">Corey Quinn</a></li> <li><a href="https://webassembly.org/?utm_source=rss&utm_medium=rss" rel="noopener" target="_blank">WebAssembly</a></li> <li><a href="https://pyodide.readthedocs.io/en/latest/?utm_source=rss&utm_medium=rss" rel="noopener" target="_blank">PyOdide</a></li> </ul> <p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" rel="noopener" target="_blank">The Freak Fandango Orchestra</a> / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" rel="noopener" target="_blank">CC BY-SA</a></p> </div> <img alt="" height="0" src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&rec=1&url=https%3A%2F%2Fwww.pythonpodcast.com%2Fanvil-open-source-web-app-server-episode-291%2F&action_name=Open+Sourcing+The+Anvil+Full+Stack+Python+Web+App+Platform+-+Episode+291&urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border: 0; width: 0; height: 0;" width="0" />