К базе лучше и правда обращайся через API. Напрямую битриксоиды запретили какими-то махинациями. То есть к базе ты подключишься, а запросы делать из питона не получится.
Через АПИ, на самом деле, делается в несколько строчек:
Для начала, класс, который будет делать запросы, отнаследуй от Entity\DataManager.
Затем, в конструкторе пропиши:
$connect = Application::getConnection();
$this->connect = $connect;
$sqlHelper = $connect->getSqlHelper();
Это будет создание объекта БД.
Готово, теперь можно делать запросы.
$sql = "ВАШ ЗАПРОС;";
$recordset = $this->connect->query($sql);
Если вы хотите получить результаты запроса и как-то их изменить или использовать, то вот:
while ($record = $recordset->fetch(\Bitrix\Main\Text\Converter::getHtmlConverter()))
{
$data[] = $record;
}
В данном куске информация записывается в массив $data.
Инструкция, конечно, для PHP, но вся эта радость может выполнятся в питоне, тут советую просто погуглить. Например, как-то так:
https://ruphp.com/python-php-3.html
Или, как описывается тут:
https://askdev.ru/q/vypolnenie-php-koda-v-python-1...