Telegram Group & Telegram Channel
Вышел httr2 1.0.0

Команда Хедли работала над вторым поколением httr на протяжении последних двух лет, и вчера был официальный релиз стабильной версии httr2.

httr2 является преемником httr.Основное его отличие состоит в том, что у него есть явный объект запроса, который можно создать с помощью нескольких вызовов функций. Это делает интерфейс более естественным для работы в пайпах и в целом упрощает жизнь, поскольку вы можете итеративно создавать сложный запрос. httr2 также основан на 10-летнем опыте разработки пакетов, который мы накопили с момента создания httr, поэтому его использование должно быть более удобным. Если вы в настоящее время являетесь пользователем httr, вам не нужно переходить на него, поскольку мы продолжим поддерживать пакет в течение многих лет, но если вы начинаете новый проект, я бы рекомендовал вам попробовать httr2.

От себя добавлю, что с момента выхода httr2 все свои новые пакеты я уже писал на его основе.

————————————————
Что нового в httr2 1.0.0

В этом выпуске представлены улучшенные инструменты для выполнения нескольких запросов, а также множество исправлений ошибок и незначительных улучшений для OAuth.

Для управления политикой отправки набора запросов в данном релизе добавлены следующие 3 функции:

req_perform_sequential() - берет список запросов и выполняет их по одному.
req_perform_parallel() - берет список запросов и выполняет их параллельно (до 6 одновременно по умолчанию). По смыслу похоже на req_perform_sequential(), но, очевидно, быстрее за счет потенциальной нагрузки на сервер. У него также есть некоторые ограничения: самое главное, он не может обновить токен OAuth с истекшим сроком действия и игнорирует политику обработки ошибок настроенную через`req_retry()` и ограничение скорости отправки запросов через req_throttle().
req_perform_iterative() - принимает один запрос и функцию обратного вызова для генерации следующего запроса из предыдущего ответа. Это будет продолжаться до тех пор, пока функция обратного вызова не вернется NULL или max_reqs не будут выполнены запросы. Это очень полезно для API с поддержкой пагинации, которые сообщают только URL-адрес следующей страницы.

Небольшой пример кода для работы с набором запросов:

# формируем URL для запроса
urls <- paste0("https://swapi.dev/api/people/", 1:10)
# генерируем список объектов запроса
reqs <- lapply(urls, request)
# последовательно отправляем каждый запрос из списка
resps <- req_perform_sequential(reqs)

# функция для парсинга результатов
sw_data <- function(resp) {
tibble::as_tibble(resp_body_json(resp)[1:9])
}
# парсинг результата
resps |> resps_data(sw_data)


● В функцию req_url_query() добавлен аргумент .multi, который позволяет управлять поведением параметра, если вы передаёте в него набор значений в виде вектора:
- .multi = "comma" - разделение значений через запятую
- .multi = "pipe" - разделение значений через |
- .multi = "explode" - создание одного параметра для каждого значения (например a = c(1, 2) конвертируется в ?a=1&a=2)

● Так же у пакета теперь появился официальный логотип, который вы видите на изображении к посту.

Ссылки:
- Прочитать о выпуске httr2 1.0.0 можно по ссылке

Полезные материалы по httr2:
- Начало работы с httr2
- Оборачиваем API с помощью httr2
- Видео урок по созданию пакета обёртки над API с помощью httr2

#новости_и_релизы_по_R



group-telegram.com/R4marketing/1301
Create:
Last Update:

Вышел httr2 1.0.0

Команда Хедли работала над вторым поколением httr на протяжении последних двух лет, и вчера был официальный релиз стабильной версии httr2.

httr2 является преемником httr.Основное его отличие состоит в том, что у него есть явный объект запроса, который можно создать с помощью нескольких вызовов функций. Это делает интерфейс более естественным для работы в пайпах и в целом упрощает жизнь, поскольку вы можете итеративно создавать сложный запрос. httr2 также основан на 10-летнем опыте разработки пакетов, который мы накопили с момента создания httr, поэтому его использование должно быть более удобным. Если вы в настоящее время являетесь пользователем httr, вам не нужно переходить на него, поскольку мы продолжим поддерживать пакет в течение многих лет, но если вы начинаете новый проект, я бы рекомендовал вам попробовать httr2.

От себя добавлю, что с момента выхода httr2 все свои новые пакеты я уже писал на его основе.

————————————————
Что нового в httr2 1.0.0

В этом выпуске представлены улучшенные инструменты для выполнения нескольких запросов, а также множество исправлений ошибок и незначительных улучшений для OAuth.

Для управления политикой отправки набора запросов в данном релизе добавлены следующие 3 функции:

req_perform_sequential() - берет список запросов и выполняет их по одному.
req_perform_parallel() - берет список запросов и выполняет их параллельно (до 6 одновременно по умолчанию). По смыслу похоже на req_perform_sequential(), но, очевидно, быстрее за счет потенциальной нагрузки на сервер. У него также есть некоторые ограничения: самое главное, он не может обновить токен OAuth с истекшим сроком действия и игнорирует политику обработки ошибок настроенную через`req_retry()` и ограничение скорости отправки запросов через req_throttle().
req_perform_iterative() - принимает один запрос и функцию обратного вызова для генерации следующего запроса из предыдущего ответа. Это будет продолжаться до тех пор, пока функция обратного вызова не вернется NULL или max_reqs не будут выполнены запросы. Это очень полезно для API с поддержкой пагинации, которые сообщают только URL-адрес следующей страницы.

Небольшой пример кода для работы с набором запросов:

# формируем URL для запроса
urls <- paste0("https://swapi.dev/api/people/", 1:10)
# генерируем список объектов запроса
reqs <- lapply(urls, request)
# последовательно отправляем каждый запрос из списка
resps <- req_perform_sequential(reqs)

# функция для парсинга результатов
sw_data <- function(resp) {
tibble::as_tibble(resp_body_json(resp)[1:9])
}
# парсинг результата
resps |> resps_data(sw_data)


● В функцию req_url_query() добавлен аргумент .multi, который позволяет управлять поведением параметра, если вы передаёте в него набор значений в виде вектора:
- .multi = "comma" - разделение значений через запятую
- .multi = "pipe" - разделение значений через |
- .multi = "explode" - создание одного параметра для каждого значения (например a = c(1, 2) конвертируется в ?a=1&a=2)

● Так же у пакета теперь появился официальный логотип, который вы видите на изображении к посту.

Ссылки:
- Прочитать о выпуске httr2 1.0.0 можно по ссылке

Полезные материалы по httr2:
- Начало работы с httr2
- Оборачиваем API с помощью httr2
- Видео урок по созданию пакета обёртки над API с помощью httr2

#новости_и_релизы_по_R

BY R4marketing | канал Алексея Селезнёва | Язык R




Share with your friend now:
group-telegram.com/R4marketing/1301

View MORE
Open in Telegram


Telegram | DID YOU KNOW?

Date: |

Meanwhile, a completely redesigned attachment menu appears when sending multiple photos or vides. Users can tap "X selected" (X being the number of items) at the top of the panel to preview how the album will look in the chat when it's sent, as well as rearrange or remove selected media. "This time we received the coordinates of enemy vehicles marked 'V' in Kyiv region," it added. Recently, Durav wrote on his Telegram channel that users' right to privacy, in light of the war in Ukraine, is "sacred, now more than ever." But the Ukraine Crisis Media Center's Tsekhanovska points out that communications are often down in zones most affected by the war, making this sort of cross-referencing a luxury many cannot afford. Ukrainian forces have since put up a strong resistance to the Russian troops amid the war that has left hundreds of Ukrainian civilians, including children, dead, according to the United Nations. Ukrainian and international officials have accused Russia of targeting civilian populations with shelling and bombardments.
from us


Telegram R4marketing | канал Алексея Селезнёва | Язык R
FROM American