Conversation
|
@davidcortesortuno This moves away from setup.py to more modern way of building Python packages - fully pyproject.toml-able, no Python code executed during build. |
|
@davidcortesortuno still need to fix the Docker builds. |
|
I really like the idea of moving to |
|
@davidcortesortuno it's just become more standard unfortunately/fortunately depending on your perspective. The plus side is that by using standard FindX stuff in CMake it can hook into pkgconfig and find the libraries using stnadard methods for Linux. It's more familiar for packagers. I was looking at trying to get Fidimag into Spack https://spack.io/ and with this sort of setup it's all quite easy as it's a well trodden route. The main thing is that setup.py is now not seen as a good option; people don't want to run arbitrary Python code at If you try this (obviously you need CMake installed) you see that it'll recompile automatically on change too, it's quite seamless. |
|
Fair enough. I was also thinking if we should move away from Cython as well, in favour of something like I recently saw that Sundials 7.6 started to provide experimental official Python bindings https://sundials.readthedocs.io/en/latest/Python/Usage.html This would allow us to drop our sundials |
|
PyBind11 is very popular but I've never tried it personally. I'm not sure the Cython stuff matters given the overhead of calls will be tiny compared to the C function calls. |
|
Re: Sundials Python bindings - maybe as another stage after this? Don't want the PR to grow much more :D |
Sure! |
Depends on other PR