Files
fourdst/src-pybind/bindings.cpp
Emily Boudreaux 4c064445c1 fix(python-bindings): added darwin duplicate rpath patch and fixed python rpath poiting
due to a current bug in meson-python duplicate rpaths are registered in the shared object files created by meson-python. The new masos dynamic loader refuses to load shared object files with duplicate rpaths. There is a small patch script which removes any duplicates. This is a temporary but effective fix (https://github.com/mesonbuild/meson-python/issues/813). Further, there was an issue due to mixed use of pure python and C++ code with name conflicts. This has been resolved so that both python and C++ code can be imported just find now.
2025-11-03 14:26:39 -05:00

24 lines
757 B
C++

#include <pybind11/pybind11.h>
#include <string>
#include "constants/bindings.h"
#include "composition/bindings.h"
#include "config/bindings.h"
PYBIND11_MODULE(_phys, m) {
m.doc() = "Python bindings for the fourdst utility modules which are a part of the 4D-STAR project.";
auto compMod = m.def_submodule("composition", "Composition-module bindings");
register_comp_bindings(compMod);
auto atomicMod = m.def_submodule("atomic", "Species bindings");
register_species_bindings(atomicMod);
auto constMod = m.def_submodule("constants", "Constants-module bindings");
register_const_bindings(constMod);
auto configMod = m.def_submodule("config", "Configuration-module bindings");
register_config_bindings(configMod);
}