Please open Telegram to view this post
VIEW IN TELEGRAM
Pythontest
Top pytest Plugins | PythonTest
This is intended to find the most popular (as determined by download count) pytest plugins, as plugins usually have “pytest” in the name.
Counts are the number of downloads over 30 days.
The list
Data last updated: 2025-05-01 06:34:33
…
Counts are the number of downloads over 30 days.
The list
Data last updated: 2025-05-01 06:34:33
…
1 4👍3🔥2
Pristan.
📱 Pristan — это библиотека для построения плагинных систем в Python, где плагины “подцепляются” к хост‑коду автоматически, а сам хост вообще не знает о конкретных реализациях.
Декорируете функцию как слот через
🔹 Ключевые особенности:
🔘 Максимальная простота: объявил функцию и вызываешь её как обычно, плагины прозрачно расширяют или заменяют поведение.
🔘 Pythonic‑подход: декораторы + аннотации типов определяют и контракт, и способ агрегации результатов.
🔘 Type safety: проверки совместимости сигнатур слота и плагинов на основе
🔘 Авто‑обнаружение: плагины находятся через entry points в
🔘 Slot как коллекция: можно смотреть установленные плагины, обращаться к ним по имени (
✅ Если вы пишете расширяемую библиотеку и хотите простую, типобезопасную плагинную систему без собственного фреймворка — pristan как раз для этого.
#python #plugins #pristan #pyproject #entrypoints #typing #decorators #opensource
📱 Ссылка на репозиторий:
https://github.com/mutating/pristan
Декорируете функцию как слот через
@slot, а плагины объявляете как @some_slot.plugin — при вызове слота фактически вызываются все подключённые плагины, а результат агрегируется в list или dict в зависимости от аннотации типов.sigmatch, плюс проверка типов возвращаемых значений через simtypes. pyproject.toml, достаточно указать модуль в секции [project.entry-points.pristan] или в своём namespace.slot['name']()), считать их количество, ограничивать max, требовать уникальные имена или однократный вызов плагина (run_once). #python #plugins #pristan #pyproject #entrypoints #typing #decorators #opensource
https://github.com/mutating/pristan
Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub
GitHub - mutating/pristan: Function-based plugin system with respect to typing
Function-based plugin system with respect to typing - mutating/pristan
1🔥3👍2⚡1