Listen "#457 Tapping into HTTP"
Episode Synopsis
Topics covered in this episode:
httptap
10 Smart Performance Hacks For Faster Python Code
FastRTC
Explore Python dependencies with pipdeptree and uv pip tree
Extras
Joke
Watch on YouTube
About the show
Sponsored by us! Support our work through:
Our courses at Talk Python Training
The Complete pytest Course
Patreon Supporters
Connect with the hosts
Michael: @[email protected] / @mkennedy.codes (bsky)
Brian: @[email protected] / @brianokken.bsky.social
Show: @[email protected] / @pythonbytes.fm (bsky)
Join us on YouTube at pythonbytes.fm/live to be part of the audience. Usually Monday at 10am PT. Older video versions available there too.
Finally, if you want an artisanal, hand-crafted digest of every week of the show notes in email form? Add your name and email to our friends of the show list, we'll never share it.
Michael #1: httptap
Rich-powered CLI that breaks each HTTP request into DNS, connect, TLS, wait, and transfer phases with waterfall timelines, compact summaries, or metrics-only output.
Features
Phase-by-phase timing – precise measurements built from httpcore trace hooks (with sane fallbacks when metal-level data is unavailable).
All HTTP methods – GET, POST, PUT, PATCH, DELETE, HEAD, OPTIONS with request body support.
Request body support – send JSON, XML, or any data inline or from file with automatic Content-Type detection.
IPv4/IPv6 aware – the resolver and TLS inspector report both the address and its family.
TLS insights – certificate CN, expiry countdown, cipher suite, and protocol version are captured automatically.
Multiple output modes – rich waterfall view, compact single-line summaries, or -metrics-only for scripting.
JSON export – persist full step data (including redirect chains) for later processing.
Extensible – clean Protocol interfaces for DNS, TLS, timing, visualization, and export so you can plug in custom behavior.
Example:
Brian #2: 10 Smart Performance Hacks For Faster Python Code
Dido Grigorov
A few from the list
Use math functions instead of operators
Avoid exception handling in hot loops
Use itertools for combinatorial operations - huge speedup
Use bisect for sorted list operations - huge speedup
Michael #3: FastRTC
The Real-Time Communication Library for Python: Turn any python function into a real-time audio and video stream over WebRTC or WebSockets.
Features
🗣️ Automatic Voice Detection and Turn Taking built-in, only worry about the logic for responding to the user.
💻 Automatic UI - Use the .ui.launch() method to launch the webRTC-enabled built-in Gradio UI.
🔌 Automatic WebRTC Support - Use the .mount(app) method to mount the stream on a FastAPI app and get a webRTC endpoint for your own frontend!
⚡️ Websocket Support - Use the .mount(app) method to mount the stream on a FastAPI app and get a websocket endpoint for your own frontend!
📞 Automatic Telephone Support - Use the fastphone() method of the stream to launch the application and get a free temporary phone number!
🤖 Completely customizable backend - A Stream can easily be mounted on a FastAPI app so you can easily extend it to fit your production application. See the Talk To Claude demo for an example of how to serve a custom JS frontend.
Brian #4: Explore Python dependencies with <code>pipdeptree</code> and <code>uv pip tree</code>
Suggested by Nicholas Carsner
We have covered it, but in 2017 on episode 17.
pipdeptree
Use pipdeptree --python auto to allow it to read your venv
uv pip tree
Also check out uv pip tree and some useful flags
--show-version-specifiers to show the rules
--outdated notes packages that need updated
Extras
Brian:
Lean TDD 0.1.1 includes an updated intro and another chapter, “Essential Components”
VSCode Peacock Extension - color code your different projects
Joke: Sure Grandma
httptap
10 Smart Performance Hacks For Faster Python Code
FastRTC
Explore Python dependencies with pipdeptree and uv pip tree
Extras
Joke
Watch on YouTube
About the show
Sponsored by us! Support our work through:
Our courses at Talk Python Training
The Complete pytest Course
Patreon Supporters
Connect with the hosts
Michael: @[email protected] / @mkennedy.codes (bsky)
Brian: @[email protected] / @brianokken.bsky.social
Show: @[email protected] / @pythonbytes.fm (bsky)
Join us on YouTube at pythonbytes.fm/live to be part of the audience. Usually Monday at 10am PT. Older video versions available there too.
Finally, if you want an artisanal, hand-crafted digest of every week of the show notes in email form? Add your name and email to our friends of the show list, we'll never share it.
Michael #1: httptap
Rich-powered CLI that breaks each HTTP request into DNS, connect, TLS, wait, and transfer phases with waterfall timelines, compact summaries, or metrics-only output.
Features
Phase-by-phase timing – precise measurements built from httpcore trace hooks (with sane fallbacks when metal-level data is unavailable).
All HTTP methods – GET, POST, PUT, PATCH, DELETE, HEAD, OPTIONS with request body support.
Request body support – send JSON, XML, or any data inline or from file with automatic Content-Type detection.
IPv4/IPv6 aware – the resolver and TLS inspector report both the address and its family.
TLS insights – certificate CN, expiry countdown, cipher suite, and protocol version are captured automatically.
Multiple output modes – rich waterfall view, compact single-line summaries, or -metrics-only for scripting.
JSON export – persist full step data (including redirect chains) for later processing.
Extensible – clean Protocol interfaces for DNS, TLS, timing, visualization, and export so you can plug in custom behavior.
Example:
Brian #2: 10 Smart Performance Hacks For Faster Python Code
Dido Grigorov
A few from the list
Use math functions instead of operators
Avoid exception handling in hot loops
Use itertools for combinatorial operations - huge speedup
Use bisect for sorted list operations - huge speedup
Michael #3: FastRTC
The Real-Time Communication Library for Python: Turn any python function into a real-time audio and video stream over WebRTC or WebSockets.
Features
🗣️ Automatic Voice Detection and Turn Taking built-in, only worry about the logic for responding to the user.
💻 Automatic UI - Use the .ui.launch() method to launch the webRTC-enabled built-in Gradio UI.
🔌 Automatic WebRTC Support - Use the .mount(app) method to mount the stream on a FastAPI app and get a webRTC endpoint for your own frontend!
⚡️ Websocket Support - Use the .mount(app) method to mount the stream on a FastAPI app and get a websocket endpoint for your own frontend!
📞 Automatic Telephone Support - Use the fastphone() method of the stream to launch the application and get a free temporary phone number!
🤖 Completely customizable backend - A Stream can easily be mounted on a FastAPI app so you can easily extend it to fit your production application. See the Talk To Claude demo for an example of how to serve a custom JS frontend.
Brian #4: Explore Python dependencies with <code>pipdeptree</code> and <code>uv pip tree</code>
Suggested by Nicholas Carsner
We have covered it, but in 2017 on episode 17.
pipdeptree
Use pipdeptree --python auto to allow it to read your venv
uv pip tree
Also check out uv pip tree and some useful flags
--show-version-specifiers to show the rules
--outdated notes packages that need updated
Extras
Brian:
Lean TDD 0.1.1 includes an updated intro and another chapter, “Essential Components”
VSCode Peacock Extension - color code your different projects
Joke: Sure Grandma
More episodes of the podcast Python Bytes
#462 LinkedIn Cringe
15/12/2025
#461 This episdoe has a typo
09/12/2025
#460 Overlooked Python Typing
01/12/2025
#459 Inverted dependency trees
24/11/2025
#458 I will install Linux on your computer
17/11/2025
#456 You're so wrong
03/11/2025
#455 Gilded Python and Beyond
27/10/2025
#454 It's some form of Elvish
20/10/2025
#453 Python++
16/10/2025
#452 pi py-day (or is it py pi-day?)
09/10/2025
ZARZA We are Zarza, the prestigious firm behind major projects in information technology.