I would like to suggest that module/submodule interface should be used for the api library. Having functions like get_fortran_stderr is not helpful for the user, and it otherwise complicates the navigation of the interface to find the relevant interface the user would need. Splitting these and making them private to the submodule would simplify the interface.
To properly test if the import works, #444 would be helpful, since that would give a clean environment as if the package was installed on the system. I have implemented something similar in spglib and that could be adapted here as well.
Also, is there a reason for keeping the functions like set_u_matrix as global functions instead of class methods?
I would like to suggest that module/submodule interface should be used for the api library. Having functions like
get_fortran_stderris not helpful for the user, and it otherwise complicates the navigation of the interface to find the relevant interface the user would need. Splitting these and making them private to the submodule would simplify the interface.To properly test if the import works, #444 would be helpful, since that would give a clean environment as if the package was installed on the system. I have implemented something similar in
spgliband that could be adapted here as well.Also, is there a reason for keeping the functions like
set_u_matrixas global functions instead of class methods?