Skip to content

Latest commit

 

History

History
9 lines (8 loc) · 1.08 KB

File metadata and controls

9 lines (8 loc) · 1.08 KB

Architecture Decision Record

# Date Decision Alternatives considered Reason chosen
1 2026-03-25 Keep Tkinter for the UI Streamlit, PySide6, web rewrite The original repo was a desktop teaching example; Tkinter preserves that spirit with zero extra runtime complexity.
2 2026-03-25 Split logic into loaders, analytics, renderers, and UI modules Keep monolithic scripts This removes global state, makes testing practical, and supports future feature work without UI regressions.
3 2026-03-25 Use one tabbed app instead of many buttons opening ad-hoc flows Separate windows per dataset A single shell is cleaner for UX and easier to maintain.
4 2026-03-25 Keep datasets in data/ outside the package Embed files into package data This keeps the repo transparent and friendly for learners who want to inspect raw files.
5 2026-03-25 Enforce ruff + pytest + coverage in CI Manual-only testing The formula emphasizes repeatable quality gates and regression protection.