Библиотека питониста | Python, Django, Flask
39.6K subscribers
2.94K photos
81 videos
51 files
4.56K links
Все самое полезное для питониста в одном канале.

Список наших каналов: https://t.iss.one/proglibrary/9197

Курс по ML: https://cl

Для обратной связи: @proglibrary_feeedback_bot

По рекламе: @proglib_adv
РКН: https://gosuslugi.ru/snet/67b885cbd501cf3b2cdb5b36
Download Telegram
👏 Конфиги по-человечески: CueLang, Starlark и боль Python-разработчика

Когда проект растёт, обычные .toml, .yaml и .json превращаются в кошмар — без импортов, функций, комментариев и валидации.

CueLang решает почти всё: строгая типизация, DRY, схемы и экспорт в JSON/YAML. Но беда — только Go, без питонячих биндингов.

А вот Starlark неожиданно оказался достойной альтернативой:
— безопасен (песочница, без доступа к FS и сети);
— расширяем (можно подключать Python-функции);
— даёт контроль над импортами и окружением;
— похож на Python, но только внешне — внутри это совсем другой зверь.

Пример:
import starlark

with open("config.star") as f:
code = f.read()

module = starlark.Module()
stdlib = starlark.Globals.standard()
ast = starlark.parse("config.star", code)
starlark.eval(module, ast, stdlib, None)


Starlark — не замена CueLang, а отличный инструмент, если нужно встроить безопасный DSL в продукт.
Но для личных проектов — Python + Pydantic всё ещё проще и удобнее.

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

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

#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
👍53