Skip to content

Create a new GUI tools library for DataLab: sigimaxΒ #182

Open
@PierreRaybaut

Description

@PierreRaybaut

πŸŽ‰ 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 like connection.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 to sigimax
  • Create new repo sigimax in the DataLab-Platform GitHub org
  • Create Python package scaffolding (PEP 621-style pyproject.toml)
  • Move selected modules from cdl/ to sigimax/ (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 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

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions