Dear Numba Team,
I hope this message finds you well, despite the immense workload you are shouldering. I would like to express my profound appreciation for your selfless dedication and the extraordinary effort you put into the development of Numba.
The upcoming release promises an impressive array of features, and I’m particularly excited about the non-constant exception returns. I have four libraries on PyPI (thermo, chemicals, fluids, ht) that can integrate with Numba’s remarkable acceleration. I have designed them so that Numba’s integration is entirely optional, preserving their functionality even without it. I can mark functions as unsupported by Numba, and many of them already are.
I ran each of my libraries test suites of these libraries with the new version of numba on Python 3.11. I found 5 tests that use numba that are now failing (whereas with Python 3.8-3.10 and the previous version of numba they were passing). I think there is a common issue between each of the failures as they all return the same error message while compiling:
UnsupportedError: Failed in nopython mode pipeline (step: analyzing bytecode)
CALL_FUNCTION_EX with **kwargs not supported
I’ve tried to make a minimal example, below. I hope this feedback is of some use. Thank you all for your very hard work on Numba!
import numba
@numba.njit
def Thome(m, x, D, rhol, rhog, mul, mug, kl, kg, Cpl, Cpg, Hvap, sigma, Psat,
Pc, q):
if q is None :
q = 1e5
return Thome(m=m, x=x, D=D, rhol=rhol, rhog=rhog, kl=kl, kg=kg, mul=mul,
mug=mug, Cpl=Cpl, Cpg=Cpg, sigma=sigma, Hvap=Hvap, Psat=Psat,
Pc=Pc, q=q)
return 1.0
Thome(m=1, x=0.4, D=0.3, rhol=567., rhog=18.09, kl=0.086, kg=0.2, mul=156E-6, mug=1E-5, Cpl=2300.0, Cpg=1400.0, sigma=0.02, Hvap=9E5, Psat=1E5, Pc=22E6, q=1E5)
Warm regards,
Caleb Bell