Hey, Python-Web-Community! What's going on?

Vibhu Agarwal (~vibhu)


Django, Flask or FastAPI, ASGI-WSGI, asynchronous-synchronous, protocol or web server, workers or threads, gunicorn-uvicorn - What is going on!? What exactly are these? How do they come along together? Do I even need to know about them?

Developing back-ends for dynamic websites can be done in a lot of different ways, and fortunately, python has a great set of libraries and packages to help us with the implementation. The problem arises when we dive deep and are overwhelmed with the stuff we have at our disposal.

During this talk, we'll try to find answers to the above questions. We'll take a look at the high-level and core features of different parts and understand how they are kept compatible with each other to bring out a fantastic web ecosystem.

Who's this talk for?

  • Anyone who wants to start their web-development journey in Python (or who has started with Flask or Django, and want to explore more).
  • People who're wondering what's this "WSGI" thing coming up, time and again at different places.
  • People who want to understand the role of gunicorn or uWSGI, which they read about in the deployment docs.
  • Anyone who wants a smooth transition into asynchronous python web ecosystem.
  • Anyone who's overwhelmed with terminologies like the ones stated in the first line of Description.
  • Anyone who isn't really sure how the data flows through the different layers of libraries and reach the URL-dispatcher in their favourite framework.

Timeline (Outline)

  • Intro (5 minutes)
    • Speaker Intro
    • Static and Dynamic Websites
    • HTTP (Request-Response Cycle; Client & Server)
  • The ideal web web server (5 minutes)
    • Identification of different parts
    • Understanding their significance
  • Python's web ecosystem (7 minutes)
    • How the different parts map to Python's web ecosystem
    • Web Server Gateway Interface (WSGI)
    • Code Examples
  • Asynchronous World (7 minutes)
    • Event Loop(s) and Concurrency
    • Asynchronous Python Web
    • Asynchronous Server Gateway Interface (ASGI)
    • HTTP/2 & Websockets
  • Takeaways & Conclusion (2 minutes)
  • Q & A (4 minutes)


Basic knowledge of HTTP (request-response) should be enough.

Content URLs:

Speaker Info:

Vibhu is a student, a pythonista and an open-source enthusiast. He likes to play around with web servers and sometimes, clients. On weekends, you can find him in one or the other meet-ups or conferences, discussing about snakes and unicorns or other tech stuff, mostly in local tech-groups like PyDelhi or Django-London. Past conferences where he's given talks include PyCon India'20 and PyCon Sweden'20.

Section: Web development
Type: Talks
Target Audience: Beginner
Last Updated: