Skip to content

anton2yakovlev/HttpLibs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 

Repository files navigation

HttpLibs — сравнение HTTP-библиотек Python (2025)

Ниже — сжатая таблица по наиболее популярным клиентским HTTP-библиотекам в Python. Фокус на синхрон/async, стандартность и ключевые фичи.

Легенда

  • ✅ — есть из коробки
  • ❌ — нет/не заявлено

Ключевые отличия

Библиотека Asyncio Стандартная библиотека HTTP/2 Ведущие особенности
requests (сторонняя) Простота, «де‑факто» стандарт для синхронных запросов; сессии, cookies, редиректы; аутентификация; экосистема плагинов (например, requests-html).
httpx (сторонняя) Современный клиент: sync/async; HTTP/2, WebSocket; клиент/сервер; совместим с API requests; интеграция с pytest (через pytest-httpx).
aiohttp (сторонняя) Оптимизирован для конкурентных async‑нагрузок; может работать как HTTP‑сервер; поддержка WebSocket.
urllib.request (stdlib) Входит в Python; базовый синхронный клиент поверх http.client; ниже уровень удобства.
http.client (stdlib) Максимально низкоуровневый клиент; редко используется напрямую.
urllib3 (сторонняя) Управление пулом соединений, ретраи, прокси, TLS; используется как база в requests и крупных проектах (например, botocore).
httplib2 (сторонняя) Упор на кеширование и эффективность; поддержка ETag/кеша.

Быстрый старт (локально)

# Создать и активировать виртуальное окружение
python3 -m venv .venv && source .venv/bin/activate

# Обновить pip и установить библиотеки для сравнения/тестов
python -m pip install -U pip
python -m pip install "httpx[http2]" aiohttp requests urllib3 httplib2 pytest-httpx

Комментарии: все пакеты — пользовательские (кроме urllib.request и http.client, которые идут в составе стандартной библиотеки Python).

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages