respec / HSPsquared

Hydrologic Simulation Program Python (HSPsquared)
GNU Affero General Public License v3.0
43 stars 17 forks source link

Upgrade to Numba 0.56 to support Python 3.10 & Numpy >=1.22 #100

Open aufdenkampe opened 1 year ago

aufdenkampe commented 1 year ago

Until Numba v0.55 was released in January 2022, there was a critical issue and incompatibility with Numpy >=1.21. That kept us using Numpy 1.20. There have been many improvements to Numpy since then, especially with the huge Numpy 1.22 release in Dec. 2021.

Numba 0.55.2 in May 2022 added support for Numpy 1.22.

Numba 0.56 in July 2022 adds substantial enhancements to jitclass and supports dictionaries, among many other benefits that are very relevant to HSP2.

Python 3.10 adds much better type hinting/annotation, along with enhanced performance (~10% faster than 3.8) and much better error messages.

For all these reasons, for our next release, we should update the recommended environment to Python 3.10 and use Numba 0.56.

cc: @PaulDudaRESPEC, @ptomasula