.dockerignore
.gitattributes
.gitignore
.pre-commit-config.yaml
CHANGELOG.md
CLAUDE.md
CODE_OF_CONDUCT.md
CONTRIBUTING.md
Dockerfile
LICENSE
README.md
SECURITY.md
codecov.yml
docker-compose.yml
mkdocs.yml
pyproject.toml
uv.lock
.github/CODEOWNERS
.github/FUNDING.yml
.github/dependabot.yml
.github/pull_request_template.md
.github/ISSUE_TEMPLATE/bug_report.yml
.github/ISSUE_TEMPLATE/config.yml
.github/ISSUE_TEMPLATE/feature_request.yml
.github/workflows/codeql.yml
.github/workflows/docs.yml
.github/workflows/pr-tests.yml
.github/workflows/publish.yml
.github/workflows/python-package.yml
.github/workflows/release.yml
.github/workflows/sanitize-pr-description.yml
docs/changelog.md
docs/contributing.md
docs/index.md
docs/platform-setup.md
docs/record-demo.sh
docs/security.md
docs/assets/demo.gif
examples/01_basic_run.sh
examples/02_date_range_export.sh
examples/03_photos_library.sh
examples/04_linux_windows.sh
examples/05_query_and_review.sh
examples/06_cleanup_candidates.sh
examples/07_tag_management.sh
examples/08_faces_workflow.sh
examples/09_raw_heic.sh
examples/10_dedup_and_reprocess.sh
examples/11_judge_subcommand.sh
examples/README.md
examples/capture_demo.py
examples/mock_ollama.py
examples/captured/cleanup.txt
examples/captured/cleanup_review.txt
examples/captured/faces_scan.txt
examples/captured/output_json.txt
examples/captured/preflight.txt
examples/captured/query_filters.txt
examples/captured/query_table.txt
examples/captured/reprocess.txt
examples/captured/run_dedup.txt
examples/captured/run_dry_run.txt
examples/captured/run_real.txt
examples/captured/status.txt
examples/captured/tags_list.txt
examples/captured/tags_list_after_rename.txt
examples/captured/tags_rename.txt
examples/fixtures/blurry_screenshot.jpg
examples/fixtures/city_walk.jpg
examples/fixtures/create_fixtures.py
examples/fixtures/home_dinner.jpg
examples/fixtures/mountain_hike.jpg
examples/fixtures/office_meeting.jpg
examples/fixtures/sunset_beach.jpg
scripts/test-smoke-local.sh
scripts/test_faces_e2e.sh
scripts/test_faces_import_photos.sh
scripts/test_faces_ui.sh
src/pyimgtag/__init__.py
src/pyimgtag/__main__.py
src/pyimgtag/_face_dep_check.py
src/pyimgtag/_face_model_cache.py
src/pyimgtag/_version.py
src/pyimgtag/applescript_writer.py
src/pyimgtag/cache.py
src/pyimgtag/cleanup_drift.py
src/pyimgtag/cloud_clients.py
src/pyimgtag/dedup.py
src/pyimgtag/exif_reader.py
src/pyimgtag/exif_writer.py
src/pyimgtag/faces_review_server.py
src/pyimgtag/filters.py
src/pyimgtag/geocoder.py
src/pyimgtag/heic_converter.py
src/pyimgtag/judge_scorer.py
src/pyimgtag/main.py
src/pyimgtag/models.py
src/pyimgtag/ollama_client.py
src/pyimgtag/output_writer.py
src/pyimgtag/preflight.py
src/pyimgtag/progress_db.py
src/pyimgtag/raw_converter.py
src/pyimgtag/review_server.py
src/pyimgtag/run_registry.py
src/pyimgtag/run_session.py
src/pyimgtag/scanner.py
src/pyimgtag/update_check.py
src/pyimgtag.egg-info/PKG-INFO
src/pyimgtag.egg-info/SOURCES.txt
src/pyimgtag.egg-info/dependency_links.txt
src/pyimgtag.egg-info/entry_points.txt
src/pyimgtag.egg-info/requires.txt
src/pyimgtag.egg-info/top_level.txt
src/pyimgtag/commands/__init__.py
src/pyimgtag/commands/cleanup_drift.py
src/pyimgtag/commands/db.py
src/pyimgtag/commands/faces.py
src/pyimgtag/commands/judge.py
src/pyimgtag/commands/preflight_cmd.py
src/pyimgtag/commands/query.py
src/pyimgtag/commands/review_cmd.py
src/pyimgtag/commands/run.py
src/pyimgtag/commands/tags.py
src/pyimgtag/db/__init__.py
src/pyimgtag/db/face_db.py
src/pyimgtag/db/image_db.py
src/pyimgtag/db/judge_db.py
src/pyimgtag/db/progress_db.py
src/pyimgtag/face/__init__.py
src/pyimgtag/face/clustering.py
src/pyimgtag/face/detection.py
src/pyimgtag/face/embedding.py
src/pyimgtag/face/naming.py
src/pyimgtag/face/ocr.py
src/pyimgtag/face/photos_importer.py
src/pyimgtag/face/thumb.py
src/pyimgtag/webapp/__init__.py
src/pyimgtag/webapp/__main__.py
src/pyimgtag/webapp/bootstrap.py
src/pyimgtag/webapp/config.py
src/pyimgtag/webapp/dashboard_server.py
src/pyimgtag/webapp/nav.py
src/pyimgtag/webapp/routes_about.py
src/pyimgtag/webapp/routes_edit.py
src/pyimgtag/webapp/routes_faces.py
src/pyimgtag/webapp/routes_judge.py
src/pyimgtag/webapp/routes_query.py
src/pyimgtag/webapp/routes_review.py
src/pyimgtag/webapp/routes_tags.py
src/pyimgtag/webapp/server_thread.py
src/pyimgtag/webapp/templating.py
src/pyimgtag/webapp/unified_app.py
src/pyimgtag/webapp/templates/dashboard.html
src/pyimgtag/webapp/templates/edit.html
src/pyimgtag/webapp/templates/faces.html
src/pyimgtag/webapp/templates/faces_person.html
src/pyimgtag/webapp/templates/judge.html
src/pyimgtag/webapp/templates/review.html
tests/__init__.py
tests/conftest.py
tests/test__face_dep_check.py
tests/test_applescript_writer.py
tests/test_cache.py
tests/test_cli_args_matrix.py
tests/test_cloud_clients.py
tests/test_cmd_judge.py
tests/test_commands_cleanup_drift.py
tests/test_commands_faces.py
tests/test_commands_faces_session.py
tests/test_commands_judge.py
tests/test_commands_judge_session.py
tests/test_commands_preflight_cmd.py
tests/test_commands_review_cmd.py
tests/test_commands_run.py
tests/test_dashboard_import_fallbacks.py
tests/test_dashboard_server.py
tests/test_dedup.py
tests/test_delete_safety.py
tests/test_exif_reader.py
tests/test_exif_writer.py
tests/test_face_clustering.py
tests/test_face_detection.py
tests/test_face_embedding.py
tests/test_face_model_cache.py
tests/test_face_naming.py
tests/test_face_ocr.py
tests/test_face_thumb.py
tests/test_faces_review_server.py
tests/test_faces_ui_command.py
tests/test_filters.py
tests/test_geocoder.py
tests/test_heic_converter.py
tests/test_judge_scorer.py
tests/test_main.py
tests/test_main_modules.py
tests/test_mock_ollama.py
tests/test_mock_ollama_example.py
tests/test_models.py
tests/test_nav.py
tests/test_ollama_client.py
tests/test_output_writer.py
tests/test_photos_importer.py
tests/test_preflight.py
tests/test_progress_db.py
tests/test_progress_db_api.py
tests/test_raw_converter.py
tests/test_review_server.py
tests/test_routes_about.py
tests/test_routes_edit.py
tests/test_routes_faces.py
tests/test_routes_judge.py
tests/test_routes_query.py
tests/test_routes_review.py
tests/test_routes_tags.py
tests/test_run_registry.py
tests/test_run_session.py
tests/test_scanner.py
tests/test_server_thread.py
tests/test_unified_app.py
tests/test_webapp_bootstrap.py
tests/test_webapp_config.py
tests/test_webapp_import_fallbacks.py
tests/test_webapp_smoke.py
tests/e2e/.gitignore
tests/e2e/__init__.py
tests/e2e/conftest.py
tests/e2e/test_faces.py
tests/e2e/test_smoke.py
tests/local/.gitignore
tests/local/README.md
tests/local/conftest.py
tests/local/test_webapp_screenshots.py