PYTHONOMANIA
273 subscribers
195 photos
3 videos
1 file
616 links
Откройте для себя мир Python в PYTHONOMANIA!

Идеально подходит как для начинающих, так и для опытных разработчиков. Присоединяйтесь к нам, чтобы достичь совершенства в Python!

Сайт: https://pythonomania.github.io/
Download Telegram
Pristan.

📱Pristan — это библиотека для построения плагинных систем в Python, где плагины “подцепляются” к хост‑коду автоматически, а сам хост вообще не знает о конкретных реализациях.

Декорируете функцию как слот через @slot, а плагины объявляете как @some_slot.plugin — при вызове слота фактически вызываются все подключённые плагины, а результат агрегируется в list или dict в зависимости от аннотации типов.

🔹Ключевые особенности:

🔘Максимальная простота: объявил функцию и вызываешь её как обычно, плагины прозрачно расширяют или заменяют поведение.

🔘Pythonic‑подход: декораторы + аннотации типов определяют и контракт, и способ агрегации результатов.

🔘Type safety: проверки совместимости сигнатур слота и плагинов на основе sigmatch, плюс проверка типов возвращаемых значений через simtypes.

🔘Авто‑обнаружение: плагины находятся через entry points в pyproject.toml, достаточно указать модуль в секции [project.entry-points.pristan] или в своём namespace.

🔘Slot как коллекция: можно смотреть установленные плагины, обращаться к ним по имени (slot['name']()), считать их количество, ограничивать max, требовать уникальные имена или однократный вызов плагина (run_once).

✅Если вы пишете расширяемую библиотеку и хотите простую, типобезопасную плагинную систему без собственного фреймворка — pristan как раз для этого.

#python #plugins #pristan #pyproject #entrypoints #typing #decorators #opensource

📱Ссылка на репозиторий:
https://github.com/mutating/pristan
Please open Telegram to view this post
VIEW IN TELEGRAM
1🔥3👍2⚡1