Nettoyage de l'API C

NumPy 2.0 effectue un nettoyage majeur de l'API C. Les macros obsolètes sont supprimées, les en-têtes sont réorganisés et le versionnage ABI est renforcé. Les extensions C compilées pour NumPy 1.x doivent être recompilées.

Guide de migration C

c
/* Avant (NumPy 1.x) */
#include <numpy/arrayobject.h>
#include <numpy/ndarraytypes.h>
/* Macro obsolète : NPY_CHAR */

/* Après (NumPy 2.0) */
#include <numpy/arrayobject.h>
/* NPY_CHAR supprimé */
/* Utiliser NPY_UNICODE ou StringDType */

/* Vérifier la compatibilité ABI */
#if NPY_ABI_VERSION < 0x02000000
  #error "Recompiler avec NumPy >= 2.0"
#endif

Conseil : utilisez numpy.get_include() dans votre setup.py et testez avec numpy>=2.0 en CI.

Sources