TGViewer
Библиотека питониста | Python, Django, Flask Библиотека питониста | Python, Django, Flask @pyproglib · 37.3K subscribers
Post #7532 3.1K
⚡️ Google представил CEL-expr-python: мощный язык правил теперь нативно в Python

Google официально открыл исходный код CEL-expr-python — реализации Common Expression Language (CEL) для Python.

Если вы строите системы, где нужно безопасно вычислять условия «на лету» (например, правила доступа или валидацию данных), этот инструмент станет вашим фаворитом.

CEL (Common Expression Language) — это не-Тьюринг-полный язык выражений. Он специально создан простым, быстрым и, главное, безопасным. В отличие от обычного eval(), CEL гарантирует отсутствие побочных эффектов и всегда завершает выполнение.


💎 Вы можете позволить пользователям писать свои правила (фильтры, политики доступа) и не бояться, что они «положат» сервер бесконечным циклом или украдут данные.
💎 Библиотека написана как обертка над официальной реализацией на C++. Это значит, что вы получаете максимальную производительность и 100% совместимость со стандартами Google.
💎 Выражение, написанное для Python, будет работать точно так же в Go или C++ сервисах.

Где это использовать:
1. Написание гибких правил RBAC/ABAC.
2. Проверка сложных условий, которые приходят из конфигов или БД.
3. Если нужно дать пользователю возможность самому настраивать логику фильтрации в UI.

Пример кода:

from cel_expr_python import cel

# Создаем среду и объявляем переменные
env = cel.NewEnv(variables={"age": cel.Type.INT})

# Компилируем условие
expr = env.compile("age >= 18 ? 'Доступ разрешен' : 'Доступ запрещен'")

# Вычисляем
print(expr.eval(data={"age": 21})) # Доступ разрешен



🔗 Репозиторий

📍 Навигация: Вакансии • Задачи • Собесы

🐸 Библиотека питониста

#буст
  • ❤ 4
  • 👍 1
More from @pyproglib
  1. Sep 30, 2026🔥 Последний день для разработчиков AI уже пишет код. Теперь важнее научиться встраивать е…
  2. Sep 25, 2026🔥 Курс «ИИ для разработчиков» уже стартовал И мы решили открыть первое занятие всем — мож…
  3. Sep 20, 2026👻 94% токенов уходят не на код Анализ запусков показал: основная часть токенов уходит на…
  4. Sep 19, 2026📚Напоминаем про наш полный курс «Самоучитель по Python для начинающих» Мы написали и собр…
  5. Sep 15, 2026😭 Как не потратить недельный лимит AI-кодинга за три дня? Разберём на вебинаре, как трати…
  6. Sep 15, 2026⏱️ Справочник по Big-O в Python Для тех, кто хочет писать не просто работающий, а эффектив…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →