Вам нужно именно С в питон перегнать или можно из питона вызвать C/C++ реализацию?
Насчёт трансляторов сомневаюсь. В питоне просто некоторые вещи реализованы принципиально иначе -- например, С/C++ массив не очень транслируется в питоновые типы, это лучше заменять numpy массивами, которые помимо хорошей эффективности ещё и тянут за собой приличного размера библиотеку (в т.ч. реализацию тех же BLAS/LAPACK). В общем, там в каждом случае надо оценивать, во что выливается транслированное значение.
Если же просто требование запускать код на питоне, то я бы C/C++ оформил в виде некоего API, которое "пробросил" на уровень Python, откуда просто вызывать эти функции/объекты.
Существует энное количество способов это сделать: https://realpython.com/python-bindings-overview/. Я использовал boost-python. Технически код на C/C++ компилируется в динамическую библиотеку (dll/so), которая в коде Python просто импортируется стандартным образом (import <module-name>). например, в C/C++ исходнике:
// slon.c compiled to shared library slon.so
int a;
int b;
int fun_add(int x, int y)
{
return x + y;
}
BOOST_PYTHON_MODULE(slon)
{
using namespace boost::python;
//--------------------------------------------------------------------------
//
// exposed variables
//
scope().attr("c_var_a") = a;
scope().attr("c_var_b") = b;
//--------------------------------------------------------------------------
//
// exposed functions
//
def("c_fun_add", fun_add);
}
//------------------------------------------------------------------------------
В Python:
import slon
from slon import c_var_b
from slon import с_fun_add as add
a = slon.c_var_a
result = add(10, 20) - a + c_var_b
<...>
Таким образом можно гибко распределить код между языками, это будет по гибкости и удобству Python, а по эффективности C/C++.