impy-project / chromo

Hadronic Interaction Model interface in PYthon
Other
30 stars 7 forks source link

Stop f2py caching #117

Closed HDembinski closed 1 year ago

HDembinski commented 1 year ago

The bug in numpy.f2py will soon be fixed https://github.com/numpy/numpy/pull/22657. Once that PR is through, I would like to remove the f2py cache that we have in src/f2py, it is brittle and gets in the way when you work on the Fortran interface.

I recently worked a lot on the Fortran interface. Our build implementation of the f2py caching with files in src/f2py is not working correctly when you change the fortran source files. The f2py files are not correctly updated when the source files change. Generating the f2py files takes negligible amount of time, so I would like to go back to a simpler build system that does not change these files in the source repo.

We originally took this route because of the numpy bug and because we said that the fortran files will not change a lot. But when we work on chromo we also have to change the fortran code. I made several changes to the EPOS interface and the random number generators. So the assumption does not hold in practice that this part is stable. We have regenerated the src/f2py files many times now.

It is also possible that our cached files become invalid when numpy is updated to a newer version. The generated files are not intended to be stored permanently.