#536: Fly inside FastAPI Cloud
You've built your FastAPI app, it's running great locally, and now you want to share it with the world. But then reality hits -- containers, load balancers, HTTPS certificates, cloud consoles with 200 options. What if deploying was just one command? That's exactly what Sebastian Ramirez and the FastAPI Cloud team are building. On this episode, I sit down with Sebastian, Patrick Arminio, Savannah Ostrowski, and Jonathan Ehwald to go inside FastAPI Cloud, explore what it means to build a "Pythonic" cloud, and dig into how this commercial venture is actually making FastAPI the open-source project stronger than ever.
Episode sponsors
Command Book
Python in Production
Talk Python Courses
Links from the show
Guests
Sebastián Ramírez: github.com
Savannah Ostrowski: github.com
Patrick Arminio: github.com
Jonathan Ehwald: github.com
FastAPI labs: fastapilabs.com
quickstart: fastapicloud.com
an episode on diskcache: talkpython.fm
Fastar: github.com
FastAPI: The Documentary: www.youtube.com
Tailwind CSS Situation: adams-morning-walk.transistor.fm
FastAPI Job Meme: fastapi.meme
Migrate an Existing Project: fastapicloud.com
Join the waitlist: fastapicloud.com
Talk Python CLI
Talk Python CLI Announcement: talkpython.fm
Talk Python CLI GitHub: github.com
Command Book
Download Command Book: commandbookapp.com
Announcement post: mkennedy.codes
Watch this episode on YouTube: youtube.com
Episode #536 deep-dive: talkpython.fm/536
Episode transcripts: talkpython.fm
Theme Song: Developer Rap
🥁 Served in a Flask 🎸: talkpython.fm/flasksong
---== Don't be a stranger ==---
YouTube: youtube.com/@talkpython
Bluesky: @talkpython.fm
Mastodon: @talkpython@fosstodon.org
X.com: @talkpython
Michael on Bluesky: @mkennedy.codes
Michael on Mastodon: @mkennedy@fosstodon.org
Michael on X.com: @mkennedy
#533: Web Frameworks in Prod by Their Creators
Today on Talk Python, the creators behind FastAPI, Flask, Django, Quart, and Litestar get practical about running apps based on their framework in production. Deployment patterns, async gotchas, servers, scaling, and the stuff you only learn at 2 a.m. when the pager goes off. For Django, we have Carlton Gibson and Jeff Triplet. For Flask, we have David Lord and Phil Jones, and on team Litestar we have Janek Nouvertné and Cody Fincher, and finally Sebastián Ramírez from FastAPI is here. Let’s jump in.
Episode sponsors
Talk Python Courses
Python in Production
Links from the show
Guests
David Lord
Janek Nouvertné
Cody Fincher
Philip Jones
Jeff Triplett
Carlton Gibson
Carlton Gibson - Django: github.com
Sebastian Ramirez - FastAPI: github.com
David Lord - Flask: davidism.com
Phil Jones - Flask and Quartz(async): pgjones.dev
Yanik Nouvertne - LiteStar: github.com
Cody Fincher - LiteStar: github.com
Jeff Triplett - Django: jefftriplett.com
Django: www.djangoproject.com
Flask: flask.palletsprojects.com
Quart: quart.palletsprojects.com
Litestar: litestar.dev
FastAPI: fastapi.tiangolo.com
Coolify: coolify.io
ASGI: asgi.readthedocs.io
WSGI (PEP 3333): peps.python.org
Granian: github.com
Hypercorn: github.com
uvicorn: uvicorn.dev
Gunicorn: gunicorn.org
Hypercorn: hypercorn.readthedocs.io
Daphne: github.com
Nginx: nginx.org
Docker: www.docker.com
Kubernetes: kubernetes.io
PostgreSQL: www.postgresql.org
SQLite: www.sqlite.org
Celery: docs.celeryq.dev
SQLAlchemy: www.sqlalchemy.org
Django REST framework: www.django-rest-framework.org
Jinja: jinja.palletsprojects.com
Click: click.palletsprojects.com
HTMX: htmx.org
Server-Sent Events (SSE): developer.mozilla.org
WebSockets (RFC 6455): www.rfc-editor.org
HTTP/2 (RFC 9113): www.rfc-editor.org
HTTP/3 (RFC 9114): www.rfc-editor.org
uv: docs.astral.sh
Amazon Web Services (AWS): aws.amazon.com
Microsoft Azure: azure.microsoft.com
Google Cloud Run: cloud.google.com
Amazon ECS: aws.amazon.com
AlloyDB for PostgreSQL: cloud.google.com
Fly.io: fly.io
Render: render.com
Cloudflare: www.cloudflare.com
Fastly: www.fastly.com
Watch this episode on YouTube: youtube.com
Episode #533 deep-dive: talkpython.fm/533
Episode transcripts: talkpython.fm
Theme Song: Developer Rap
🥁 Served in a Flask 🎸: talkpython.fm/flasksong
---== Don't be a stranger ==---
YouTube: youtube.com/@talkpython
Bluesky: @talkpython.fm
Mastodon: @talkpython@fosstodon.org
X.com: @talkpython
Michael on Bluesky: @mkennedy.codes
Michael on Mastodon: @mkennedy@fosstodon.org
Michael on X.com: @mkennedy
#415: Future of Pydantic and FastAPI
See the full show notes for this episode on the website at talkpython.fm/415
#284: Modern and fast APIs with FastAPI
See the full show notes for this episode on the website at talkpython.fm/284
Using Pylance to Write Better Python Inside of Visual Studio Code
<p>A big decision a developer has to make is what tool to use to write code? Would you like an editor that understands Python, and is there to help with suggestions, definitions, and analysis of your code? For many developers, its the free tool, Visual Studio Code. This week on the show, we have Savannah Ostrowski, program manager for the Python Language Server and Python in Visual Studio. We discuss Pylance, a new language server with fast, feature-rich language support for Python in VS Code.</p>
<p>Savannah explains what a language server is and the types of features it can provide. This includes type information, code completion, automatic-imports, dead code analysis, code navigation, and more. We also have a discussion about type checking in Python, which led to how Pylance leverages the static type checking tool Pyright, and what are type stubs (.pyi files).</p>
<div class="alert alert-primary" role="alert">
<p><strong>Course Spotlight:</strong> <a href="https://realpython.com/courses/python-type-checking/">Python Type Checking</a> </p>
<p>In this course, you’ll look at Python type checking. Traditionally, types have been handled by the Python interpreter in a flexible but implicit way. Recent versions of Python allow you to specify explicit type hints that can be used by different tools to help you develop your code more efficiently.</p>
</div>
<p>Topics:</p>
<ul>
<li>00:00:00 – Introduction</li>
<li>00:01:47 – Current Role at Microsoft </li>
<li>00:03:01 – Background with Python</li>
<li>00:04:21 – Origins of Pylance</li>
<li>00:06:53 – What is a language server?</li>
<li>00:09:56 – Diving deeper into the features individually </li>
<li>00:14:42 – Code navigation and diagnostics</li>
<li>00:15:43 – Methods of defining types and stub files</li>
<li>00:17:28 – What are examples of stub files?</li>
<li>00:21:16 – Comparing Pyright to Mypy</li>
<li>00:23:56 – Video Course Spotlight</li>
<li>00:25:02 – Auto-imports are a contentious feature</li>
<li>00:28:36 – Code actions and dead code analysis</li>
<li>00:31:46 – Pylance working with Jupyter notebooks in VSCode</li>
<li>00:33:30 – Multiple workspaces</li>
<li>00:36:16 – Why do you like to work on developer tools?</li>
<li>00:39:35 – How does a tool like Pylance help a beginner?</li>
<li>00:42:31 – What are you excited about in the world of Python?</li>
<li>00:46:25 – What do you want to learn next?</li>
<li>00:49:24 – Thanks and goodbyes</li>
</ul>
<p>Show Links:</p>
<ul>
<li><a href="https://devblogs.microsoft.com/python/announcing-pylance-fast-feature-rich-language-support-for-python-in-visual-studio-code/">Announcing Pylance: Fast, feature-rich language support for Python in Visual Studio Code</a></li>
<li><a href="https://devblogs.microsoft.com/python/pylance-introduces-five-new-features-that-enable-type-magic-for-python-developers/">Pylance introduces five new features that enable type magic for Python developers</a></li>
<li><a href="https://devblogs.microsoft.com/python/python-in-visual-studio-code-september-2020-release/">Python in Visual Studio Code – September 2020 Release</a></li>
<li><a href="https://www.youtube.com/watch?v=tSNa7BIGCGQ&feature=youtu.be&t=1311">Pylance and Python in VS Code: Visual Studio Code v1.49 Release Party - YouTube </a></li>
<li><a href="https://docs.microsoft.com/en-us/visualstudio/extensibility/language-server-protocol?view=vs-2019">Language Server Protocol</a></li>
<li><a href="https://microsoft.github.io/language-server-protocol/">Language Server Protocol: Github</a></li>
<li><a href="https://www.freecodecamp.org/news/language-server-protocol-and-the-future-of-ide/">How the Language Server Protocol Affects the Future of IDEs</a></li>
<li><a href="https://github.com/python/typeshed/">typeshed: External type annotations for the Python standard library and Python builtins, as well as third party packages</a></li>
<li><a href="https://github.com/microsoft/pyright">Pyright: Static type checker for Python</a></li>
<li><a href="https://www.python.org/dev/peps/pep-0561/">PEP 561 – Distributing and Packaging Type Information</a></li>
<li><a href="https://marketplace.visualstudio.com/items?itemName=VisualStudioExptTeam.vscodeintellicode">Visual Studio IntelliCode: Provides AI-assisted development features for Python</a></li>
<li><a href="https://github.com/python/mypy/wiki/Creating-Stubs-For-Python-Modules">Creating Stubs For Python Modules</a></li>
<li><a href="https://realpython.com/courses/python-type-checking/">Python Type Checking: Real Python video course</a></li>
<li><a href="https://www.adafruit.com/product/2821">Feather Huzzah: Adafruit</a></li>
<li><a href="https://www.adafruit.com/product/3333">Circuit Playground Express: Adafruit</a></li>
<li><a href="https://circuitpython.org">Circuit Python: The easiest way to program microcontrollers</a></li>
<li><a href="https://winterbloom.com/store/winterbloom-big-honking-button">Big Honking Button: Winterbloom</a></li>
<li><a href="https://realpython.com/courses/arduino-python/">Arduino With Python: How to Get Started - Real Python video course</a></li>
</ul>
<p>Level up your Python skills with our expert-led courses:</p>
<ul>
<li><a href="https://realpython.com/courses/arduino-python/">Arduino With Python: Getting Started</a></li>
<li><a href="https://realpython.com/courses/python-type-checking/">Python Type Checking</a></li>
<li><a href="https://realpython.com/courses/finding-perfect-python-code-editor/">Finding the Perfect Python Code Editor</a></li>
</ul> <p><a rel="payment" href="https://realpython.com/join">Support the podcast & join our community of Pythonistas</a></p>