Параметризация SQL запросов

Часто работаю с задачами, когда Python коде нужно выполнить SQL запрос с изменяющимися параметрами.

Вручную менять сам запрос конечно невозможно каждый раз, он должен по формату функции для вызова запроса с разными например параметрами фильтрации.

И вот для таких целей нужно использовать шаблонизацию. Вариантов много:

  • f-строки и Python функции
  • библиотека sqlalchemy
  • dbt модели

Но есть еще отдельные библиотеки, которые работают на базе jinja шаблонизации, например jinjasql

Это кажется золотой серединой, если например f-строк не хватает или в решении это может быть не безопасно из sql-инъекций, а dbt является избыточным решением

Ставь 👍 если раньше не слышал про такое и хочется конкретных примеров использования посмотреть