top | item 25343766

(no title)

olq_plo | 5 years ago

Apart from the visible changes to the user interface, I completely swapped out the foundation. iminuit consists - at its core - of Python bindings to the Minuit2 C++ library.

We used to generate those bindings with Cython, but Cython is very bad at generating bindings for C++. It does not support all modern features and imposes restrictions on what you can wrap. It is also an external code generator that you have to install.

Cython was a real problem, so we switched to the excellent pybind11 library. It is C++ header-only library. Generating Python bindings with that is a breeze and it supports all possible C++ constructs. We lost at lot of weight and awkward complexity by switching out the foundation.

discuss

order

No comments yet.