Prototype pip packaging for SMTK
This is a draft exploring the feasibility of pip packaging for smtkCore (so that pip install smtk might get us something usable for a trame server). See pyproject.toml in this MR's changes for an overview; it uses scikit-build-core to build SMTK inside pip install . (which you run in the top-level source directory).
Remaining issues
The remaining issues are mostly related to third-party libraries that are not handled properly
- boost libraries need to be mangled or removed (boost-filesystem, boost-system, boost-datetime, and (transitively) boost-atomic);
- MOAB is once again a problem;
- units needs to be pip packaged as well (and stick to an ABI); it is not under heavy development so this should not be an issue;
- libarchive needs to be removed or mangled.
Other minor issues:
- Since plugins depend on ParaView, we cannot use plugin loading to initialize managers. Instead more Registar classes must be wrapped (< 1 day) and some methods made to invoke them scripted in
smtk/__init__.py
Future work
It would be good to expose extensions to SMTK as separate python modules. For example:
pip install smtk
pip install smtk-vtk
pip install smtk-markup
pip install smtk-vtk-session
pip install smtk-paraview
pip install smtk-opencascade-session
Edited by David Thompson