Mureq позволяет отправлять HTTP-запросы. Всё происходит автоматически — теперь не нужно вручную создавать очереди строк в URL, а также формировать и кодировать PUT/POST-данные.
>>> mureq.get('https://clients3.google.com/generate_204')
Response(status_code=204)
>>> response = _; response.status_code
204
>>> response.headers['date']
'Sun, 26 Dec 2021 01:56:04 GMT'
>>> response.body
b''
>>> params={'snap': 'certbot', 'interface': 'content'}
>>> response = mureq.get('http://snapd/v2/connections', params=params, unix_socket='/run/snapd.socket')
>>> response.status_code
200
>>> response.headers['Content-type']
'application/json'
>>> response.body
b'{"type":"sync","status-code":200,"status":"OK","result":{"established":[],"plugs":[],"slots":[]}}'
Разработчик mureq создал простую и удобную библиотеку, которая является альтернативой популярной python-requests. В первую очередь он ориентировался на то, чтоб добиться производительности, безопасности и простоты.
Python-requests использует очень много памяти — по большей степени из-за таких зависимостей, как chardet, которые нужны не каждому программисту. Mureq не использует внешние библиотеки вовсе.
Ниже приведены сравнения использования памяти python-requests и mureq для Python 3.9.7 на Ubuntu 21.10 для amd64:
user@impish:~$ python3 -c "import os; os.system('grep VmRSS /proc/' + str(os.getpid()) + '/status')"
VmRSS: 7404 kB
user@impish:~$ python3 -c "import os, mureq; os.system('grep VmRSS /proc/' + str(os.getpid()) + '/status')"
VmRSS: 13304 kB
user@impish:~$ python3 -c "import os, mureq; mureq.get('https://www.google.com'); os.system('grep VmRSS /proc/' + str(os.getpid()) + '/status')"
VmRSS: 15872 kB
user@impish:~$ python3 -c "import os, requests; os.system('grep VmRSS /proc/' + str(os.getpid()) + '/status')"
VmRSS: 21488 kB
user@impish:~$ python3 -c "import os, requests; requests.get('https://www.google.com'); os.system('grep VmRSS /proc/' + str(os.getpid()) + '/status')"
VmRSS: 24352 kB
Python-requests использует десятки тысяч строк стороннего кода, который не может быть адекватно проанализирован на уязвимости. Обычно Python-приложения с внешними зависимостями наиболее подвержены хакерским атакам. Mureq содержит всего 350 строк кода и может быть проверен прямо во время разработки.
Кроме этого, mureq — это простое дополнение для любой экосистемы. Библиотека не усложняет разработку и отладку приложений и может легко изменяться под конкретные условия.
Подробнее познакомиться с mureq можно на официальной Github-странице библиотеки.
Вот как на это отреагировали пользователи Reddit:
“Кто-нибудь думал о том, чтобы добавить эту библиотеку под ‘капот’ python-requests? Как, например, альтернативный вариант?”

“README выглядит очень антагонистично. Но в любом случае звучит довольно круто!”

“Это очень круто! Попробую, как только будет время. Говорить про полноценную замену python-requests — это, конечно, слишком. Но для большинства скриптов и небольших приложений — самое то”.
