Move the amici.swig_wrappers.ExpData logic into the swig-generated ExpData.
This avoids shading the ExpData class by amici.swig_wrappers.ExpData.
The old implementation prevented using e.g. isinstance(x, amici.ExpData).
This required also:
Moving some annotation types and _get_ptr from amici.swig_wrappers to the swig-generated amici.py
Some smaller changes to allow for using from __future__ import annotations in amici.py
Move the
amici.swig_wrappers.ExpData
logic into the swig-generatedExpData
. This avoids shading theExpData
class byamici.swig_wrappers.ExpData
. The old implementation prevented using e.g.isinstance(x, amici.ExpData)
.This required also:
_get_ptr
fromamici.swig_wrappers
to the swig-generatedamici.py
from __future__ import annotations
inamici.py
Closes #2380