TGTGInsightаналитика telegramLIVE / telegram public index
← R4marketing | канал Алексея Селезнёва | Язык R
R4marketing | канал Алексея Селезнёва | Язык R avatar

TGINSIGHT POST

Post #1353

@R4marketing

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

Просмотры1,760Количество просмотров
Опубликован26 янв.26.01.2026, 09:57
Содержимое поста

Содержимое

plumber2 Ребята из Posit переосмыслили plumber и выпустили plumber2. И это не «plumber v2», а полноценный перезапуск API-фреймворка для R. Идея простая: чинить старую архитектуру дальше было бессмысленно — накопилось слишком много компромиссов. В plumber: • смешивались path / query / body параметры • filters и preempt добавляли много магии и мало прозрачности • аннотации и документация были ограничены • архитектура плохо подходила для async и масштабирования В plumber2 это всё пересобрали: • чётко разделили параметры запроса • path → аргументы функции, query → query, body → body • полностью переработали аннотации (типы, default, enum, OpenAPI) • убрали filters и preempt • построили сервер на fiery, request/response — на reqres • заложили поддержку async и WebSockets # Было (plumber) #* @get /user/<id> function(id, name) { ... } # Стало (plumber2) #* @get /user/<id:int> #* @async function(id, query) { # id — строго из пути # query$name — из параметров запроса # Выполняется асинхронно! } Важно: plumber2 не обратно совместим с plumber — это осознанное архитектурное решение. Итог простой: plumber доказал, что API на R возможны, а plumber2 делает их архитектурно нормальными — ближе к FastAPI-подходу, но в R-экосистеме. Со всей документацией можно ознакомиться по ссылке. #новости_и_релизы_по_R