DataLab
DataLab copied to clipboard
Create `sigimax`, a new GUI tools library for DataLab
🎉 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")
- 🔗 DataLab client widgets (migration of DataLab Simple Client GUI)
🗂 Suggested module structure
sigimax/
├── widgets/
│ ├── browser.py
│ ├── logviewer.py
│ ├── hdf5explorer.py
│ └── ...
├── config/
│ ├── settings.py
│ └── defaults.py
├── app/
│ ├── mainwindow_base.py
│ └── welcome_dialog.py
├── client/
└── ...
🚧 Tasks
- [ ] Define boundaries: what stays in
datalab-app, what moves tosigimax - [x] Create new repo
sigimaxin 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) - [ ] Integrate the simple XML-RPC client widgets (GUI part of the old
cdlclientpackage) - [ ] Update internal imports in DataLab accordingly
- [ ] Add initial documentation + usage examples (for reuse in other apps)
- [x] Publish on PyPI under the
sigimaxname
📌 Context
This library complements the newly modularized architecture of the DataLab ecosystem:
-
datalab-platform: GUI frontend -
sigima: 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.
🔗 Related
- #181
- #166