<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/494-python-wrapture-vsednyhjv" -->

---
title: #494: Python Wrapture | daily.dev
description: This week&#x27;s roundup covers OpenAI&#x27;s Python SDK migrating from httpx to HTTPX2 (Pydantic&#x27;s fork), which changes TLS certificate verification behavior and can...
canonical: https://daily.dev/posts/494-python-wrapture-vsednyhjv
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: #494: Python Wrapture | daily.dev
og:description: This week&#x27;s roundup covers OpenAI&#x27;s Python SDK migrating from httpx to HTTPX2 (Pydantic&#x27;s fork), which changes TLS certificate verification behavior and can...
og:url: https://daily.dev/posts/494-python-wrapture-vsednyhjv
og:image: https://api.daily.dev/og/posts/vSEdNYHjV.png
og:image:alt: #494: Python Wrapture
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# #494: Python Wrapture

**[Planet Python](https://daily.dev/sources/planetpython)** · 7 min read · 1 upvotes · 0 comments

## Summary

This week's roundup covers OpenAI's Python SDK migrating from httpx to HTTPX2 (Pydantic's fork), which changes TLS certificate verification behavior and can break certain deployments; TMOG, a new native cross-platform task manager beta from Dave Plummer (original Windows Task Manager author); wrapture, a new AI-built Python library from wrapt's author Graham Dumpleton that unifies mocking, tracing, and observability by wrapping real code instead of replacing it; and linkedin2md, a CLI tool that converts LinkedIn data exports into Markdown files for LLM analysis.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://pythonbytes.fm/episodes/show/494/python-wrapture>

## Questions this post answers

### Why did my OpenAI Python SDK app start failing with certificate verification errors after updating?

The OpenAI Python SDK migrated to HTTPX2, a Pydantic-stewarded fork of httpx, which switched from verifying certificates against the certifi CA bundle to using the operating system trust store, and the SDK no longer installs certifi. This breaks certificate verification in minimal container images lacking system CA certificates, environments with corporate TLS-inspecting proxies, and setups relying on a custom certifi bundle. Fix it by setting SSL_CERT_FILE or SSL_CERT_DIR, or passing a custom ssl.SSLContext via verify.

_Teams tracking dependency upgrades like this one can follow breaking changes on daily.dev before they hit production._

### Does upgrading to HTTPX2 in the OpenAI Python SDK require code changes for custom HTTP clients?

Yes, if you use custom clients, auth handlers, hooks, or request mocking, these now expect HTTPX2 objects rather than plain httpx. Since the SDK no longer transitively pulls in httpx, any code that imports httpx directly must declare it as its own dependency or migrate fully to HTTPX2. A temporary legacy HTTPX client is available as an escape hatch for teams not yet ready to migrate.

_Developers weighing this kind of migration path can compare notes on daily.dev before committing to the switch._

## Similar posts on daily.dev

- [Introducing wrapture](https://daily.dev/posts/introducing-wrapture-ohj3cvcws) · Planet Python · 1 upvotes · 1 comments
- [Status of wrapt \(September 2025\)](https://daily.dev/posts/status-of-wrapt-september-2025--ecwcjo8i6) · Planet Python · 1 upvotes · 0 comments
- [PyCoder’s Weekly](https://daily.dev/posts/pycoder-s-weekly-0wba8c5pq) · Planet Python · 1 upvotes · 0 comments

---

Tags: [#python](https://daily.dev/tags/python), [#testing](https://daily.dev/tags/testing), [#openai](https://daily.dev/tags/openai), [#observability](https://daily.dev/tags/observability)

[View this post on daily.dev](https://daily.dev/posts/494-python-wrapture-vsednyhjv)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"TechArticle","headline":"#494: Python Wrapture","url":"https://daily.dev/posts/494-python-wrapture-vsednyhjv","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/494-python-wrapture-vsednyhjv"},"datePublished":"2026-09-01T16:51:46.709Z","dateModified":"2026-09-01T16:58:41.223Z","description":"This week's roundup covers OpenAI's Python SDK migrating from httpx to HTTPX2 (Pydantic's fork), which changes TLS certificate verification behavior and can...","image":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/560a77d2b03314856dc470eec694d4e3?_a=AQAEuop","thumbnailUrl":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/560a77d2b03314856dc470eec694d4e3?_a=AQAEuop","isAccessibleForFree":true,"articleSection":"Planet Python","inLanguage":"en","publisher":{"@type":"Organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180}},"author":{"@type":"Organization","name":"Planet Python","logo":"https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/eac3cc584cb043b5a242d13752bd3d0c","url":"https://daily.dev/sources/planetpython"},"commentCount":0,"discussionUrl":"https://daily.dev/posts/494-python-wrapture-vsednyhjv","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":1},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":0}],"keywords":"python,testing,openai,observability","timeRequired":"PT7M"}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"Planet Python","item":"https://daily.dev/sources/planetpython"},{"@type":"ListItem","position":3,"name":"#494: Python Wrapture"}]}
{"@context":"https://schema.org","@type":"FAQPage","@id":"https://daily.dev/posts/494-python-wrapture-vsednyhjv#faq","mainEntity":[{"@type":"Question","name":"Why did my OpenAI Python SDK app start failing with certificate verification errors after updating?","acceptedAnswer":{"@type":"Answer","text":"The OpenAI Python SDK migrated to HTTPX2, a Pydantic-stewarded fork of httpx, which switched from verifying certificates against the certifi CA bundle to using the operating system trust store, and the SDK no longer installs certifi. This breaks certificate verification in minimal container images lacking system CA certificates, environments with corporate TLS-inspecting proxies, and setups relying on a custom certifi bundle. Fix it by setting SSL_CERT_FILE or SSL_CERT_DIR, or passing a custom ssl.SSLContext via verify. Teams tracking dependency upgrades like this one can follow breaking changes on daily.dev before they hit production."}},{"@type":"Question","name":"Does upgrading to HTTPX2 in the OpenAI Python SDK require code changes for custom HTTP clients?","acceptedAnswer":{"@type":"Answer","text":"Yes, if you use custom clients, auth handlers, hooks, or request mocking, these now expect HTTPX2 objects rather than plain httpx. Since the SDK no longer transitively pulls in httpx, any code that imports httpx directly must declare it as its own dependency or migrate fully to HTTPX2. A temporary legacy HTTPX client is available as an escape hatch for teams not yet ready to migrate. Developers weighing this kind of migration path can compare notes on daily.dev before committing to the switch."}}]}
```

