Je veux étendre Python et numpy en écrivant quelques modules en C ou C++, en utilisant BLAS et LAPACK. Je veux également pouvoir distribuer le code en tant que bibliothèques C/C++ autonomes. J’aimerais que ces bibliothèques utilisent à la fois des nombres flottants en simple et double précision. Certains exemples de fonctions que j'écrirai sont le gradient conjugué pour la résolution de systèmes linéaires ou des méthodes d'ordre un accélérées. Certaines fonctions devront appeler une fonction Python depuis le code C/C++.
Après avoir joué un peu avec l'API Python/C et l'API Numpy/C, j'ai découvert que beaucoup de gens préconisent l'utilisation de Cython à la place (voir par exemple cette question ou celle-ci). Je ne suis pas un expert de Cython, mais il semble que pour certains cas, vous devez encore utiliser l'API Numpy/C et savoir comment elle fonctionne. Étant donné que j'ai déjà (un peu) de connaissances sur l'API Python/C et aucune sur Cython, je me demandais s'il avait du sens de continuer à utiliser l'API Python/C, et si l'utilisation de cette API présente certains avantages par rapport à Cython. À l'avenir, je développerai certainement des choses ne concernant pas le calcul numérique, donc cette question ne concerne pas seulement numpy. Une des choses que j'apprécie avec l'API Python/C est le fait que j'apprends des choses sur le fonctionnement de l'interpréteur Python.
Merci.