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

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

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

Embar — это новый ORM для Python с сильной типизацией и SQL‑образным синтаксисом, вдохновлённый Drizzle и рассчитанный на Python 3.14 и выше.

❓Что такое Embar:

Embar ставит целью сделать работу с БД в Python максимально типобезопасной: ваш type checker знает валидные аргументы и точные типы результатов, а LSP подсказывает, как собрать нужный запрос. Запросы пишутся в SQL‑подобном стиле, но при этом вы всегда можете просто использовать сырой SQL, когда нужно.

🔹Поддерживаемые БД и стек:

Сейчас Embar поддерживает три клиента: SQLite 3 через стандартную библиотеку, Postgres через psycopg3 и Postgres через async‑клиент psycopg3 (рекомендуется именно async‑вариант). Для валидации используется Pydantic, а дизайн библиотеки хорошо ложится на привычные сценарии с FastAPI.

🔻Фичи и ограничения:

Embar активно использует новые template strings (t‑строки), поэтому поддерживает только Python 3.14. Есть CLI для генерации миграций с помощью LLM и ANTHROPIC_API_KEY, но корректный diff миграций пока в разработке.

#python #orm #asyncio #postgres #sqlite #typing #pydantic #python314 #fastapi #drizzleinspired

📱Ссылка на репозиторий:
https://github.com/carderne/embar
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍2🔥1
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