Skip to content

ms_components

ms_components is a set of reusable PySide6 widgets for MolSuite applications: SQLModel tables, a job monitor, a project browser, settings panels, a PyMOL dock, steppers, tool panels, and the shared theme.

Install

ms_components requires Python 3.12. PyMOL comes from the pymol-open-source alpha wheels on PyPI and is installed automatically as a dependency, together with ms_flow; no conda environment is needed:

pip install ms_components

Components

Module Responsibility
ms_components.ms_table Declarative, paginated table over SQLModel
ms_components.ms_monitor Job monitor for an ms_flow workspace: cancel, resume, move
ms_components.ms_executors Hosts and executors: Settings pages and the panel that starts them
ms_components.ms_projects Project browser and project menu
ms_components.ms_settings Typed editor for application settings
ms_components.ms_pymol PyMOL dock and control bar
ms_components.ms_stepper Step-by-step wizard widget
ms_components.ms_tutorial Informative and interactive tours, with Python bindings and optional TOML content
ms_components.tool_panel Configure-then-run frame shared by tools
ms_components.step_dialog Dialog that runs provisioning steps off the GUI thread
ms_components.theme Themes, palette roles, and fonts

Every component receives its dependencies through the constructor. The package keeps no UI singleton and never creates a Qt application implicitly.

Quick look

from PySide6.QtWidgets import QApplication, QLineEdit

from ms_components.theme import apply_theme
from ms_components.tool_panel import ToolPanel

app = QApplication([])
apply_theme("auto", app)

panel = ToolPanel()
section = panel.add_section("Input")
section.add_row("Name", QLineEdit())
panel.show()
app.exec()

Continue with the API guide, copy a complete example, or browse the generated API reference.

License

ms_components is released under the MIT License. Icon and asset licenses are listed in the licenses/ directory of the repository.