A modern desktop tool for managing hardware/firmware event masks and capture-masks.
- Dual format support (mk1 and mk2)
- Modern PyQt5 GUI with tabs and real-time filtering
- Tri-state selection with undo/redo
- Comprehensive validation and error reporting
- Session management with autosave
- Cross-platform support (primary: RHEL8+)
pip install event-selectorOr for RHEL8+:
sudo dnf install event-selector-*.rpmevent-selector-gui [yaml_file]event-selector --help
event-selector --version
event-selector --debug DEBUG_LEVELEvent Selector follows Clean Architecture principles:
- Presentation Layer: Qt GUI with MVVM pattern
- Application Layer: Use cases and orchestration via Facade
- Domain Layer: Core business logic and entities
- Infrastructure: Technical concerns (logging, config, persistence)
- MVVM: Separates UI from business logic
- Command Pattern: Undo/redo support
- Facade Pattern: Simplified application interface
- Strategy Pattern: Format-specific operations
- Repository Pattern: Session persistence
Each layer has clear boundaries:
- Controllers: < 200 lines
- View Models: < 100 lines
- Views: < 200 lines
- Commands: < 50 lines
pip install -e .[dev]
pre-commit installpytestpython -m buildMIT