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

Merge request reports

Loading