Description
There is a tight coupling in the directory structure requirements for the Python bindings. Currently, WriteYamlFile.py requires yamlphreeqcrm.py to be located in the exact same directory to function correctly, rather than properly utilizing the installed phreeqcrm package namespace.
If yamlphreeqcrm.py is moved or packaged normally, the imports break.
Proposed Changes / Solutions
To make the Python bindings more robust and standard, the file layout and build system need to be refactored:
- Restructure Python Package Layout: Consider moving or bundling
swig/python/yamlphreeqcrm.py so that its placement aligns logically with the main package initialization file (src/phreeqcrm/__init__.py).
- Update Build Configurations: The build scripts must be updated to reflect any directory changes and ensure the files are installed correctly together. This will require updates to:
CMakeLists.txt
Makefile.am
Description
There is a tight coupling in the directory structure requirements for the Python bindings. Currently,
WriteYamlFile.pyrequiresyamlphreeqcrm.pyto be located in the exact same directory to function correctly, rather than properly utilizing the installedphreeqcrmpackage namespace.If
yamlphreeqcrm.pyis moved or packaged normally, the imports break.Proposed Changes / Solutions
To make the Python bindings more robust and standard, the file layout and build system need to be refactored:
swig/python/yamlphreeqcrm.pyso that its placement aligns logically with the main package initialization file (src/phreeqcrm/__init__.py).CMakeLists.txtMakefile.am