Open
Description
π New repository
Here is the associated repository: https://github.com/DataLab-Platform/sigimax
β¨ Objective
Extract and consolidate all generic, reusable GUI and application-layer components from the datalab-app
(formerly cdl
) package into a new standalone library: sigimax
.
This will provide a common foundation for building new Qt-based data analysis applications, both inside and outside of the main DataLab GUI, and facilitate future reuse, testing, and maintenance.
π§± Scope of sigimax
The sigimax
package will include:
- π§° Generic widgets (e.g. from
cdl.widgets
, excluding those specific to DataLab likeconnection.py
,wizard.py
) - βοΈ Application configuration management
- π Logging system and log display widgets
- π Recent file management
- ποΈ HDF5 file browser widget
- πͺ Basic main window template (foundation for standalone apps)
- π Welcome dialog template (e.g. "New project", "Open recent", "Import file")
π Suggested module structure
sigimax/
βββ widgets/
β βββ browser.py
β βββ logviewer.py
β βββ hdf5explorer.py
β βββ ...
βββ config/
β βββ settings.py
β βββ defaults.py
βββ app/
β βββ mainwindow_base.py
β βββ welcome_dialog.py
βββ ...
π§ Tasks
- Define boundaries: what stays in
datalab-app
, what moves tosigimax
- Create new repo
sigimax
in the DataLab-Platform GitHub org - Create Python package scaffolding (PEP 621-style
pyproject.toml
) - Move selected modules from
cdl/
tosigimax/
(preserving git history if possible) - Update internal imports in DataLab accordingly
- Add initial documentation + usage examples (for reuse in other apps)
- Publish on PyPI under the
sigimax
name
π Context
This library complements the newly modularized architecture of the DataLab ecosystem:
datalab-app
: GUI frontendsigima
: computational backend (incl. remote control)sigimax
: base components for UI, configuration, and reusable elements
The goal is to support future development of lightweight, domain-specific applications by providing a clean, tested, and documented foundation.