@@ -28,36 +28,19 @@ This project is source-available and proprietary. See `LICENSE` for details.
2828The HTML report is static and self-contained with local assets. It is safe to
2929open directly in a browser.
3030
31- ## Quick start
31+ ## Quick start (Windows)
3232
33- ### Windows (PowerShell)
33+ Prebuilt Windows ` .exe ` releases are generated automatically via a GitHub Action.
3434
35- 1 . ` py -3.12 -m venv .venv-3.12 `
36- 2 . ` .\\.venv-3.12\\Scripts\\Activate.ps1 `
37- 3 . git bash: source .venv-3.12/Scripts/activate
38- 4 . Install uv: ` curl -LsSf https://astral.sh/uv/install.sh | sh `
39- 5 . ` uv pip install -r requirements.txt `
40- 6 . Run ` python -m src.gui ` , open the Configuration tab, set ` input_dir ` , and Save (writes ` config.yaml ` )
41- 7 . ` python -m src.main analyze --config config.yaml `
42- - Outputs land in ` input_dir\\analysis ` (` analysis.json ` , ` report.html ` , ` report.css ` , ` report.js ` ).
35+ ## CLI usage
4336
44- ### WSL2 (dev only, Windows run-time)
45-
46- Use WSL2 for development tasks (linting, formatting, tests). Run the app itself from Windows.
47-
48- 1 . ` sudo apt update && sudo apt install python3.12 python3.12-venv build-essential python3.12-dev `
49- 2 . ` python3.12 -m venv .venv-3.12 && source .venv-3.12/bin/activate `
50- 3 . Install uv: ` curl -LsSf https://astral.sh/uv/install.sh | sh ` then ` source ~/.profile `
51- 4 . ` uv pip install -r requirements.txt `
52- 5 . Dev checks: ` python -m compileall src ` and ` black src `
53-
54- ## Commands
37+ ### Commands
5538
5639- ` python -m src.main scan --config config.yaml ` — scan input directory for ` .ARW ` files (+EXIF if ` --json ` ).
5740- ` python -m src.main analyze --config config.yaml ` — score frames, mark duplicates, and write the report.
5841- ` python -m src.main decisions --apply ` — move files into keep/discard subfolders based on ` analysis/decisions.json ` .
5942
60- ## Outputs
43+ ### Outputs
6144
6245By default, outputs are stored under ` input_dir ` :
6346
@@ -68,22 +51,21 @@ By default, outputs are stored under `input_dir`:
6851- ` previews/ ` — generated preview images.
6952- ` output/keep ` and ` output/discard ` — results of applying decisions.
7053
71- ## GUI (optional)
54+ ### GUI (optional)
7255
7356- ` python -m src.gui ` — launch a simple desktop UI to run scan input directory, analyze, and decisions steps (analysis generates previews automatically).
7457- Use the Configuration tab to edit settings (thresholds, face detection, etc.) and Save to ` config.yaml ` .
7558
76- ## Configuration
59+ ### Configuration
7760
7861- Defaults live in the app/GUI; use the Configuration tab to save ` config.yaml ` .
7962- ` preview ` block controls preview size/format; ` analysis ` block tunes thresholds.
8063- Analysis outputs are written under ` input_dir/analysis ` ; previews under ` input_dir/previews ` and keep/discard moves under ` input_dir/output ` .
8164- Set ` input_dir ` to a Windows path (for example, ` D:\photos\shoot1 ` ).
8265
83- ## Face detection (optional)
66+ ### Face detection (optional)
8467
8568- Mediapipe (default) and InsightFace are installed via ` requirements.txt ` ; enable with ` analysis.face.enabled: true ` .
86- - GPU users on Windows may need CUDA/CUDNN on ` PATH ` (e.g., ` C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.2\bin ` and CUDNN ` bin ` ).
8769
8870## Dependencies and optional features
8971
@@ -92,11 +74,34 @@ By default, outputs are stored under `input_dir`:
9274- ` scikit-image ` — optional SSIM/PSNR similarity details in duplicate reasons.
9375- ` mediapipe ` or ` insightface ` — optional face detection backend.
9476
95- ## Style and testing
77+ ## Development notes
78+
79+ ### Windows (PowerShell)
80+
81+ 1 . ` py -3.12 -m venv .venv-3.12 `
82+ 2 . ` .\\.venv-3.12\\Scripts\\Activate.ps1 `
83+ 3 . git bash: source .venv-3.12/Scripts/activate
84+ 4 . Install uv: ` curl -LsSf https://astral.sh/uv/install.sh | sh `
85+ 5 . ` uv pip install -r requirements.txt `
86+ 6 . Run ` python -m src.gui ` , open the Configuration tab, set ` input_dir ` , and Save (writes ` config.yaml ` )
87+ 7 . ` python -m src.main analyze --config config.yaml `
88+ - Outputs land in ` input_dir\\analysis ` (` analysis.json ` , ` report.html ` , ` report.css ` , ` report.js ` ).
89+
90+ ### WSL2 (dev only, Windows run-time)
91+
92+ Use WSL2 for development tasks (linting, formatting, tests). Run the app itself from Windows.
93+
94+ 1 . ` sudo apt update && sudo apt install python3.12 python3.12-venv build-essential python3.12-dev `
95+ 2 . ` python3.12 -m venv .venv-3.12 && source .venv-3.12/bin/activate `
96+ 3 . Install uv: ` curl -LsSf https://astral.sh/uv/install.sh | sh ` then ` source ~/.profile `
97+ 4 . ` uv pip install -r requirements.txt `
98+ 5 . Dev checks: ` python -m compileall src ` and ` black src `
99+
100+ ### Style and testing
96101
97102- Follow ` CODING_STANDARDS.md ` ; format with ` black src ` .
98103- Fast sanity check: ` python3 -m compileall src ` .
99104
100105## Credits
101106
102- - Built collaboratively with OpenAI GPT-5.1-Codex-Max via vibe coding sessions.
107+ - Built collaboratively with OpenAI GPT-5.1-Codex-Max and GPT-5.2-Codex via vibe coding sessions.
0 commit comments