Polimer: фреймворк для автоматизации цепочек вызовов в Python

Фреймворк Polimer использует аннотации типов Python для автоматического построения цепочек вызовов функций, основываясь на соответствие выходных данных одной функции входным данным другой. Он анализирует аннотации, определяющие «полезную нагрузку» (например, 'price_list', 'num_days') а не просто типы данных, для построения дерева зависимостей. Это позволяет разработчику сконцентрироваться на логике, а не на явном управлении вызовами функций.
Polimer: фреймворк для автоматизации цепочек вызовов в Python
Изображение носит иллюстративный характер

Принцип работы фреймворка включает несколько этапов: загрузка методов и их аннотаций из модулей, построение графа зависимостей на основе аннотаций, топологическую сортировку графа для определения порядка вызовов и использование мета-функции для выполнения цепочки вызовов. Фреймворк позволяет импортировать нужные функции из соответствующих модулей, и вызов целевой функции автоматически активирует всю необходимую цепочку.

Polimer упрощает код, особенно в сложных сценариях, где вычисления происходят в несколько этапов, как конвейер. Пример в статье — определение рыночных режимов на основе биржевых котировок. С использованием Polimer, код сокращается до однострочного вызова целевой функции, при этом все необходимые промежуточные шаги выполняются автоматически. Возможна явная директива для выбора пути вычислений в случае неоднозначности зависимостей (например, с разными вариантами конвертации валют).


Новое на сайте

19215Как новые SaaS-платформы вроде Starkiller и 1Phish позволяют киберпреступникам незаметно... 19214Инженерия ужаса: как паровые машины и математика создали гений Эдгара Аллана по 19213Трансформация первой линии SOC: три шага к предиктивной безопасности 19212Архитектура смыслов в профессиональной редактуре 19209Как беспрецедентный бунт чернокожих женщин в суде Бостона разрушил планы рабовладельцев? 19208Как новые поколения троянов удаленного доступа захватывают системы ради кибершпионажа и... 19207Почему мировые киберпреступники захватили рекламные сети, и как Meta вместе с властями... 19206Как фальшивый пакет StripeApi.Net в NuGet Gallery незаметно похищал финансовые API-токены... 19205Зачем неизвестная группировка UAT-10027 внедряет бэкдор Dohdoor в системы образования и... 19204Ритуальный предсвадебный плач как форма протеста в традиционном Китае 19203Невидимая угроза в оперативной памяти: масштабная атака северокорейских хакеров на... 19202Как уязвимость нулевого дня в Cisco SD-WAN позволяет хакерам незаметно захватывать... 19201Как Google разрушил глобальную шпионскую сеть UNC2814, охватившую правительства 70 стран...
Ссылка