TGViewer
Zen of Python Zen of Python @zen_of_python · 18.9K subscribers
Post #4923 1.57K
Актуальный openai — 3.5.0 — не тянет за собой httpx. В зависимостях SDK стоит httpx2: отдельный пакет, в который команда Pydantic перенесла сопровождение httpx, потому что оригинал последнее время почти не развивался, а сам он, по формулировке Pydantic, «лежит в критическом пути слишком многих продакшен-систем».

Если клиент создаётся без своего http_client, вызовы, разбор ответов, стриминг, ретраи и числовые таймауты работают как раньше. Смотреть стоит в три места.

🔘 import httpx в вашем коде упадёт, если пакет приезжал только вместе с SDK и никто больше его не ставит. Лечится строчкой httpx в зависимостях или переносом импортов на httpx2.
🔘 Собственный http_client собирается из нового пакета — DefaultHttpx2Client, httpx2.Timeout, httpx2.HTTPTransport.
🔘 Проверка TLS-сертификатов переехала с certifi на системное хранилище доверенных корней, и сам certifi SDK тоже больше не ставит.

Третий пункт бьёт по проду: минимальный образ без системных CA-сертификатов, корпоративный прокси, чей корень лежал только в certifi, свой доработанный бандл — во всех этих случаях верификация может начать падать. Поднимается либо установкой CA в системное хранилище, либо явным бандлом через SSL_CERT_FILE или каталогом в SSL_CERT_DIR (обе переменные читаются при trust_env=True, это значение по умолчанию), либо своим ssl.SSLContext в параметре verify.

Инструкция по миграции лежит в репозитории SDK — там же про изменения в исключениях транспорта, event hooks и моках через RESPX.
  • ❤ 1
More from @zen_of_python
  1. Sep 20, 2026Как collections.deque хранит элементы блоками У deque два конца, поэтому легко представить…
  2. Sep 20, 2026Что ускоряет django-msgspec в Django и где он расходится с json django-msgspec заменяет ко…
  3. Sep 20, 2026Почему миллион чисел в Python занимает 35 МБ Список из миллиона целых, которые помещаются…
  4. Sep 19, 2026Как перевести Python-сервер MCP с FastMCP на SDK 2.x Свежая установка зависимостей сломала…
  5. Sep 19, 2026Как кэшировать методы чужого Python-клиента Если библиотечный клиент нельзя менять, его ме…
  6. Sep 19, 2026Где заканчивается ускорение NumPy и что выбрать дальше Векторизация выполняет цикл низкоур…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →