bppicker 0.2.0__tar.gz → 0.2.1__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1174) hide show
  1. {bppicker-0.2.0 → bppicker-0.2.1}/CHANGELOG.md +13 -1
  2. {bppicker-0.2.0 → bppicker-0.2.1}/PKG-INFO +1 -1
  3. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/__init__.py +1 -1
  4. {bppicker-0.2.0 → bppicker-0.2.1}/pyproject.toml +1 -1
  5. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_desktop_shell_boot.py +24 -0
  6. {bppicker-0.2.0 → bppicker-0.2.1}/.eslint-globals.json +0 -0
  7. {bppicker-0.2.0 → bppicker-0.2.1}/.gitignore +0 -0
  8. {bppicker-0.2.0 → bppicker-0.2.1}/CODE_OF_CONDUCT.md +0 -0
  9. {bppicker-0.2.0 → bppicker-0.2.1}/CONTRIBUTING.md +0 -0
  10. {bppicker-0.2.0 → bppicker-0.2.1}/Dockerfile +0 -0
  11. {bppicker-0.2.0 → bppicker-0.2.1}/LICENSE +0 -0
  12. {bppicker-0.2.0 → bppicker-0.2.1}/MANIFEST.in +0 -0
  13. {bppicker-0.2.0 → bppicker-0.2.1}/MODEL_POLICY.md +0 -0
  14. {bppicker-0.2.0 → bppicker-0.2.1}/NOTICE.txt +0 -0
  15. {bppicker-0.2.0 → bppicker-0.2.1}/README.md +0 -0
  16. {bppicker-0.2.0 → bppicker-0.2.1}/SECURITY.md +0 -0
  17. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/ai/__init__.py +0 -0
  18. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/ai/inpainting.py +0 -0
  19. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/cli.py +0 -0
  20. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/commands/__init__.py +0 -0
  21. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/commands/analyze.py +0 -0
  22. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/commands/db_restore.py +0 -0
  23. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/commands/db_restore_impl.py +0 -0
  24. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/commands/demo.py +0 -0
  25. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/commands/model.py +0 -0
  26. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/commands/model_attribution.py +0 -0
  27. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/commands/model_commands.py +0 -0
  28. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/commands/pick.py +0 -0
  29. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/commands/serve.py +0 -0
  30. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/config.py +0 -0
  31. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/config_builtins.py +0 -0
  32. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/config_resolver.py +0 -0
  33. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/config_schema.py +0 -0
  34. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/constants.py +0 -0
  35. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/db/__init__.py +0 -0
  36. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/db/albums.py +0 -0
  37. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/db/backup.py +0 -0
  38. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/db/batch_rename.py +0 -0
  39. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/db/calendar.py +0 -0
  40. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/db/clip.py +0 -0
  41. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/db/connection.py +0 -0
  42. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/db/dedupe.py +0 -0
  43. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/db/dialect.py +0 -0
  44. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/db/edits.py +0 -0
  45. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/db/event_hooks.py +0 -0
  46. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/db/face_cluster_ops.py +0 -0
  47. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/db/face_embedding_safety.py +0 -0
  48. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/db/face_feedback.py +0 -0
  49. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/db/face_identity_remap.py +0 -0
  50. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/db/face_queries.py +0 -0
  51. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/db/groups.py +0 -0
  52. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/db/integrity.py +0 -0
  53. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/db/journal.py +0 -0
  54. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/db/library.py +0 -0
  55. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/db/live_photo.py +0 -0
  56. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/db/live_photo_scan.py +0 -0
  57. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/db/memories.py +0 -0
  58. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/db/migrate.py +0 -0
  59. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/db/migrations.py +0 -0
  60. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/db/migrations_latest.py +0 -0
  61. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/db/migrations_recent.py +0 -0
  62. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/db/moments.py +0 -0
  63. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/db/pets.py +0 -0
  64. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/db/photo_hooks.py +0 -0
  65. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/db/photos.py +0 -0
  66. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/db/photos_dates.py +0 -0
  67. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/db/photos_gps.py +0 -0
  68. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/db/photos_lifecycle.py +0 -0
  69. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/db/photos_missing.py +0 -0
  70. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/db/photos_sha.py +0 -0
  71. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/db/photos_updates.py +0 -0
  72. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/db/presets.py +0 -0
  73. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/db/registry.py +0 -0
  74. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/db/schema.py +0 -0
  75. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/db/schema_migrate.py +0 -0
  76. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/db/settings.py +0 -0
  77. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/db/smart_album_builtins.py +0 -0
  78. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/db/smart_album_document.py +0 -0
  79. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/db/smart_album_domains.py +0 -0
  80. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/db/smart_album_ensure.py +0 -0
  81. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/db/smart_album_groups.py +0 -0
  82. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/db/smart_album_people.py +0 -0
  83. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/db/smart_album_pets.py +0 -0
  84. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/db/smart_album_queries.py +0 -0
  85. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/db/smart_album_refreshers.py +0 -0
  86. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/db/smart_album_sensitive.py +0 -0
  87. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/db/smart_album_tags.py +0 -0
  88. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/db/smart_albums.py +0 -0
  89. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/db/sql_batches.py +0 -0
  90. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/db/stats.py +0 -0
  91. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/db/tags.py +0 -0
  92. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/dedupe/__init__.py +0 -0
  93. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/dedupe/cluster.py +0 -0
  94. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/dedupe/common.py +0 -0
  95. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/dedupe/phash.py +0 -0
  96. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/dedupe/select.py +0 -0
  97. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/dedupe/semantic.py +0 -0
  98. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/dedupe/strategy.py +0 -0
  99. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/demo/__init__.py +0 -0
  100. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/demo/generate.py +0 -0
  101. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/errors.py +0 -0
  102. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/exif_utils.py +0 -0
  103. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/io_scan.py +0 -0
  104. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/media_types.py +0 -0
  105. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/output/__init__.py +0 -0
  106. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/output/export.py +0 -0
  107. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/output/export_metadata.py +0 -0
  108. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/output/export_modes.py +0 -0
  109. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/output/export_reports.py +0 -0
  110. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/output/gallery.py +0 -0
  111. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/plugin_protocol.py +0 -0
  112. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/plugins/__init__.py +0 -0
  113. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/plugins/example.py +0 -0
  114. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/plugins/registry_protocol.py +0 -0
  115. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/registry/__init__.py +0 -0
  116. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/registry/acceptance.py +0 -0
  117. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/registry/acceptance_log.py +0 -0
  118. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/registry/acceptance_log_files.py +0 -0
  119. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/registry/acceptance_log_parse.py +0 -0
  120. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/registry/attribution_bundle.py +0 -0
  121. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/registry/builtins.py +0 -0
  122. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/registry/builtins_bundled.py +0 -0
  123. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/registry/byom.py +0 -0
  124. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/registry/derived_data_purge.py +0 -0
  125. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/registry/disclaimers.py +0 -0
  126. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/registry/download_chokepoint.py +0 -0
  127. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/registry/labels.py +0 -0
  128. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/registry/manifest_rollback.py +0 -0
  129. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/registry/model_registry.py +0 -0
  130. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/registry/overlay.py +0 -0
  131. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/registry/policy.py +0 -0
  132. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/registry/remote_registry.py +0 -0
  133. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/registry/removal.py +0 -0
  134. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/registry/signed_manifest.py +0 -0
  135. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/registry/trusted_keys.py +0 -0
  136. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/registry/use_context.py +0 -0
  137. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/registry/use_context_store.py +0 -0
  138. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/scoring/__init__.py +0 -0
  139. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/scoring/_registry_base.py +0 -0
  140. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/scoring/aggregate.py +0 -0
  141. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/scoring/aggregate_video.py +0 -0
  142. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/scoring/blur.py +0 -0
  143. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/scoring/clip_embed.py +0 -0
  144. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/scoring/clip_tokenizer.py +0 -0
  145. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/scoring/composition.py +0 -0
  146. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/scoring/enhance.py +0 -0
  147. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/scoring/exposure.py +0 -0
  148. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/scoring/face.py +0 -0
  149. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/scoring/face_blazeface_fr.py +0 -0
  150. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/scoring/face_cluster.py +0 -0
  151. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/scoring/face_detector_registry.py +0 -0
  152. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/scoring/face_embed.py +0 -0
  153. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/scoring/face_embed_buffalo.py +0 -0
  154. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/scoring/face_embed_buffalo_s.py +0 -0
  155. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/scoring/face_embed_detect.py +0 -0
  156. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/scoring/face_embed_extractors.py +0 -0
  157. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/scoring/face_embed_landmarks.py +0 -0
  158. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/scoring/face_embed_plugin.py +0 -0
  159. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/scoring/face_embed_sface.py +0 -0
  160. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/scoring/face_embed_sface_runtime.py +0 -0
  161. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/scoring/face_embedder_registry.py +0 -0
  162. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/scoring/face_expression.py +0 -0
  163. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/scoring/face_fallback.py +0 -0
  164. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/scoring/face_hand_filter.py +0 -0
  165. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/scoring/face_mediapipe.py +0 -0
  166. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/scoring/face_pipeline.py +0 -0
  167. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/scoring/face_recognition_loader.py +0 -0
  168. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/scoring/face_score.py +0 -0
  169. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/scoring/face_scrfd.py +0 -0
  170. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/scoring/face_yunet.py +0 -0
  171. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/scoring/inference_log.py +0 -0
  172. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/scoring/install_hold.py +0 -0
  173. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/scoring/model_base.py +0 -0
  174. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/scoring/model_download.py +0 -0
  175. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/scoring/model_lifecycle.py +0 -0
  176. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/scoring/model_load_gate.py +0 -0
  177. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/scoring/model_manifest.py +0 -0
  178. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/scoring/models/blaze_face_short_range.tflite +0 -0
  179. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/scoring/nudity.py +0 -0
  180. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/scoring/onnx_providers.py +0 -0
  181. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/scoring/pets.py +0 -0
  182. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/scoring/pose.py +0 -0
  183. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/scoring/registry.py +0 -0
  184. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/scoring/segmentation.py +0 -0
  185. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/scoring/skin.py +0 -0
  186. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/scoring/toggles.py +0 -0
  187. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/selection/__init__.py +0 -0
  188. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/selection/choose.py +0 -0
  189. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/selection/diversity.py +0 -0
  190. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/utils/__init__.py +0 -0
  191. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/utils/cancel.py +0 -0
  192. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/utils/concurrency.py +0 -0
  193. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/utils/config_snapshot.py +0 -0
  194. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/utils/download.py +0 -0
  195. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/utils/fresh_file.py +0 -0
  196. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/utils/json_utils.py +0 -0
  197. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/utils/logging.py +0 -0
  198. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/utils/path_validation.py +0 -0
  199. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/utils/paths.py +0 -0
  200. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/utils/raw.py +0 -0
  201. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/utils/retry.py +0 -0
  202. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/utils/safe_subprocess.py +0 -0
  203. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/utils/serving_lock.py +0 -0
  204. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/utils/subprocess_runner.py +0 -0
  205. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/utils/timing.py +0 -0
  206. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/utils/video.py +0 -0
  207. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/__init__.py +0 -0
  208. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/_deprecated_attr.py +0 -0
  209. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/album_siblings.py +0 -0
  210. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/analysis_store.py +0 -0
  211. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/analyze_archive.py +0 -0
  212. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/analyze_face_extract.py +0 -0
  213. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/analyze_finalize.py +0 -0
  214. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/analyze_model_preflight.py +0 -0
  215. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/analyze_phases.py +0 -0
  216. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/analyze_run_steps.py +0 -0
  217. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/analyze_scoring.py +0 -0
  218. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/analyze_subprocess.py +0 -0
  219. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/analyze_worker.py +0 -0
  220. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/app.py +0 -0
  221. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/auth_boundary.py +0 -0
  222. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/base_worker.py +0 -0
  223. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/box_crop.py +0 -0
  224. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/bp_album_overrides.py +0 -0
  225. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/bp_albums.py +0 -0
  226. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/bp_analysis.py +0 -0
  227. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/bp_attribution.py +0 -0
  228. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/bp_calendar.py +0 -0
  229. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/bp_catalog.py +0 -0
  230. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/bp_clip.py +0 -0
  231. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/bp_core.py +0 -0
  232. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/bp_export.py +0 -0
  233. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/bp_faces.py +0 -0
  234. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/bp_faces_bbox.py +0 -0
  235. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/bp_faces_cluster_ops.py +0 -0
  236. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/bp_faces_extract.py +0 -0
  237. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/bp_faces_manage.py +0 -0
  238. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/bp_faces_photo.py +0 -0
  239. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/bp_faces_recluster.py +0 -0
  240. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/bp_faces_review.py +0 -0
  241. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/bp_groups.py +0 -0
  242. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/bp_health.py +0 -0
  243. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/bp_inpaint.py +0 -0
  244. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/bp_install.py +0 -0
  245. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/bp_library.py +0 -0
  246. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/bp_logs.py +0 -0
  247. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/bp_media.py +0 -0
  248. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/bp_memories.py +0 -0
  249. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/bp_model_admin.py +0 -0
  250. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/bp_model_registry.py +0 -0
  251. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/bp_models.py +0 -0
  252. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/bp_os_integration.py +0 -0
  253. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/bp_pets.py +0 -0
  254. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/bp_photos.py +0 -0
  255. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/bp_photos_lifecycle.py +0 -0
  256. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/bp_photos_manage.py +0 -0
  257. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/bp_photos_missing.py +0 -0
  258. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/bp_recompute.py +0 -0
  259. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/bp_search.py +0 -0
  260. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/bp_settings.py +0 -0
  261. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/bp_share.py +0 -0
  262. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/bp_tags.py +0 -0
  263. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/catalog_loaders.py +0 -0
  264. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/clip_cap.py +0 -0
  265. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/clip_worker.py +0 -0
  266. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/derived_recovery.py +0 -0
  267. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/download_gates.py +0 -0
  268. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/e2e_fixture.py +0 -0
  269. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/export_worker.py +0 -0
  270. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/face_create_helpers.py +0 -0
  271. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/face_crop.py +0 -0
  272. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/face_extraction_journal.py +0 -0
  273. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/face_extraction_phase5.py +0 -0
  274. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/face_extraction_phase6.py +0 -0
  275. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/face_extraction_phases.py +0 -0
  276. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/face_lock.py +0 -0
  277. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/face_merge_core.py +0 -0
  278. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/face_method_reconcile.py +0 -0
  279. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/face_orchestrator.py +0 -0
  280. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/face_phase_classes.py +0 -0
  281. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/face_phase_pipeline.py +0 -0
  282. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/face_phase_types.py +0 -0
  283. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/face_recovery.py +0 -0
  284. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/face_worker.py +0 -0
  285. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/faces_review_match.py +0 -0
  286. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/filters.py +0 -0
  287. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/health.py +0 -0
  288. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/host_allowlist.py +0 -0
  289. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/import_worker.py +0 -0
  290. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/install_busy.py +0 -0
  291. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/install_specs.py +0 -0
  292. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/install_status.py +0 -0
  293. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/install_stream.py +0 -0
  294. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/lan_redaction.py +0 -0
  295. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/library_lifecycle.py +0 -0
  296. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/media_support.py +0 -0
  297. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/model_cache.py +0 -0
  298. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/model_download_jobs.py +0 -0
  299. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/model_filter.py +0 -0
  300. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/models_status.py +0 -0
  301. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/paging.py +0 -0
  302. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/permanent_delete.py +0 -0
  303. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/photo_cache.py +0 -0
  304. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/photo_dict.py +0 -0
  305. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/photo_edits.py +0 -0
  306. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/picker_fields.py +0 -0
  307. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/pip_process.py +0 -0
  308. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/recompute.py +0 -0
  309. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/request_validation.py +0 -0
  310. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/review_meta.py +0 -0
  311. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/share.py +0 -0
  312. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/share_devices.py +0 -0
  313. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/share_proxy.py +0 -0
  314. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/share_qr.py +0 -0
  315. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/share_runtime.py +0 -0
  316. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/sse.py +0 -0
  317. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/state.py +0 -0
  318. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/state_compat.py +0 -0
  319. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/state_helpers.py +0 -0
  320. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/state_init.py +0 -0
  321. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/state_init_phases.py +0 -0
  322. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/state_lifecycle.py +0 -0
  323. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/state_ops.py +0 -0
  324. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/state_startup_steps.py +0 -0
  325. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/static/css/app.css +0 -0
  326. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/static/img/apple-touch-icon.png +0 -0
  327. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/static/img/icon-192.png +0 -0
  328. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/static/img/icon-512.png +0 -0
  329. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/static/js/globals.js +0 -0
  330. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/static/js/modules/action-registry.mjs +0 -0
  331. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/static/js/modules/activity-humanize.mjs +0 -0
  332. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/static/js/modules/activity-log.mjs +0 -0
  333. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/static/js/modules/albums-menus.mjs +0 -0
  334. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/static/js/modules/albums-render-helpers.mjs +0 -0
  335. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/static/js/modules/albums-render-smart.mjs +0 -0
  336. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/static/js/modules/albums-render.mjs +0 -0
  337. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/static/js/modules/albums-switch.mjs +0 -0
  338. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/static/js/modules/albums.mjs +0 -0
  339. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/static/js/modules/analysis-install.mjs +0 -0
  340. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/static/js/modules/analysis-preflight.mjs +0 -0
  341. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/static/js/modules/analysis-recompute.mjs +0 -0
  342. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/static/js/modules/analysis-status.mjs +0 -0
  343. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/static/js/modules/analysis.mjs +0 -0
  344. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/static/js/modules/api-client.mjs +0 -0
  345. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/static/js/modules/app.mjs +0 -0
  346. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/static/js/modules/attribution-consent.mjs +0 -0
  347. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/static/js/modules/batch-rename.mjs +0 -0
  348. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/static/js/modules/boot-health.mjs +0 -0
  349. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/static/js/modules/boot-proof.mjs +0 -0
  350. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/static/js/modules/calendar-render.mjs +0 -0
  351. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/static/js/modules/calendar-selection.mjs +0 -0
  352. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/static/js/modules/calendar.mjs +0 -0
  353. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/static/js/modules/client-error-beacon.mjs +0 -0
  354. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/static/js/modules/clip.mjs +0 -0
  355. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/static/js/modules/compare-sibling.mjs +0 -0
  356. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/static/js/modules/compare.mjs +0 -0
  357. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/static/js/modules/constants.mjs +0 -0
  358. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/static/js/modules/core.mjs +0 -0
  359. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/static/js/modules/date-format.mjs +0 -0
  360. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/static/js/modules/deleted-ctx-menu.mjs +0 -0
  361. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/static/js/modules/deleted-enhance.mjs +0 -0
  362. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/static/js/modules/deleted.mjs +0 -0
  363. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/static/js/modules/dialog-focus.mjs +0 -0
  364. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/static/js/modules/dialogs.mjs +0 -0
  365. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/static/js/modules/download-jobs.mjs +0 -0
  366. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/static/js/modules/dupe-review.mjs +0 -0
  367. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/static/js/modules/editor-constants.mjs +0 -0
  368. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/static/js/modules/editor-crop.mjs +0 -0
  369. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/static/js/modules/editor-inpaint.mjs +0 -0
  370. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/static/js/modules/editor-preview.mjs +0 -0
  371. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/static/js/modules/editor-redeye.mjs +0 -0
  372. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/static/js/modules/editor-rendering.mjs +0 -0
  373. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/static/js/modules/editor-styles.mjs +0 -0
  374. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/static/js/modules/editor-tools.mjs +0 -0
  375. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/static/js/modules/editor.mjs +0 -0
  376. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/static/js/modules/face-embedders-acceptance.mjs +0 -0
  377. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/static/js/modules/face-embedders-actions.mjs +0 -0
  378. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/static/js/modules/face-embedders-busy.mjs +0 -0
  379. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/static/js/modules/face-embedders-catalog.mjs +0 -0
  380. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/static/js/modules/face-embedders-cells.mjs +0 -0
  381. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/static/js/modules/face-embedders-guesses.mjs +0 -0
  382. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/static/js/modules/face-embedders-license.mjs +0 -0
  383. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/static/js/modules/face-embedders-popover.mjs +0 -0
  384. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/static/js/modules/face-embedders-rowstate.mjs +0 -0
  385. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/static/js/modules/face-embedders-state.mjs +0 -0
  386. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/static/js/modules/faces-extraction.mjs +0 -0
  387. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/static/js/modules/faces.mjs +0 -0
  388. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/static/js/modules/format-helpers.mjs +0 -0
  389. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/static/js/modules/groups.mjs +0 -0
  390. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/static/js/modules/import-worker.mjs +0 -0
  391. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/static/js/modules/inspector.mjs +0 -0
  392. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/static/js/modules/install-done.mjs +0 -0
  393. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/static/js/modules/library.mjs +0 -0
  394. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/static/js/modules/lightbox-actions.mjs +0 -0
  395. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/static/js/modules/lightbox-ctxmenu.mjs +0 -0
  396. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/static/js/modules/lightbox-face-assign.mjs +0 -0
  397. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/static/js/modules/lightbox-face-commit.mjs +0 -0
  398. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/static/js/modules/lightbox-face-edit.mjs +0 -0
  399. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/static/js/modules/lightbox-face-overlays.mjs +0 -0
  400. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/static/js/modules/lightbox-face-picker-actions.mjs +0 -0
  401. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/static/js/modules/lightbox-face-picker.mjs +0 -0
  402. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/static/js/modules/lightbox-info.mjs +0 -0
  403. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/static/js/modules/lightbox-input.mjs +0 -0
  404. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/static/js/modules/lightbox-open.mjs +0 -0
  405. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/static/js/modules/lightbox.mjs +0 -0
  406. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/static/js/modules/map.mjs +0 -0
  407. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/static/js/modules/memories.mjs +0 -0
  408. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/static/js/modules/menu-a11y.mjs +0 -0
  409. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/static/js/modules/modal.mjs +0 -0
  410. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/static/js/modules/modals-face-embedders.mjs +0 -0
  411. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/static/js/modules/modals.mjs +0 -0
  412. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/static/js/modules/models-changed.mjs +0 -0
  413. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/static/js/modules/moments-stacks.mjs +0 -0
  414. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/static/js/modules/moments-view.mjs +0 -0
  415. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/static/js/modules/navigation.mjs +0 -0
  416. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/static/js/modules/nudges.mjs +0 -0
  417. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/static/js/modules/on-this-day.mjs +0 -0
  418. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/static/js/modules/onboarding.mjs +0 -0
  419. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/static/js/modules/paging.mjs +0 -0
  420. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/static/js/modules/people-actions.mjs +0 -0
  421. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/static/js/modules/people-album-bar.mjs +0 -0
  422. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/static/js/modules/people-ctx-menu.mjs +0 -0
  423. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/static/js/modules/people-merge.mjs +0 -0
  424. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/static/js/modules/people-pair-review.mjs +0 -0
  425. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/static/js/modules/people-pickers.mjs +0 -0
  426. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/static/js/modules/people-rename.mjs +0 -0
  427. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/static/js/modules/people-review-card.mjs +0 -0
  428. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/static/js/modules/people-review.mjs +0 -0
  429. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/static/js/modules/people-view.mjs +0 -0
  430. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/static/js/modules/people.mjs +0 -0
  431. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/static/js/modules/pets-pickers.mjs +0 -0
  432. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/static/js/modules/pets.mjs +0 -0
  433. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/static/js/modules/phash-status.mjs +0 -0
  434. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/static/js/modules/photo-preview.mjs +0 -0
  435. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/static/js/modules/photos-batch.mjs +0 -0
  436. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/static/js/modules/photos-card.mjs +0 -0
  437. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/static/js/modules/photos-grid-filter.mjs +0 -0
  438. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/static/js/modules/photos-helpers.mjs +0 -0
  439. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/static/js/modules/photos-hover.mjs +0 -0
  440. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/static/js/modules/photos-select.mjs +0 -0
  441. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/static/js/modules/photos-vgrid.mjs +0 -0
  442. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/static/js/modules/photos.mjs +0 -0
  443. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/static/js/modules/picker-overlay.mjs +0 -0
  444. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/static/js/modules/presets.mjs +0 -0
  445. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/static/js/modules/review-meta.mjs +0 -0
  446. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/static/js/modules/score-format.mjs +0 -0
  447. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/static/js/modules/search-results-html.mjs +0 -0
  448. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/static/js/modules/search.mjs +0 -0
  449. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/static/js/modules/sensitive.mjs +0 -0
  450. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/static/js/modules/settings-client.mjs +0 -0
  451. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/static/js/modules/share-tab.mjs +0 -0
  452. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/static/js/modules/sidebar-safety.mjs +0 -0
  453. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/static/js/modules/slideshow.mjs +0 -0
  454. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/static/js/modules/state.mjs +0 -0
  455. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/static/js/modules/tags-view.mjs +0 -0
  456. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/static/js/modules/tags.mjs +0 -0
  457. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/static/js/modules/text-format.mjs +0 -0
  458. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/static/js/modules/theme.mjs +0 -0
  459. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/static/js/modules/timeline.mjs +0 -0
  460. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/static/js/modules/toast.mjs +0 -0
  461. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/static/js/modules/toolbar.mjs +0 -0
  462. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/static/js/modules/tooltip.mjs +0 -0
  463. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/static/js/modules/tour.mjs +0 -0
  464. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/static/js/modules/ui-helpers.mjs +0 -0
  465. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/static/js/modules/update-checker.mjs +0 -0
  466. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/static/js/modules/use-context-options.mjs +0 -0
  467. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/static/js/modules/utils.mjs +0 -0
  468. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/static/js/modules/view-guard.mjs +0 -0
  469. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/static/js/modules/wizard.mjs +0 -0
  470. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/static/manifest.json +0 -0
  471. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/static/vendor/README.md +0 -0
  472. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/static/vendor/leaflet/LICENSE +0 -0
  473. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/static/vendor/leaflet/dist/images/layers-2x.png +0 -0
  474. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/static/vendor/leaflet/dist/images/layers.png +0 -0
  475. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/static/vendor/leaflet/dist/images/marker-icon-2x.png +0 -0
  476. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/static/vendor/leaflet/dist/images/marker-icon.png +0 -0
  477. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/static/vendor/leaflet/dist/images/marker-shadow.png +0 -0
  478. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/static/vendor/leaflet/dist/leaflet.css +0 -0
  479. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/static/vendor/leaflet/dist/leaflet.js +0 -0
  480. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/static/vendor/leaflet.markercluster/MIT-LICENCE.txt +0 -0
  481. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/static/vendor/leaflet.markercluster/dist/MarkerCluster.Default.css +0 -0
  482. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/static/vendor/leaflet.markercluster/dist/MarkerCluster.css +0 -0
  483. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/static/vendor/leaflet.markercluster/dist/leaflet.markercluster.js +0 -0
  484. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/templates/index.html +0 -0
  485. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/templates/loopback_locked.html +0 -0
  486. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/templates/pair.html +0 -0
  487. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/templates/pair_needs_link.html +0 -0
  488. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/thumbnails.py +0 -0
  489. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/update_checker.py +0 -0
  490. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/worker_pool.py +0 -0
  491. {bppicker-0.2.0 → bppicker-0.2.1}/bpp/web/worker_registry.py +0 -0
  492. {bppicker-0.2.0 → bppicker-0.2.1}/docs/API.md +0 -0
  493. {bppicker-0.2.0 → bppicker-0.2.1}/docs/adding-a-model.md +0 -0
  494. {bppicker-0.2.0 → bppicker-0.2.1}/docs/adr/0001-subprocess-runner.md +0 -0
  495. {bppicker-0.2.0 → bppicker-0.2.1}/docs/adr/0002-cancellation-contract.md +0 -0
  496. {bppicker-0.2.0 → bppicker-0.2.1}/docs/adr/0003-plugin-protocol.md +0 -0
  497. {bppicker-0.2.0 → bppicker-0.2.1}/docs/adr/0004-error-hierarchy.md +0 -0
  498. {bppicker-0.2.0 → bppicker-0.2.1}/docs/adr/0005-legal-posture-and-model-registry.md +0 -0
  499. {bppicker-0.2.0 → bppicker-0.2.1}/docs/adr/README.md +0 -0
  500. {bppicker-0.2.0 → bppicker-0.2.1}/docs/architecture-notes.md +0 -0
  501. {bppicker-0.2.0 → bppicker-0.2.1}/docs/configuration.md +0 -0
  502. {bppicker-0.2.0 → bppicker-0.2.1}/docs/landing/index.html +0 -0
  503. {bppicker-0.2.0 → bppicker-0.2.1}/docs/macos-signing.md +0 -0
  504. {bppicker-0.2.0 → bppicker-0.2.1}/docs/plugins.md +0 -0
  505. {bppicker-0.2.0 → bppicker-0.2.1}/docs/quickstart-gallery.md +0 -0
  506. {bppicker-0.2.0 → bppicker-0.2.1}/docs/security.md +0 -0
  507. {bppicker-0.2.0 → bppicker-0.2.1}/examples/plugin_example/README.md +0 -0
  508. {bppicker-0.2.0 → bppicker-0.2.1}/examples/plugin_example/bpp_example_plugin/__init__.py +0 -0
  509. {bppicker-0.2.0 → bppicker-0.2.1}/examples/plugin_example/bpp_example_plugin/plugin.py +0 -0
  510. {bppicker-0.2.0 → bppicker-0.2.1}/examples/plugin_example/pyproject.toml +0 -0
  511. {bppicker-0.2.0 → bppicker-0.2.1}/launch.command.template +0 -0
  512. {bppicker-0.2.0 → bppicker-0.2.1}/sample_config.yaml +0 -0
  513. {bppicker-0.2.0 → bppicker-0.2.1}/scripts/check_no_bundled_weights.py +0 -0
  514. {bppicker-0.2.0 → bppicker-0.2.1}/scripts/export_clip_onnx.py +0 -0
  515. {bppicker-0.2.0 → bppicker-0.2.1}/scripts/extract-js-names.mjs +0 -0
  516. {bppicker-0.2.0 → bppicker-0.2.1}/scripts/function-loc.mjs +0 -0
  517. {bppicker-0.2.0 → bppicker-0.2.1}/scripts/generate-eslint-globals.mjs +0 -0
  518. {bppicker-0.2.0 → bppicker-0.2.1}/scripts/generate_demo_library.py +0 -0
  519. {bppicker-0.2.0 → bppicker-0.2.1}/scripts/publish_registry_manifest.py +0 -0
  520. {bppicker-0.2.0 → bppicker-0.2.1}/scripts/run_e2e.sh +0 -0
  521. {bppicker-0.2.0 → bppicker-0.2.1}/scripts/run_mock_registry.py +0 -0
  522. {bppicker-0.2.0 → bppicker-0.2.1}/scripts/setup_e2e_library.py +0 -0
  523. {bppicker-0.2.0 → bppicker-0.2.1}/scripts/sign_registry_manifest.py +0 -0
  524. {bppicker-0.2.0 → bppicker-0.2.1}/scripts/third_party_bundled.py +0 -0
  525. {bppicker-0.2.0 → bppicker-0.2.1}/scripts/third_party_inventory.py +0 -0
  526. {bppicker-0.2.0 → bppicker-0.2.1}/scripts/third_party_sources.py +0 -0
  527. {bppicker-0.2.0 → bppicker-0.2.1}/scripts/verify_live_registry.py +0 -0
  528. {bppicker-0.2.0 → bppicker-0.2.1}/tests/__init__.py +0 -0
  529. {bppicker-0.2.0 → bppicker-0.2.1}/tests/_authorize_request_shared.py +0 -0
  530. {bppicker-0.2.0 → bppicker-0.2.1}/tests/_blueprint_coverage_shared.py +0 -0
  531. {bppicker-0.2.0 → bppicker-0.2.1}/tests/_bp_analysis_photos_shared.py +0 -0
  532. {bppicker-0.2.0 → bppicker-0.2.1}/tests/_clip_shared.py +0 -0
  533. {bppicker-0.2.0 → bppicker-0.2.1}/tests/_clustering_stability_shared.py +0 -0
  534. {bppicker-0.2.0 → bppicker-0.2.1}/tests/_coverage_gaps_shared.py +0 -0
  535. {bppicker-0.2.0 → bppicker-0.2.1}/tests/_db_restore_command_shared.py +0 -0
  536. {bppicker-0.2.0 → bppicker-0.2.1}/tests/_db_shared.py +0 -0
  537. {bppicker-0.2.0 → bppicker-0.2.1}/tests/_detector_stubs.py +0 -0
  538. {bppicker-0.2.0 → bppicker-0.2.1}/tests/_enhance_shared.py +0 -0
  539. {bppicker-0.2.0 → bppicker-0.2.1}/tests/_export_sidecar_shared.py +0 -0
  540. {bppicker-0.2.0 → bppicker-0.2.1}/tests/_export_utils_shared.py +0 -0
  541. {bppicker-0.2.0 → bppicker-0.2.1}/tests/_face_extraction_journal_shared.py +0 -0
  542. {bppicker-0.2.0 → bppicker-0.2.1}/tests/_face_landmark_validation_shared.py +0 -0
  543. {bppicker-0.2.0 → bppicker-0.2.1}/tests/_face_name_preservation_shared.py +0 -0
  544. {bppicker-0.2.0 → bppicker-0.2.1}/tests/_face_review_flow_shared.py +0 -0
  545. {bppicker-0.2.0 → bppicker-0.2.1}/tests/_face_scan_scoring_shared.py +0 -0
  546. {bppicker-0.2.0 → bppicker-0.2.1}/tests/_faces_create_shared.py +0 -0
  547. {bppicker-0.2.0 → bppicker-0.2.1}/tests/_faces_new_endpoints_shared.py +0 -0
  548. {bppicker-0.2.0 → bppicker-0.2.1}/tests/_git.py +0 -0
  549. {bppicker-0.2.0 → bppicker-0.2.1}/tests/_install_support.py +0 -0
  550. {bppicker-0.2.0 → bppicker-0.2.1}/tests/_integration_shared.py +0 -0
  551. {bppicker-0.2.0 → bppicker-0.2.1}/tests/_js_source_scan_shared.py +0 -0
  552. {bppicker-0.2.0 → bppicker-0.2.1}/tests/_log_redaction_shared.py +0 -0
  553. {bppicker-0.2.0 → bppicker-0.2.1}/tests/_media_state_shared.py +0 -0
  554. {bppicker-0.2.0 → bppicker-0.2.1}/tests/_model_quality_shared.py +0 -0
  555. {bppicker-0.2.0 → bppicker-0.2.1}/tests/_models.py +0 -0
  556. {bppicker-0.2.0 → bppicker-0.2.1}/tests/_packaging_shared.py +0 -0
  557. {bppicker-0.2.0 → bppicker-0.2.1}/tests/_plugin_loader_shared.py +0 -0
  558. {bppicker-0.2.0 → bppicker-0.2.1}/tests/_recompute_coverage_shared.py +0 -0
  559. {bppicker-0.2.0 → bppicker-0.2.1}/tests/_robustness_shared.py +0 -0
  560. {bppicker-0.2.0 → bppicker-0.2.1}/tests/_smart_album_coverage_shared.py +0 -0
  561. {bppicker-0.2.0 → bppicker-0.2.1}/tests/_trust_proxy_shared.py +0 -0
  562. {bppicker-0.2.0 → bppicker-0.2.1}/tests/_video_shared.py +0 -0
  563. {bppicker-0.2.0 → bppicker-0.2.1}/tests/_web_shared.py +0 -0
  564. {bppicker-0.2.0 → bppicker-0.2.1}/tests/conftest.py +0 -0
  565. {bppicker-0.2.0 → bppicker-0.2.1}/tests/owner_only/__init__.py +0 -0
  566. {bppicker-0.2.0 → bppicker-0.2.1}/tests/owner_only/_owner.py +0 -0
  567. {bppicker-0.2.0 → bppicker-0.2.1}/tests/owner_only/conftest.py +0 -0
  568. {bppicker-0.2.0 → bppicker-0.2.1}/tests/owner_only/test_owner_only_endpoints.py +0 -0
  569. {bppicker-0.2.0 → bppicker-0.2.1}/tests/owner_only/test_owner_only_mutations.py +0 -0
  570. {bppicker-0.2.0 → bppicker-0.2.1}/tests/owner_only/test_owner_only_paths.py +0 -0
  571. {bppicker-0.2.0 → bppicker-0.2.1}/tests/registry/__init__.py +0 -0
  572. {bppicker-0.2.0 → bppicker-0.2.1}/tests/registry/_acceptance_shared.py +0 -0
  573. {bppicker-0.2.0 → bppicker-0.2.1}/tests/registry/_download_chokepoint_shared.py +0 -0
  574. {bppicker-0.2.0 → bppicker-0.2.1}/tests/registry/_model_registry_shared.py +0 -0
  575. {bppicker-0.2.0 → bppicker-0.2.1}/tests/registry/conftest.py +0 -0
  576. {bppicker-0.2.0 → bppicker-0.2.1}/tests/registry/test_acceptance.py +0 -0
  577. {bppicker-0.2.0 → bppicker-0.2.1}/tests/registry/test_acceptance_endpoint_status.py +0 -0
  578. {bppicker-0.2.0 → bppicker-0.2.1}/tests/registry/test_acceptance_revocation.py +0 -0
  579. {bppicker-0.2.0 → bppicker-0.2.1}/tests/registry/test_acceptance_row_coercion.py +0 -0
  580. {bppicker-0.2.0 → bppicker-0.2.1}/tests/registry/test_acceptance_state.py +0 -0
  581. {bppicker-0.2.0 → bppicker-0.2.1}/tests/registry/test_acceptance_strict_answers.py +0 -0
  582. {bppicker-0.2.0 → bppicker-0.2.1}/tests/registry/test_attribution_bundle.py +0 -0
  583. {bppicker-0.2.0 → bppicker-0.2.1}/tests/registry/test_attribution_bundle_endpoints.py +0 -0
  584. {bppicker-0.2.0 → bppicker-0.2.1}/tests/registry/test_buffalo_s_entry.py +0 -0
  585. {bppicker-0.2.0 → bppicker-0.2.1}/tests/registry/test_byom.py +0 -0
  586. {bppicker-0.2.0 → bppicker-0.2.1}/tests/registry/test_catalog_weights_endpoints.py +0 -0
  587. {bppicker-0.2.0 → bppicker-0.2.1}/tests/registry/test_default_safety.py +0 -0
  588. {bppicker-0.2.0 → bppicker-0.2.1}/tests/registry/test_download_chokepoint.py +0 -0
  589. {bppicker-0.2.0 → bppicker-0.2.1}/tests/registry/test_download_chokepoint_single_gate.py +0 -0
  590. {bppicker-0.2.0 → bppicker-0.2.1}/tests/registry/test_download_status_gate.py +0 -0
  591. {bppicker-0.2.0 → bppicker-0.2.1}/tests/registry/test_load_state_endpoints.py +0 -0
  592. {bppicker-0.2.0 → bppicker-0.2.1}/tests/registry/test_manifest_rollback.py +0 -0
  593. {bppicker-0.2.0 → bppicker-0.2.1}/tests/registry/test_model_policy.py +0 -0
  594. {bppicker-0.2.0 → bppicker-0.2.1}/tests/registry/test_model_registry.py +0 -0
  595. {bppicker-0.2.0 → bppicker-0.2.1}/tests/registry/test_picker_entry_fields.py +0 -0
  596. {bppicker-0.2.0 → bppicker-0.2.1}/tests/registry/test_policy.py +0 -0
  597. {bppicker-0.2.0 → bppicker-0.2.1}/tests/registry/test_primary_for_kind.py +0 -0
  598. {bppicker-0.2.0 → bppicker-0.2.1}/tests/registry/test_redownload_legal_map.py +0 -0
  599. {bppicker-0.2.0 → bppicker-0.2.1}/tests/registry/test_removal.py +0 -0
  600. {bppicker-0.2.0 → bppicker-0.2.1}/tests/registry/test_restricted_entries.py +0 -0
  601. {bppicker-0.2.0 → bppicker-0.2.1}/tests/registry/test_runtime_enforcement.py +0 -0
  602. {bppicker-0.2.0 → bppicker-0.2.1}/tests/registry/test_signed_manifest.py +0 -0
  603. {bppicker-0.2.0 → bppicker-0.2.1}/tests/registry/test_stale_acceptance.py +0 -0
  604. {bppicker-0.2.0 → bppicker-0.2.1}/tests/registry/test_surface_parity.py +0 -0
  605. {bppicker-0.2.0 → bppicker-0.2.1}/tests/scoring/test_face_embed_buffalo_s.py +0 -0
  606. {bppicker-0.2.0 → bppicker-0.2.1}/tests/scoring/test_runtime_reset.py +0 -0
  607. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_acceptance_log_fail_closed.py +0 -0
  608. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_activity_log.py +0 -0
  609. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_album_hierarchy.py +0 -0
  610. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_album_type_constants.py +0 -0
  611. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_analysis_store.py +0 -0
  612. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_analyze_downstream_uses_worker_ctx.py +0 -0
  613. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_analyze_preflight_licenses.py +0 -0
  614. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_analyze_preflight_toggles.py +0 -0
  615. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_analyze_worker.py +0 -0
  616. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_api_doc_no_dead_params.py +0 -0
  617. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_api_doc_response_fields.py +0 -0
  618. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_api_doc_status_and_install_state.py +0 -0
  619. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_api_versioning.py +0 -0
  620. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_attr_interpolation_safety.py +0 -0
  621. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_auth_token.py +0 -0
  622. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_authorize_request.py +0 -0
  623. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_authorize_request_constant_time_token_compare.py +0 -0
  624. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_auto_purge_containment.py +0 -0
  625. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_auto_purge_journaled_with_cache_cleanup.py +0 -0
  626. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_auto_restore_uses_backup_wal.py +0 -0
  627. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_base_worker_error_emit.py +0 -0
  628. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_batch_name_sanitize.py +0 -0
  629. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_batch_rename.py +0 -0
  630. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_batch_rename_apply_refreshes.py +0 -0
  631. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_batching_and_layering.py +0 -0
  632. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_blueprint_coverage.py +0 -0
  633. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_blueprint_coverage_album_override.py +0 -0
  634. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_blueprint_coverage_album_workflow.py +0 -0
  635. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_blueprint_coverage_faces_merge.py +0 -0
  636. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_blueprint_coverage_faces_restore.py +0 -0
  637. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_blueprints.py +0 -0
  638. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_bp_analysis_photos.py +0 -0
  639. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_bp_analysis_photos_api_batch_favorite.py +0 -0
  640. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_bp_analysis_photos_api_export.py +0 -0
  641. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_bp_library.py +0 -0
  642. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_bulk_untag_batch.py +0 -0
  643. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_bundled_model_gating.py +0 -0
  644. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_cache_cleanup_on_delete.py +0 -0
  645. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_cache_invalidation_audit.py +0 -0
  646. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_cache_suffix_registry.py +0 -0
  647. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_cached_image_lock.py +0 -0
  648. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_calendar.py +0 -0
  649. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_cancel.py +0 -0
  650. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_cancel_propagation.py +0 -0
  651. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_catalog_loader_registry.py +0 -0
  652. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_cli_model_accept_attribution.py +0 -0
  653. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_cli_pick.py +0 -0
  654. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_cli_plugin_lifecycle.py +0 -0
  655. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_clip.py +0 -0
  656. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_clip_matrix_cache.py +0 -0
  657. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_clip_memory.py +0 -0
  658. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_clip_search.py +0 -0
  659. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_clip_semantic_deduplicate.py +0 -0
  660. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_clip_worker_cancel.py +0 -0
  661. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_clustering_stability.py +0 -0
  662. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_clustering_stability_as_completed_order_bug.py +0 -0
  663. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_clustering_stability_edges.py +0 -0
  664. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_clustering_stability_reanalysis_preserves_cluster_ids.py +0 -0
  665. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_commands.py +0 -0
  666. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_config_fallbacks_match_defaults.py +0 -0
  667. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_config_resolver.py +0 -0
  668. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_config_schema.py +0 -0
  669. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_config_snapshot.py +0 -0
  670. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_constants.py +0 -0
  671. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_coverage_gaps.py +0 -0
  672. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_coverage_gaps_core_blueprint_gaps.py +0 -0
  673. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_coverage_gaps_schema_migrations.py +0 -0
  674. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_csp.py +0 -0
  675. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_db.py +0 -0
  676. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_db_connection_count.py +0 -0
  677. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_db_migration.py +0 -0
  678. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_db_restore_command.py +0 -0
  679. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_db_restore_command_restore_proceeds_after_corrupt_quarantine_cleanup.py +0 -0
  680. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_db_restore_command_running_server_lock.py +0 -0
  681. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_db_smart_albums.py +0 -0
  682. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_dedupe_defaults.py +0 -0
  683. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_dedupe_one_path.py +0 -0
  684. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_dedupe_phash.py +0 -0
  685. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_dedupe_strategy_registry.py +0 -0
  686. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_default_library_isolation.py +0 -0
  687. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_demo.py +0 -0
  688. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_desktop_failure_screens.py +0 -0
  689. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_dialect.py +0 -0
  690. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_diversity.py +0 -0
  691. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_dlib_acceptance_gate.py +0 -0
  692. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_docker_healthcheck.py +0 -0
  693. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_docs_paths_exist.py +0 -0
  694. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_download.py +0 -0
  695. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_dupe_review.py +0 -0
  696. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_embedding_size_contract.py +0 -0
  697. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_empty_states.py +0 -0
  698. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_endpoint_docstrings.py +0 -0
  699. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_enhance.py +0 -0
  700. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_enhance_apply_advanced_edits.py +0 -0
  701. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_enhance_apply_edits.py +0 -0
  702. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_enhance_blur.py +0 -0
  703. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_enhance_new_apply_edits.py +0 -0
  704. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_env_var_docs.py +0 -0
  705. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_errors.py +0 -0
  706. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_errors_flask_handler.py +0 -0
  707. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_eslint_globals_generator.py +0 -0
  708. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_exif.py +0 -0
  709. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_exif_parse_cache.py +0 -0
  710. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_export_disk_full.py +0 -0
  711. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_export_metadata_fail_closed.py +0 -0
  712. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_export_mode_registry.py +0 -0
  713. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_export_never_writes_through_links.py +0 -0
  714. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_export_process_orientation.py +0 -0
  715. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_export_sidecar.py +0 -0
  716. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_export_sidecar_export_selected_manifest.py +0 -0
  717. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_export_sync_uses_shared_validation.py +0 -0
  718. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_export_utils.py +0 -0
  719. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_export_utils_export_metadata_privacy.py +0 -0
  720. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_export_utils_generate_gallery.py +0 -0
  721. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_export_utils_setup_logging.py +0 -0
  722. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_export_worker.py +0 -0
  723. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_export_zip_keeps_existing_files.py +0 -0
  724. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_face_cap.py +0 -0
  725. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_face_cluster_map_cache.py +0 -0
  726. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_face_cluster_map_invalidated_after_extraction.py +0 -0
  727. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_face_cluster_ops.py +0 -0
  728. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_face_count_sync.py +0 -0
  729. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_face_data_safety_round2.py +0 -0
  730. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_face_data_safety_round3.py +0 -0
  731. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_face_data_safety_round4.py +0 -0
  732. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_face_detector_single_binding.py +0 -0
  733. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_face_embed_detect.py +0 -0
  734. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_face_embedding_method_dispatch.py +0 -0
  735. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_face_embedding_safety.py +0 -0
  736. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_face_extract_batching.py +0 -0
  737. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_face_extraction_journal.py +0 -0
  738. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_face_extraction_journal_orchestrator_resume.py +0 -0
  739. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_face_extraction_journal_resume_recaptures_dismissed_slots.py +0 -0
  740. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_face_extraction_journal_ship_criterion6k_signal_injection.py +0 -0
  741. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_face_extraction_max_long_side.py +0 -0
  742. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_face_extraction_phases.py +0 -0
  743. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_face_extraction_phases_late.py +0 -0
  744. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_face_extraction_wal_checkpoint.py +0 -0
  745. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_face_feedback.py +0 -0
  746. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_face_landmark_validation.py +0 -0
  747. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_face_landmark_validation_tiled_detection.py +0 -0
  748. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_face_lock_coverage.py +0 -0
  749. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_face_lock_timeout.py +0 -0
  750. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_face_name_preservation.py +0 -0
  751. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_face_name_preservation_empty_cluster_guard.py +0 -0
  752. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_face_pipeline.py +0 -0
  753. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_face_recognition_loader.py +0 -0
  754. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_face_recovery_serialized.py +0 -0
  755. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_face_recovery_thread.py +0 -0
  756. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_face_registries.py +0 -0
  757. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_face_review_e2e.py +0 -0
  758. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_face_review_flow.py +0 -0
  759. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_face_scan_scoring.py +0 -0
  760. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_face_scan_scoring_hamming_distance.py +0 -0
  761. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_face_scan_scoring_suppress_hand_faces.py +0 -0
  762. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_face_thread_safety.py +0 -0
  763. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_face_worker_row_factory.py +0 -0
  764. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_faces_create.py +0 -0
  765. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_faces_create_new_person.py +0 -0
  766. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_faces_new_endpoints.py +0 -0
  767. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_faces_new_endpoints_embedding_validation.py +0 -0
  768. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_faces_photo_bbox_dims.py +0 -0
  769. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_faces_update_bbox.py +0 -0
  770. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_final_sweep_lifecycle.py +0 -0
  771. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_final_sweep_perf.py +0 -0
  772. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_fresh_file.py +0 -0
  773. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_function_loc_cap.py +0 -0
  774. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_get_handlers_survive_write_failure.py +0 -0
  775. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_gps_columns_migration.py +0 -0
  776. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_gps_pagination.py +0 -0
  777. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_groups.py +0 -0
  778. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_hardening_regressions.py +0 -0
  779. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_health_and_startup_logging.py +0 -0
  780. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_health_endpoint.py +0 -0
  781. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_health_install_downloads_phash.py +0 -0
  782. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_heif_registration.py +0 -0
  783. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_host_allowlist.py +0 -0
  784. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_image_decode_cap.py +0 -0
  785. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_import_scoring_settings.py +0 -0
  786. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_init_app_db_helpers.py +0 -0
  787. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_inpainting.py +0 -0
  788. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_install_claims.py +0 -0
  789. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_install_hold.py +0 -0
  790. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_install_left_over.py +0 -0
  791. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_install_paired_devices.py +0 -0
  792. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_install_progress.py +0 -0
  793. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_install_refusals.py +0 -0
  794. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_integration.py +0 -0
  795. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_integration_library_switch_workflow.py +0 -0
  796. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_item14_followups.py +0 -0
  797. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_journal.py +0 -0
  798. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_journal_recovery.py +0 -0
  799. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_js_source_scan.py +0 -0
  800. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_js_source_scan_critical_function_refs.py +0 -0
  801. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_js_source_scan_mobile_lightbox.py +0 -0
  802. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_json_set_aside.py +0 -0
  803. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_json_shape.py +0 -0
  804. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_lan_payload_paths.py +0 -0
  805. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_large_library_caps.py +0 -0
  806. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_layering_endpoint_helpers.py +0 -0
  807. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_libraries_paths.py +0 -0
  808. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_library_binding.py +0 -0
  809. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_library_lifecycle.py +0 -0
  810. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_library_rename_traversal.py +0 -0
  811. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_library_switch.py +0 -0
  812. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_license_check_per_photo.py +0 -0
  813. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_licenses.py +0 -0
  814. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_live_photo.py +0 -0
  815. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_live_photo_detect_and_link.py +0 -0
  816. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_loc_cap.py +0 -0
  817. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_log_redaction.py +0 -0
  818. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_log_redaction_werkzeug_redaction.py +0 -0
  819. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_loopback_boot_key.py +0 -0
  820. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_map.py +0 -0
  821. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_max_content_length.py +0 -0
  822. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_media_auth_integration.py +0 -0
  823. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_media_state.py +0 -0
  824. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_media_state_build_photo_dict.py +0 -0
  825. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_media_state_check_dedup_feedback.py +0 -0
  826. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_media_state_thumbnail_verified_integration.py +0 -0
  827. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_media_types.py +0 -0
  828. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_mediapipe_inference_failures_logged.py +0 -0
  829. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_mediapipe_thread_safety.py +0 -0
  830. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_memories.py +0 -0
  831. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_memory_soak.py +0 -0
  832. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_migration_multi_step.py +0 -0
  833. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_missing_coverage.py +0 -0
  834. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_missing_files_guard.py +0 -0
  835. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_missing_scan_flag_lifecycle.py +0 -0
  836. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_missing_scan_refusal_surfaced.py +0 -0
  837. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_model_cache.py +0 -0
  838. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_model_constants_documented.py +0 -0
  839. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_model_download_jobs.py +0 -0
  840. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_model_download_locks.py +0 -0
  841. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_model_download_robustness.py +0 -0
  842. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_model_license_single_source.py +0 -0
  843. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_model_license_status.py +0 -0
  844. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_model_load_gate_freshness.py +0 -0
  845. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_model_manifest.py +0 -0
  846. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_model_quality.py +0 -0
  847. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_model_quality_pose_classification.py +0 -0
  848. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_model_registry.py +0 -0
  849. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_model_singleton.py +0 -0
  850. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_model_singleton_unpinned.py +0 -0
  851. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_models_pending_endpoint.py +0 -0
  852. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_moments.py +0 -0
  853. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_mypy_gate.py +0 -0
  854. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_nas_resilience.py +0 -0
  855. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_near_duplicate_clusters.py +0 -0
  856. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_no_duplicate_test_names.py +0 -0
  857. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_no_import_cycles.py +0 -0
  858. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_no_third_party_cdn.py +0 -0
  859. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_nudity.py +0 -0
  860. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_nudity_decode.py +0 -0
  861. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_nudity_download.py +0 -0
  862. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_nudity_integrity.py +0 -0
  863. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_nudity_label_validation.py +0 -0
  864. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_on_this_day.py +0 -0
  865. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_onnx_providers.py +0 -0
  866. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_open_folder_restrict.py +0 -0
  867. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_orphan_person_albums.py +0 -0
  868. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_packaging.py +0 -0
  869. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_packaging_docs_consistency.py +0 -0
  870. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_pair_endpoints.py +0 -0
  871. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_pair_status_touch.py +0 -0
  872. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_pairing_requires_share_token.py +0 -0
  873. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_parallel_map_window.py +0 -0
  874. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_path_validation_helper.py +0 -0
  875. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_paths.py +0 -0
  876. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_pattern_lint.py +0 -0
  877. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_perf_assign_new_faces_vectorized.py +0 -0
  878. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_perf_cache_cleanup_no_listing.py +0 -0
  879. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_perf_face_cluster_blocked.py +0 -0
  880. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_perf_face_clusters_no_decode.py +0 -0
  881. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_perf_groups_single_pass.py +0 -0
  882. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_perf_jpeg_draft.py +0 -0
  883. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_perf_live_photo_backfill_queries.py +0 -0
  884. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_perf_pagination.py +0 -0
  885. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_perf_phash_backfill_batches.py +0 -0
  886. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_perf_semantic_pass2_blocked.py +0 -0
  887. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_perf_top_rated_refresh.py +0 -0
  888. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_perf_yunet_detector_reuse.py +0 -0
  889. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_permanent_delete_guard.py +0 -0
  890. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_permanent_delete_quarantine_edges.py +0 -0
  891. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_permanent_delete_recycle_bin.py +0 -0
  892. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_persist_atomicity.py +0 -0
  893. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_pet_cluster_iou_match.py +0 -0
  894. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_pet_crop_cache_key.py +0 -0
  895. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_pets.py +0 -0
  896. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_pets_pet_detections_crud.py +0 -0
  897. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_pets_smart_albums.py +0 -0
  898. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_phash_backfill_throttle.py +0 -0
  899. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_phash_generation_guard.py +0 -0
  900. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_photo_dict_typed.py +0 -0
  901. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_photo_hooks.py +0 -0
  902. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_photo_summary_builders.py +0 -0
  903. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_photos_pagination.py +0 -0
  904. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_picker_tables_in_sync.py +0 -0
  905. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_pip_process.py +0 -0
  906. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_pipeline_fixes.py +0 -0
  907. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_plugin_albums_exports_hooks.py +0 -0
  908. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_plugin_extensibility.py +0 -0
  909. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_plugin_face_backends.py +0 -0
  910. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_plugin_lifecycle_and_indexed_smart_person.py +0 -0
  911. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_plugin_loader.py +0 -0
  912. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_plugin_loader_loader_respects_version_requirement.py +0 -0
  913. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_plugin_models_visible.py +0 -0
  914. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_plugin_protocol.py +0 -0
  915. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_plugin_toggle_keys.py +0 -0
  916. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_plugin_weight_keys_lazy.py +0 -0
  917. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_plugins_doc_claims.py +0 -0
  918. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_polish_features.py +0 -0
  919. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_post_cluster_dispatch.py +0 -0
  920. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_privacy_claims.py +0 -0
  921. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_property_exif.py +0 -0
  922. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_property_paths.py +0 -0
  923. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_property_share.py +0 -0
  924. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_raw.py +0 -0
  925. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_raw_decode.py +0 -0
  926. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_raw_readers.py +0 -0
  927. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_reanalyze_keeps_provenance.py +0 -0
  928. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_recent_hidden.py +0 -0
  929. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_recompute_coverage.py +0 -0
  930. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_recompute_coverage_optimize.py +0 -0
  931. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_recompute_dedupe_cache.py +0 -0
  932. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_recompute_override_clamp.py +0 -0
  933. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_recovery_library_bound.py +0 -0
  934. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_redeye_points.py +0 -0
  935. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_refresh_domains_used.py +0 -0
  936. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_refresh_smart_albums_kinds.py +0 -0
  937. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_registry.py +0 -0
  938. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_registry_protocol.py +0 -0
  939. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_release_hardening.py +0 -0
  940. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_remap_person_tags.py +0 -0
  941. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_rename_overwrite_guard.py +0 -0
  942. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_request_validation.py +0 -0
  943. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_review_meta.py +0 -0
  944. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_robustness.py +0 -0
  945. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_robustness_first_run_api.py +0 -0
  946. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_robustness_per_step_migration_backup.py +0 -0
  947. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_route_registration.py +0 -0
  948. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_sample_config_defaults.py +0 -0
  949. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_scan_extensions_config.py +0 -0
  950. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_scan_progress.py +0 -0
  951. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_scan_skips_internal_dirs_deep.py +0 -0
  952. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_scorer_registry.py +0 -0
  953. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_scores_sync.py +0 -0
  954. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_scoring_blur.py +0 -0
  955. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_scoring_subprocess.py +0 -0
  956. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_scrfd.py +0 -0
  957. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_scrfd_license_gate.py +0 -0
  958. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_search.py +0 -0
  959. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_search_like_escape.py +0 -0
  960. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_security_endpoints.py +0 -0
  961. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_sensitive.py +0 -0
  962. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_serve_debug_flag.py +0 -0
  963. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_serve_host_default.py +0 -0
  964. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_serve_log_handler_ordering.py +0 -0
  965. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_serving_lock.py +0 -0
  966. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_settings_ui.py +0 -0
  967. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_share.py +0 -0
  968. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_share_access_log.py +0 -0
  969. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_share_auth_gate.py +0 -0
  970. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_share_cookie.py +0 -0
  971. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_share_db.py +0 -0
  972. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_share_devices.py +0 -0
  973. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_share_endpoints.py +0 -0
  974. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_share_schema_migration.py +0 -0
  975. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_share_token_rotation_backups.py +0 -0
  976. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_sidecar_entry.py +0 -0
  977. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_smart_album_coverage.py +0 -0
  978. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_smart_album_coverage_thumbnail_cache.py +0 -0
  979. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_smart_album_presentation.py +0 -0
  980. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_smart_album_queries.py +0 -0
  981. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_smart_album_registry.py +0 -0
  982. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_smart_album_unique.py +0 -0
  983. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_smart_person_cluster_id_v36.py +0 -0
  984. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_smoke.py +0 -0
  985. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_sse_event.py +0 -0
  986. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_sse_shared_stream.py +0 -0
  987. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_ssl_context_normalization.py +0 -0
  988. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_startup_backup_failure_is_not_corruption.py +0 -0
  989. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_startup_integrity_gate.py +0 -0
  990. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_state_change_logging.py +0 -0
  991. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_state_compat_delegates_logged.py +0 -0
  992. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_stats.py +0 -0
  993. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_subprocess_runner.py +0 -0
  994. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_subprocess_runner_user_message.py +0 -0
  995. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_tag_rename_collision.py +0 -0
  996. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_tags.py +0 -0
  997. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_third_party_inventory.py +0 -0
  998. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_thumbnail_write_safety.py +0 -0
  999. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_timeline.py +0 -0
  1000. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_trim_export_rename_safety.py +0 -0
  1001. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_trust_proxy.py +0 -0
  1002. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_trust_proxy_behind_proxy_gated_by_trusted_networks.py +0 -0
  1003. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_update_checker.py +0 -0
  1004. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_video.py +0 -0
  1005. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_video_metadata_db.py +0 -0
  1006. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_video_trim_updates_row.py +0 -0
  1007. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_web.py +0 -0
  1008. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_web_batch_routes.py +0 -0
  1009. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_web_face_recluster.py +0 -0
  1010. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_whole_tree_review_batch2.py +0 -0
  1011. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_whole_tree_review_batch3.py +0 -0
  1012. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_whole_tree_review_batch3b.py +0 -0
  1013. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_whole_tree_review_fixes.py +0 -0
  1014. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_worker_finalize.py +0 -0
  1015. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_worker_pool.py +0 -0
  1016. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_worker_registry.py +0 -0
  1017. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_workers.py +0 -0
  1018. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_yunet_sface.py +0 -0
  1019. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_yunet_sface_acceptance_gate.py +0 -0
  1020. {bppicker-0.2.0 → bppicker-0.2.1}/tests/test_yunet_sface_integrity.py +0 -0
  1021. {bppicker-0.2.0 → bppicker-0.2.1}/tests-js/_albums-setup.mjs +0 -0
  1022. {bppicker-0.2.0 → bppicker-0.2.1}/tests-js/_analysis-setup.mjs +0 -0
  1023. {bppicker-0.2.0 → bppicker-0.2.1}/tests-js/_deleted-setup.mjs +0 -0
  1024. {bppicker-0.2.0 → bppicker-0.2.1}/tests-js/_editor-setup.mjs +0 -0
  1025. {bppicker-0.2.0 → bppicker-0.2.1}/tests-js/_install-helpers.mjs +0 -0
  1026. {bppicker-0.2.0 → bppicker-0.2.1}/tests-js/_lightbox-setup.mjs +0 -0
  1027. {bppicker-0.2.0 → bppicker-0.2.1}/tests-js/_photos-setup.mjs +0 -0
  1028. {bppicker-0.2.0 → bppicker-0.2.1}/tests-js/_toolbar-setup.mjs +0 -0
  1029. {bppicker-0.2.0 → bppicker-0.2.1}/tests-js/action-registry.test.mjs +0 -0
  1030. {bppicker-0.2.0 → bppicker-0.2.1}/tests-js/activity-humanize.module.test.mjs +0 -0
  1031. {bppicker-0.2.0 → bppicker-0.2.1}/tests-js/activity-log.module.test.mjs +0 -0
  1032. {bppicker-0.2.0 → bppicker-0.2.1}/tests-js/albums-presentation.module.test.mjs +0 -0
  1033. {bppicker-0.2.0 → bppicker-0.2.1}/tests-js/albums-render-album-nav.module.test.mjs +0 -0
  1034. {bppicker-0.2.0 → bppicker-0.2.1}/tests-js/albums-smart-album-context-menu.module.test.mjs +0 -0
  1035. {bppicker-0.2.0 → bppicker-0.2.1}/tests-js/albums.module.test.mjs +0 -0
  1036. {bppicker-0.2.0 → bppicker-0.2.1}/tests-js/analysis-refresh-status-right.module.test.mjs +0 -0
  1037. {bppicker-0.2.0 → bppicker-0.2.1}/tests-js/analysis.module.test.mjs +0 -0
  1038. {bppicker-0.2.0 → bppicker-0.2.1}/tests-js/api-client.module.test.mjs +0 -0
  1039. {bppicker-0.2.0 → bppicker-0.2.1}/tests-js/attribution-consent.module.test.mjs +0 -0
  1040. {bppicker-0.2.0 → bppicker-0.2.1}/tests-js/batch-rename.module.test.mjs +0 -0
  1041. {bppicker-0.2.0 → bppicker-0.2.1}/tests-js/boot-health.module.test.mjs +0 -0
  1042. {bppicker-0.2.0 → bppicker-0.2.1}/tests-js/boot-proof.module.test.mjs +0 -0
  1043. {bppicker-0.2.0 → bppicker-0.2.1}/tests-js/calendar-keys-scope.module.test.mjs +0 -0
  1044. {bppicker-0.2.0 → bppicker-0.2.1}/tests-js/calendar.module.test.mjs +0 -0
  1045. {bppicker-0.2.0 → bppicker-0.2.1}/tests-js/cards-keyboard.module.test.mjs +0 -0
  1046. {bppicker-0.2.0 → bppicker-0.2.1}/tests-js/client-error-beacon.module.test.mjs +0 -0
  1047. {bppicker-0.2.0 → bppicker-0.2.1}/tests-js/clip.module.test.mjs +0 -0
  1048. {bppicker-0.2.0 → bppicker-0.2.1}/tests-js/compare-sibling.module.test.mjs +0 -0
  1049. {bppicker-0.2.0 → bppicker-0.2.1}/tests-js/compare.module.test.mjs +0 -0
  1050. {bppicker-0.2.0 → bppicker-0.2.1}/tests-js/core.module.test.mjs +0 -0
  1051. {bppicker-0.2.0 → bppicker-0.2.1}/tests-js/ctx-menu-shortcuts.module.test.mjs +0 -0
  1052. {bppicker-0.2.0 → bppicker-0.2.1}/tests-js/date-format.module.test.mjs +0 -0
  1053. {bppicker-0.2.0 → bppicker-0.2.1}/tests-js/deleted-batch-enhance.module.test.mjs +0 -0
  1054. {bppicker-0.2.0 → bppicker-0.2.1}/tests-js/deleted.module.test.mjs +0 -0
  1055. {bppicker-0.2.0 → bppicker-0.2.1}/tests-js/dialog-focus.module.test.mjs +0 -0
  1056. {bppicker-0.2.0 → bppicker-0.2.1}/tests-js/dialogs.module.test.mjs +0 -0
  1057. {bppicker-0.2.0 → bppicker-0.2.1}/tests-js/dispatcher.test.mjs +0 -0
  1058. {bppicker-0.2.0 → bppicker-0.2.1}/tests-js/download-jobs.module.test.mjs +0 -0
  1059. {bppicker-0.2.0 → bppicker-0.2.1}/tests-js/dupe-review.module.test.mjs +0 -0
  1060. {bppicker-0.2.0 → bppicker-0.2.1}/tests-js/editor-crop.module.test.mjs +0 -0
  1061. {bppicker-0.2.0 → bppicker-0.2.1}/tests-js/editor-inpaint.module.test.mjs +0 -0
  1062. {bppicker-0.2.0 → bppicker-0.2.1}/tests-js/editor-redeye.module.test.mjs +0 -0
  1063. {bppicker-0.2.0 → bppicker-0.2.1}/tests-js/editor.module.test.mjs +0 -0
  1064. {bppicker-0.2.0 → bppicker-0.2.1}/tests-js/escape-order.module.test.mjs +0 -0
  1065. {bppicker-0.2.0 → bppicker-0.2.1}/tests-js/face-embedders-blocker-text.module.test.mjs +0 -0
  1066. {bppicker-0.2.0 → bppicker-0.2.1}/tests-js/face-embedders-escape.module.test.mjs +0 -0
  1067. {bppicker-0.2.0 → bppicker-0.2.1}/tests-js/face-embedders-license-badge.module.test.mjs +0 -0
  1068. {bppicker-0.2.0 → bppicker-0.2.1}/tests-js/face-embedders-load-failures.module.test.mjs +0 -0
  1069. {bppicker-0.2.0 → bppicker-0.2.1}/tests-js/face-embedders-load-state.module.test.mjs +0 -0
  1070. {bppicker-0.2.0 → bppicker-0.2.1}/tests-js/face-embedders-primary.module.test.mjs +0 -0
  1071. {bppicker-0.2.0 → bppicker-0.2.1}/tests-js/face-embedders-reaccept.module.test.mjs +0 -0
  1072. {bppicker-0.2.0 → bppicker-0.2.1}/tests-js/faces-reextract.module.test.mjs +0 -0
  1073. {bppicker-0.2.0 → bppicker-0.2.1}/tests-js/faces.module.test.mjs +0 -0
  1074. {bppicker-0.2.0 → bppicker-0.2.1}/tests-js/final-sweep-ui.module.test.mjs +0 -0
  1075. {bppicker-0.2.0 → bppicker-0.2.1}/tests-js/format-helpers.module.test.mjs +0 -0
  1076. {bppicker-0.2.0 → bppicker-0.2.1}/tests-js/function-loc-cap.test.mjs +0 -0
  1077. {bppicker-0.2.0 → bppicker-0.2.1}/tests-js/groups.module.test.mjs +0 -0
  1078. {bppicker-0.2.0 → bppicker-0.2.1}/tests-js/import-worker.module.test.mjs +0 -0
  1079. {bppicker-0.2.0 → bppicker-0.2.1}/tests-js/inspector.module.test.mjs +0 -0
  1080. {bppicker-0.2.0 → bppicker-0.2.1}/tests-js/install-done.module.test.mjs +0 -0
  1081. {bppicker-0.2.0 → bppicker-0.2.1}/tests-js/install-prompts.module.test.mjs +0 -0
  1082. {bppicker-0.2.0 → bppicker-0.2.1}/tests-js/library.module.test.mjs +0 -0
  1083. {bppicker-0.2.0 → bppicker-0.2.1}/tests-js/lightbox-add-face.test.mjs +0 -0
  1084. {bppicker-0.2.0 → bppicker-0.2.1}/tests-js/lightbox-bbox-edit.test.mjs +0 -0
  1085. {bppicker-0.2.0 → bppicker-0.2.1}/tests-js/lightbox-ctx-menu-clamp.test.mjs +0 -0
  1086. {bppicker-0.2.0 → bppicker-0.2.1}/tests-js/lightbox-esc-dialog.test.mjs +0 -0
  1087. {bppicker-0.2.0 → bppicker-0.2.1}/tests-js/lightbox-face-edit.module.test.mjs +0 -0
  1088. {bppicker-0.2.0 → bppicker-0.2.1}/tests-js/lightbox-lb-delete.module.test.mjs +0 -0
  1089. {bppicker-0.2.0 → bppicker-0.2.1}/tests-js/lightbox-map-guard.module.test.mjs +0 -0
  1090. {bppicker-0.2.0 → bppicker-0.2.1}/tests-js/lightbox-map.module.test.mjs +0 -0
  1091. {bppicker-0.2.0 → bppicker-0.2.1}/tests-js/lightbox.module.test.mjs +0 -0
  1092. {bppicker-0.2.0 → bppicker-0.2.1}/tests-js/map.module.test.mjs +0 -0
  1093. {bppicker-0.2.0 → bppicker-0.2.1}/tests-js/media-error-reload.module.test.mjs +0 -0
  1094. {bppicker-0.2.0 → bppicker-0.2.1}/tests-js/media-url-auth.regression.test.mjs +0 -0
  1095. {bppicker-0.2.0 → bppicker-0.2.1}/tests-js/memories.module.test.mjs +0 -0
  1096. {bppicker-0.2.0 → bppicker-0.2.1}/tests-js/menu-a11y.module.test.mjs +0 -0
  1097. {bppicker-0.2.0 → bppicker-0.2.1}/tests-js/menu-actions.module.test.mjs +0 -0
  1098. {bppicker-0.2.0 → bppicker-0.2.1}/tests-js/modal.module.test.mjs +0 -0
  1099. {bppicker-0.2.0 → bppicker-0.2.1}/tests-js/modals-face-embedders-busy-gate.module.test.mjs +0 -0
  1100. {bppicker-0.2.0 → bppicker-0.2.1}/tests-js/modals-face-embedders-derive-row-state.module.test.mjs +0 -0
  1101. {bppicker-0.2.0 → bppicker-0.2.1}/tests-js/modals-face-embedders-redownload-face-embedder-entry.module.test.mjs +0 -0
  1102. {bppicker-0.2.0 → bppicker-0.2.1}/tests-js/modals-face-embedders-status-cell-menu-agree.module.test.mjs +0 -0
  1103. {bppicker-0.2.0 → bppicker-0.2.1}/tests-js/modals-face-embedders.module.test.mjs +0 -0
  1104. {bppicker-0.2.0 → bppicker-0.2.1}/tests-js/modals.module.test.mjs +0 -0
  1105. {bppicker-0.2.0 → bppicker-0.2.1}/tests-js/models-changed-wiring.module.test.mjs +0 -0
  1106. {bppicker-0.2.0 → bppicker-0.2.1}/tests-js/models-changed.module.test.mjs +0 -0
  1107. {bppicker-0.2.0 → bppicker-0.2.1}/tests-js/moments-stacks.module.test.mjs +0 -0
  1108. {bppicker-0.2.0 → bppicker-0.2.1}/tests-js/moments-view.module.test.mjs +0 -0
  1109. {bppicker-0.2.0 → bppicker-0.2.1}/tests-js/mutation-error-toasts.module.test.mjs +0 -0
  1110. {bppicker-0.2.0 → bppicker-0.2.1}/tests-js/nav-keyboard.module.test.mjs +0 -0
  1111. {bppicker-0.2.0 → bppicker-0.2.1}/tests-js/navigation.module.test.mjs +0 -0
  1112. {bppicker-0.2.0 → bppicker-0.2.1}/tests-js/no-local-escAttr.test.mjs +0 -0
  1113. {bppicker-0.2.0 → bppicker-0.2.1}/tests-js/nudges.module.test.mjs +0 -0
  1114. {bppicker-0.2.0 → bppicker-0.2.1}/tests-js/on-this-day.module.test.mjs +0 -0
  1115. {bppicker-0.2.0 → bppicker-0.2.1}/tests-js/onboarding-use-context.module.test.mjs +0 -0
  1116. {bppicker-0.2.0 → bppicker-0.2.1}/tests-js/onboarding.module.test.mjs +0 -0
  1117. {bppicker-0.2.0 → bppicker-0.2.1}/tests-js/optimistic-handlers.module.test.mjs +0 -0
  1118. {bppicker-0.2.0 → bppicker-0.2.1}/tests-js/paging.module.test.mjs +0 -0
  1119. {bppicker-0.2.0 → bppicker-0.2.1}/tests-js/pair-page.test.mjs +0 -0
  1120. {bppicker-0.2.0 → bppicker-0.2.1}/tests-js/pair-review-escape.module.test.mjs +0 -0
  1121. {bppicker-0.2.0 → bppicker-0.2.1}/tests-js/pass-event-pattern.test.mjs +0 -0
  1122. {bppicker-0.2.0 → bppicker-0.2.1}/tests-js/pattern-lint.test.mjs +0 -0
  1123. {bppicker-0.2.0 → bppicker-0.2.1}/tests-js/people-actions.module.test.mjs +0 -0
  1124. {bppicker-0.2.0 → bppicker-0.2.1}/tests-js/people-merge-bulk.module.test.mjs +0 -0
  1125. {bppicker-0.2.0 → bppicker-0.2.1}/tests-js/people-merge-override-revert.module.test.mjs +0 -0
  1126. {bppicker-0.2.0 → bppicker-0.2.1}/tests-js/people-pair-review.module.test.mjs +0 -0
  1127. {bppicker-0.2.0 → bppicker-0.2.1}/tests-js/people-rename.module.test.mjs +0 -0
  1128. {bppicker-0.2.0 → bppicker-0.2.1}/tests-js/people-review-esc.module.test.mjs +0 -0
  1129. {bppicker-0.2.0 → bppicker-0.2.1}/tests-js/people-view-load.module.test.mjs +0 -0
  1130. {bppicker-0.2.0 → bppicker-0.2.1}/tests-js/people-view.module.test.mjs +0 -0
  1131. {bppicker-0.2.0 → bppicker-0.2.1}/tests-js/pet-crop-url.module.test.mjs +0 -0
  1132. {bppicker-0.2.0 → bppicker-0.2.1}/tests-js/pets.module.test.mjs +0 -0
  1133. {bppicker-0.2.0 → bppicker-0.2.1}/tests-js/phash-status.module.test.mjs +0 -0
  1134. {bppicker-0.2.0 → bppicker-0.2.1}/tests-js/photo-load-error.module.test.mjs +0 -0
  1135. {bppicker-0.2.0 → bppicker-0.2.1}/tests-js/photo-preview.module.test.mjs +0 -0
  1136. {bppicker-0.2.0 → bppicker-0.2.1}/tests-js/photos-apply-zoom.module.test.mjs +0 -0
  1137. {bppicker-0.2.0 → bppicker-0.2.1}/tests-js/photos-card-moment-preserve.module.test.mjs +0 -0
  1138. {bppicker-0.2.0 → bppicker-0.2.1}/tests-js/photos-card-moment.module.test.mjs +0 -0
  1139. {bppicker-0.2.0 → bppicker-0.2.1}/tests-js/photos-keynav.module.test.mjs +0 -0
  1140. {bppicker-0.2.0 → bppicker-0.2.1}/tests-js/photos.module.test.mjs +0 -0
  1141. {bppicker-0.2.0 → bppicker-0.2.1}/tests-js/picker-overlays.module.test.mjs +0 -0
  1142. {bppicker-0.2.0 → bppicker-0.2.1}/tests-js/picker-server-fields.module.test.mjs +0 -0
  1143. {bppicker-0.2.0 → bppicker-0.2.1}/tests-js/presets.module.test.mjs +0 -0
  1144. {bppicker-0.2.0 → bppicker-0.2.1}/tests-js/review-meta.module.test.mjs +0 -0
  1145. {bppicker-0.2.0 → bppicker-0.2.1}/tests-js/review15-ui-races.module.test.mjs +0 -0
  1146. {bppicker-0.2.0 → bppicker-0.2.1}/tests-js/score-format.module.test.mjs +0 -0
  1147. {bppicker-0.2.0 → bppicker-0.2.1}/tests-js/search-seq.module.test.mjs +0 -0
  1148. {bppicker-0.2.0 → bppicker-0.2.1}/tests-js/search.module.test.mjs +0 -0
  1149. {bppicker-0.2.0 → bppicker-0.2.1}/tests-js/sensitive.module.test.mjs +0 -0
  1150. {bppicker-0.2.0 → bppicker-0.2.1}/tests-js/settings-client.module.test.mjs +0 -0
  1151. {bppicker-0.2.0 → bppicker-0.2.1}/tests-js/settings-models-load.module.test.mjs +0 -0
  1152. {bppicker-0.2.0 → bppicker-0.2.1}/tests-js/share-tab.module.test.mjs +0 -0
  1153. {bppicker-0.2.0 → bppicker-0.2.1}/tests-js/sidebar-safety.test.mjs +0 -0
  1154. {bppicker-0.2.0 → bppicker-0.2.1}/tests-js/sliders-delegation.test.mjs +0 -0
  1155. {bppicker-0.2.0 → bppicker-0.2.1}/tests-js/slideshow.module.test.mjs +0 -0
  1156. {bppicker-0.2.0 → bppicker-0.2.1}/tests-js/state.module.test.mjs +0 -0
  1157. {bppicker-0.2.0 → bppicker-0.2.1}/tests-js/tags-view.module.test.mjs +0 -0
  1158. {bppicker-0.2.0 → bppicker-0.2.1}/tests-js/tags.module.test.mjs +0 -0
  1159. {bppicker-0.2.0 → bppicker-0.2.1}/tests-js/text-format.module.test.mjs +0 -0
  1160. {bppicker-0.2.0 → bppicker-0.2.1}/tests-js/theme.module.test.mjs +0 -0
  1161. {bppicker-0.2.0 → bppicker-0.2.1}/tests-js/timeline.module.test.mjs +0 -0
  1162. {bppicker-0.2.0 → bppicker-0.2.1}/tests-js/toast.module.test.mjs +0 -0
  1163. {bppicker-0.2.0 → bppicker-0.2.1}/tests-js/toolbar.module.test.mjs +0 -0
  1164. {bppicker-0.2.0 → bppicker-0.2.1}/tests-js/tooltip.module.test.mjs +0 -0
  1165. {bppicker-0.2.0 → bppicker-0.2.1}/tests-js/tour.module.test.mjs +0 -0
  1166. {bppicker-0.2.0 → bppicker-0.2.1}/tests-js/types/globals.d.ts +0 -0
  1167. {bppicker-0.2.0 → bppicker-0.2.1}/tests-js/ui-helpers.module.test.mjs +0 -0
  1168. {bppicker-0.2.0 → bppicker-0.2.1}/tests-js/update-checker.module.test.mjs +0 -0
  1169. {bppicker-0.2.0 → bppicker-0.2.1}/tests-js/use-context-options.module.test.mjs +0 -0
  1170. {bppicker-0.2.0 → bppicker-0.2.1}/tests-js/utils.module.test.mjs +0 -0
  1171. {bppicker-0.2.0 → bppicker-0.2.1}/tests-js/view-guard.module.test.mjs +0 -0
  1172. {bppicker-0.2.0 → bppicker-0.2.1}/tests-js/whole-tree-review-batch2.module.test.mjs +0 -0
  1173. {bppicker-0.2.0 → bppicker-0.2.1}/tests-js/window-pollution.test.mjs +0 -0
  1174. {bppicker-0.2.0 → bppicker-0.2.1}/tests-js/wizard.module.test.mjs +0 -0
@@ -6,6 +6,17 @@ this project follows [Semantic Versioning](https://semver.org/).
6
6
 
7
7
  ## [Unreleased]
8
8
 
9
+ ## [0.2.1] — 2026-10-23
10
+
11
+ ### Fixed
12
+ - **The Mac app starts.** The 0.2.0 Mac build did not: macOS refused to
13
+ let its signed server load the Python runtime it unpacks (library
14
+ validation under the hardened runtime), so the app never reached its
15
+ server. The app now carries the entitlements a PyInstaller build
16
+ needs, and the release pipeline runs the signed server from the
17
+ installer before anything is uploaded. Install 0.2.1 over 0.2.0.
18
+ The Python package was not affected.
19
+
9
20
  ## [0.2.0] — 2026-10-23
10
21
 
11
22
  Licensing, accuracy and hardening release. **Schema version: 44** (unchanged).
@@ -434,7 +445,8 @@ External calls are limited to documented features:
434
445
  desktop wrapper currently builds only the macOS bundle.
435
446
  - Python 3.11 only (CI tests this version; 3.12+ is unvalidated).
436
447
 
437
- [Unreleased]: https://github.com/Arkalogy/best-photo-picker/compare/v0.2.0...HEAD
448
+ [Unreleased]: https://github.com/Arkalogy/best-photo-picker/compare/v0.2.1...HEAD
449
+ [0.2.1]: https://github.com/Arkalogy/best-photo-picker/releases/tag/v0.2.1
438
450
  [0.2.0]: https://github.com/Arkalogy/best-photo-picker/releases/tag/v0.2.0
439
451
  [0.1.2]: https://github.com/Arkalogy/best-photo-picker/releases/tag/v0.1.2
440
452
  [0.1.1]: https://github.com/Arkalogy/best-photo-picker/releases/tag/v0.1.1
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.5
2
2
  Name: bppicker
3
- Version: 0.2.0
3
+ Version: 0.2.1
4
4
  Summary: Local-first photo curation tool — score, deduplicate, and select the best photos from large collections
5
5
  Project-URL: Homepage, https://github.com/Arkalogy/best-photo-picker
6
6
  Project-URL: Repository, https://github.com/Arkalogy/best-photo-picker
@@ -18,7 +18,7 @@ _os.environ.setdefault("OPENCV_IO_MAX_IMAGE_PIXELS", str(200_000_000))
18
18
  # the first import.
19
19
  _os.environ.setdefault("NO_ALBUMENTATIONS_UPDATE", "1")
20
20
 
21
- __version__ = "0.2.0"
21
+ __version__ = "0.2.1"
22
22
  APP_NAME = "Best Photo Picker"
23
23
 
24
24
  # Eagerly import the model registry so the download chokepoint
@@ -8,7 +8,7 @@ build-backend = "hatchling.build"
8
8
  # *import* package stays `bpp` — `pip install bppicker` then
9
9
  # `import bpp` is the contract.
10
10
  name = "bppicker"
11
- version = "0.2.0"
11
+ version = "0.2.1"
12
12
  description = "Local-first photo curation tool — score, deduplicate, and select the best photos from large collections"
13
13
  readme = "README.md"
14
14
  requires-python = ">=3.11,<3.12"
@@ -105,3 +105,27 @@ class TestDesktopShellRestartLifecycle:
105
105
  monitor = src.split("Server respawned successfully")[0]
106
106
  monitor = monitor[monitor.rfind("loop {") :]
107
107
  assert "foreign_ticks" in monitor and "show_start_failure(&handle_nav, true)" in monitor
108
+
109
+
110
+ def test_the_signed_app_may_load_its_own_python():
111
+ """The sidecar is a PyInstaller one-file binary; under the hardened
112
+ runtime it needs library validation disabled or it can't load the
113
+ Python it unpacks (the 0.2.0 Mac build did not start). The bundler
114
+ applies the entitlements file to every binary it signs, and the
115
+ release runs the signed sidecar from the DMG, serving a page, before
116
+ anything is uploaded."""
117
+ import json
118
+ import plistlib
119
+
120
+ conf = json.loads((ROOT / "desktop" / "src-tauri" / "tauri.conf.json").read_text())
121
+ name = conf["bundle"]["macOS"]["entitlements"]
122
+ plist = plistlib.loads((ROOT / "desktop" / "src-tauri" / name).read_bytes())
123
+ assert plist["com.apple.security.cs.disable-library-validation"] is True
124
+ assert plist["com.apple.security.cs.allow-unsigned-executable-memory"] is True
125
+ workflow = (ROOT / ".github" / "workflows" / "release-desktop.yml").read_text()
126
+ gate = workflow.index("Verify the signed sidecar starts and serves")
127
+ assert gate < workflow.index("Notarize and staple the DMG")
128
+ step = workflow[gate : workflow.index("Notarize and staple the DMG")]
129
+ assert '"$server" --version' in step
130
+ assert "serve --library" in step and "curl -sf" in step
131
+ assert "alarm 120" in step and "hdiutil detach" in step
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes