adam-kerrigan / pybader

Threaded implementation of grid-based Bader charge analysis.
MIT License
9 stars 2 forks source link

pymatgen integration #1

Open janosh opened 1 year ago

janosh commented 1 year ago

This looks like a really nice project! We're having some trouble with installing and running the original Fortran implementation of bader (not M1 Mac compatible) over at https://github.com/materialsproject/pymatgen/pull/3191.

We're looking into switching to pybader instead. Just wanted to check what the long-term development plans for pybader are and if you'd be interested in a PR to add some tests.

I also noticed you started the process of creating python bindings for bader-rs in 2021. Is that still on the table?

adam-kerrigan commented 1 year ago

Hi Janosh,

The long-term plans are to have pybader be bindings of bader-rs. I gave up on the "pure" python implementation when I was trying to adapt the weight method for multi-threading. Now that I've done this I'm quite happy with the speed (even when not threaded) and ability to add more robust critical point detection. The way I see it working is:

I'd like to totally drop the binary from bader-rs but I'm still unsure on this as I also like the idea of having the binary in rust and leave the python for just scripting, in which case the I/O and entry points from pybader will be gone.