DiscoverPython Bytes#457 Tapping into HTTP
#457 Tapping into HTTP

#457 Tapping into HTTP

Update: 2025-11-11
Share

Description

Topics covered in this episode:


Watch on YouTube


About the show



Sponsored by us! Support our work through:





Connect with the hosts





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:



img



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 pipdeptree and uv pip tree




  • Suggested by Nicholas Carsner

  • 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:





Joke: Sure Grandma

Comments 
00:00
00:00
x

0.5x

0.8x

1.0x

1.25x

1.5x

2.0x

3.0x

Sleep Timer

Off

End of Episode

5 Minutes

10 Minutes

15 Minutes

30 Minutes

45 Minutes

60 Minutes

120 Minutes

#457 Tapping into HTTP

#457 Tapping into HTTP

Michael Kennedy and Brian Okken