Plan

tags: planning

What to cover

  • Ease of use, constraints (bind(C) requirement, derived type support, finalization, )
  • Memory management, function callbacks
  • Build system integration (compiling of extension modules, distribution, )
  • Stability (frequent tool chain changes), portability (platforms, Python implementations), runtime overhead
  • Integration with OpenMP, MPI, CAF (mpi4py, )

Which packages to cover

Criteria for inclusion

  • Comprehensive
  • Mature
  • Well-maintained

Automatic interface generators

  • f2py + (f90 wrap)

Python C interface

  • ctypes
  • cffi
  • Cython
  • NumPy ctypes