Summary
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.
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 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 pythonpodcast.com/linode 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!
- 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 pythonpodcast.com/talkpython today and get 10% off the course that will help you find your next level. That’s pythonpodcast.com/talkpython, and don’t forget to thank them for supporting the show.
- 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 pythonpodcast.com/springboard today to learn more and give your career a boost to the next level.
- 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
Interview
- Introductions
- How did you get introduced to Python?
- Can you start by giving an overview of what Anvil is and some of the story behind it?
- What is new or different in Anvil since we last spoke in June of 2019?
- What are the most common or most impressive use cases for Anvil that you have seen?
- On your website you mention Anvil being used for deploying models and productionizing notebooks. How does Anvil help in those use cases?
- 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?
- What are some of the complications that users might run into when trying to integrate with the broader Javascript ecosystem?
- How does the release of the Anvil App Server affect your business model?
- How does the workflow for users of the Anvil platform change if they decide to run their own instance?
- What is involved in getting it deployed to production?
- 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?
- What was your motivation for open sourcing the core runtime of Anvil?
- What was involved in getting the code cleaned up and ready for a public release?
- What are the other ways that your business relies on or contributes to the open source ecosystem?
- What do you see as the primary threats to open source business models?
- What are some of the most interesting, unexpected, or challenging lessons that you have learned while building and growing Anvil?
- What do you have planned for the future of the platform and business?
Keep In Touch
Picks
- Tobias
- Meredydd
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
- Anvil
- Visual Basic
- Skulpt
- Streamlit
- Plot.ly Dash
- Anvil Uplink
- DOM == Document Object Model
- SQLAlchemy
- Brython
- Transcrypt
- Comparison of Python in the browser implementations
- Blog post about Anvil object serializer
- Create React App
- Webpack
- Jetbrains
- Traefik
- Let’s Encrypt
- Corey Quinn
- WebAssembly
- PyOdide
The intro and outro music is from Requiem for a Fish The Freak Fandango Orchestra / CC BY-SA
from Planet Python
via read more
This is an important and disruptive release -- we explained why in a blog post last year. We've even made a video about it.
Highlights
DISRUPTION: Switch to the new dependency resolver by default. Watch out for changes in handling editable installs, constraints files, and more: https://pip.pypa.io/en/latest/user_guide/#changes-to-the-pip-dependency-resolver-in-20-3-2020
DEPRECATION: Deprecate support for Python 3.5 (to be removed in pip 21.0).
DEPRECATION: pip freeze will stop filtering the pip, setuptools, distribute and wheel packages from pip freeze output in a future version. To keep the previous behavior, users should use the new
--exclude
option.Substantial improvements in new resolver for performance, output and error messages, avoiding infinite loops, and support for constraints files.
Support for PEP 600: Future
manylinux
Platform Tags for Portable Linux Built Distributions.Documentation improvements: Resolver migration guide, quickstart guide, and new documentation theme.
Add support for MacOS Big Sur compatibility tags.
The new resolver is now on by default. It is significantly stricter and more consistent when it receives incompatible instructions, and reduces support for certain kinds of constraints files, so some workarounds and workflows may break. Please see our guide on how to test and migrate, and how to report issues. You can use the deprecated (old) resolver, using the flag
--use-deprecated=legacy-resolver
, until we remove it in the pip 21.0 release in January 2021.You can find more details (including deprecations and removals) in the changelog.
Coming soon: end of Python 2.7 support
For more info or to contribute:
Thank you