Repository navigation
Development Setup
Requires Python 3.12 or newer. Windows for the GUI and packaging work; the engine and its tests are platform-neutral.
git clone https://github.com/sajidbuet/OMRFlow.git
cd OMRFlow
python -m venv .venv
.\.venv\Scripts\Activate.ps1
pip install -e ".[dev]"Run it:
python -m omr_scanner.mainThis is also the way to run OMRFlow if your organisation will not allow an unsigned installer.
All three must pass. There is no "the linter is wrong" exemption — if a rule
is genuinely wrong, change the rule in pyproject.toml in its own commit and
say why.
ruff check src tests
mypy src/omr_scanner
pytestOr in one step, with a summary:
.\scripts\release\Invoke-Tests.ps1 # everything
.\scripts\release\Invoke-Tests.ps1 -Fast # unit only, a couple of minutesThe full suite is roughly half an hour on an idle machine and considerably longer on a busy one: it processes real images, opens real databases and drives real Qt widgets.
Needs the extra packaging dependencies, and Inno Setup for the installer:
pip install -e ".[dev,packaging]"
winget install --id JRSoftware.InnoSetupSee Release Process.
-
Architecture — and
docs/ARCHITECTURE.mdbefore adding a module - Testing — especially the GUI testing policy
- Contribution Guide
-
docs/DEVELOPMENT_GUIDE.md— environment detail, settings locations, and how to add a database migration
0.1.0-alpha.2 · Alpha
Getting Started
User Guide
- Overview
- Projects
- Template Design
- Scanning
- Processing
- Review & Resolution
- Attendance
- Answer Keys & Scoring
- Results & Reports
Examination Sets
Reference
- Project Format
- Attendance Workbook Format
- Answer Key Format
- Result Workbook Format
- Recognition Symbols
Administration
Troubleshooting
Developers
Project