Skip to content

Migrate to PySide6 with full feature set, theming, and CI/CD pipeline#2

Merged
Imran-S-heikh merged 9 commits into
masterfrom
pyside6-migration
Mar 3, 2026
Merged

Migrate to PySide6 with full feature set, theming, and CI/CD pipeline#2
Imran-S-heikh merged 9 commits into
masterfrom
pyside6-migration

Conversation

@Imran-S-heikh

Copy link
Copy Markdown
Collaborator

Summary

Complete rewrite of Proteus from customtkinter to PySide6 with a modular
architecture, new features, and a production-ready packaging pipeline.

UI

  • Migrated from customtkinter to PySide6 (Qt) for native look and full styling support
  • Modular layout: TopBar + Sidebar + Canvas + StatusBar
  • Light / Dark / High-Contrast themes with one-click toggle, persisted across sessions
  • Collapsible sidebar sections, zoom controls in status bar

Features

  • 4 Sharpen options: Original (unsharp mask), B/W Auto (Otsu), B/W 128, B/W Custom
  • PCA navigation: Prev Result / Next Result with Component N of M status
  • Pseudocolor merge with custom band labels (e.g. UV + IR)

Packaging

  • PyInstaller spec optimized to ~145MB (down from 800MB+)
  • One-command build scripts for Linux, macOS, and Windows
  • Prebuilt icons (.ico + .icns) committed to repo

CI/CD

  • GitHub Actions CI: tests on Ubuntu, Windows, macOS on every push
  • GitHub Actions Release: builds all 3 platforms and creates GitHub Release on tag push

@Imran-S-heikh Imran-S-heikh merged commit 3bb95e5 into master Mar 3, 2026
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant