charmplusplus / charm4py

Parallel Programming with Python and Charm++
https://charm4py.readthedocs.io
Apache License 2.0
289 stars 21 forks source link

Cython3 migration #249

Closed mayantaylor closed 4 months ago

mayantaylor commented 4 months ago

Migrating to Cython 3 from Cython 0.29 (relevant Cython docs here)

Most notably, this involves supporting Cython with language_level=3 (as Cython3 drops support for Python2). I'm marking supporting python functions in charmlib_cython.pyx as noexcept to match the c++ function signatures, but I'm not sure if this is the best approach or if exception types should be specified instead. Relevant Cython change documented here.

mayantaylor commented 4 months ago

Note that cython compiler conditionals (IF) are deprecated and will be removed in a later release. Relevant Cython issue here. There are a couple uses of IF in charmlib_cython.pyx that will need to be handled in the future.