WSGI 2

00:00:00
/
01:04:46

February 6th, 2016

1 hr 4 mins 46 secs

Your Hosts

About this Episode

Visit our site to listen to past episodes, support the show, join our community, and sign up for our mailing list.

Summary

The Web Server Gateway Interface, or WSGI for short, is a long-standing pillar of the Python ecosystem. It has enabled a vast number of web frameworks to proliferate by not having to worry about how exactly to interact with the HTTP protocol and focus instead on building a library that is robust, extensible, and easy to use. With recent evolutions to how we interact with the web, it appears that WSGI may be in need of an update and that is what our guests on this episode came to discuss. Cory Benfield is leading an effort to determine what if any modifications should be made to the WSGI standard or if it is time to retire it in favor of something new. Andrew Godwin has been hard at work building the Channels framework for Django to allow for interoperability with websockets. They bring their unique perspectives to bear on how and why we may want to consider bringing WSGI into the current state of the web.

Brief Introduction

  • Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.
  • Subscribe on iTunes, Stitcher, TuneIn or RSS
  • Follow us on Twitter or Google+
  • Give us feedback! Leave a review on iTunes, Tweet to us, send us an email or leave us a message on Google+
  • Join our community! Visit discourse.pythonpodcast.com for your opportunity to find out about upcoming guests, suggest questions, and propose show ideas.
  • I would like to thank everyone who has donated to the show. Your contributions help us make the show sustainable. For details on how to support the show you can visit our site at pythonpodcast.com
  • Linode is sponsoring us this week. Check them out at linode.com/podcastinit and get a $20 credit to try out their fast and reliable Linux virtual servers for your next project
  • I would also like to thank Hired, a job marketplace for developers, for sponsoring this episode of Podcast.__init__. Use the link hired.com/podcastinit to double your signing bonus.
  • Your hosts as usual are Tobias Macey and Chris Patti
  • Today we are interviewing Cory Benfield and Andrew Godwin about a proposed update to the WSGI specification.

Interview with Cory Benfield and Andrew Godwin

  • Introductions
  • How did you get introduced to Python? – Chris
  • First off, what is WSGI? – Tobias
  • What are some of the ways the current WSGI spec has fallen out of step with the needs of the modern developer? – Chris
  • How did you come to be involved with the new WSGI specification? What brought you into this process? – Chris
  • Do you think the WSGI name itself brings a lot of expectation, or is it good to keep it as a well-recognised Python landmark? – Tobias
  • Would it be better to make a clean break and implement an entirely new set of APIs and style of interaction? – Tobias
  • What kind of compatibility guarantees should be made between the current spec and the proposed upgrade? What would the impact be if the new specification was incompatible? – Tobias
  • How has the response been to your call for comments? What are some of the most frequently raised concerns or suggestions? – Tobias
  • What are some of the proposed changes to the specification? – Tobias
  • Are there any future directions you think WSGI should take that perhaps haven’t been considered yet? – Chris
  • Has your opinion or vision of the proposed update changed as you reviewed responses to the conversation on the mailing list? – Tobias
  • Do you have any ideas of how to design the new specification in order to avoid a similar situation of needing to deprecate the current standards in order to accomodate new web protocols? – Tobias
  • What are some of the points of contention or rigorous debate that have kept previous WSGI 2 attempts from succeeding? – Chris

Keep In Touch

Picks

The intro and outro music is from Requiem for a Fish The Freak Fandango Orchestra / CC BY-SA