The Hero Python API can easily load modules that are written in Python and only use built-in Python modules. If you want to include external Python packages such as Numpy Scipy, or Pandas, then your environment must be setup to allow that.
If all of the Python packages that you need are included in a base Anaconda environment, then it is typically sufficient to modify your environment to load that base environment. On both Windows and Linux, this can be done by opening a terminal that has access to the conda executable (start an Anaconda/MiniForge prompt on Windows, load the Anaconda module on Linux) and then run the command `conda init`. Note that the conda base environment must utilize a version of Python that is compatible with Hero. As of the time of writing, Hero utilizes Python 3.9, so the anaconda3-2022.10 module can be utilized on the NG Denali HPC.
It has been observed on the NG Denali HPC that the libstdc++.so.6 file loaded by the Hero executable on startup may be older than the library required by the Python Pandas libraries, causing a user-defined Python API file to fail to load if it imports pandas. To work around this, you can force Hero to load the newer version of libstdc++.so.6 that comes with Pandas. As of the time of writing, adding the following line to your ~/.bashrc file on the Denali HPC before running the qhero script will fix this issue: export LD_PRELOAD=/apps/anaconda3/2022.10/lib/python3.9/site-packages/pandas/_libs/window/../../../../../libstdc++.so.6