pixlstash 1.7.0.dev1__tar.gz → 1.7.0.dev2__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 (372) hide show
  1. {pixlstash-1.7.0.dev1/pixlstash.egg-info → pixlstash-1.7.0.dev2}/PKG-INFO +2 -2
  2. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/frontend/package-lock.json +2 -2
  3. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/frontend/package.json +1 -1
  4. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/db_models/picture.py +4 -0
  5. pixlstash-1.7.0.dev1/pixlstash/frontend/dist/assets/index-Jwr2gQ_v.css → pixlstash-1.7.0.dev2/pixlstash/frontend/dist/assets/index-BdRiWzmx.css +1 -1
  6. pixlstash-1.7.0.dev1/pixlstash/frontend/dist/assets/index-BhBOGIb3.js → pixlstash-1.7.0.dev2/pixlstash/frontend/dist/assets/index-C5zoCHch.js +4 -4
  7. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/frontend/dist/index.html +2 -2
  8. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/routes/pictures/_listing.py +16 -0
  9. pixlstash-1.7.0.dev2/pixlstash/services/impossible_tag_scan_service.py +209 -0
  10. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/services/tag_suggestion_service.py +10 -0
  11. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/utils/caption_file_utils.py +15 -6
  12. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/utils/query/predicate_filter.py +60 -0
  13. pixlstash-1.7.0.dev2/pixlstash/utils/service/person_tags.py +381 -0
  14. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2/pixlstash.egg-info}/PKG-INFO +2 -2
  15. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash.egg-info/SOURCES.txt +6 -2
  16. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash.egg-info/requires.txt +1 -1
  17. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pyproject.toml +2 -2
  18. pixlstash-1.7.0.dev2/tests/test_impossible_filter.py +60 -0
  19. pixlstash-1.7.0.dev2/tests/test_person_tags.py +117 -0
  20. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/LICENSE +0 -0
  21. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/MANIFEST.in +0 -0
  22. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/README.md +0 -0
  23. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/frontend/LICENSE +0 -0
  24. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/LICENSE +0 -0
  25. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/__init__.py +0 -0
  26. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/alembic.ini +0 -0
  27. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/app.py +0 -0
  28. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/auth.py +0 -0
  29. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/data/anchors/builtin_bad.npy +0 -0
  30. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/data/anchors/builtin_good.npy +0 -0
  31. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/data/comfyui-workflows/built-in/Flux2-Klein-Image-Edit.json +0 -0
  32. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/data/comfyui-workflows/built-in/Flux2-Klein-t2i.json +0 -0
  33. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/data/comfyui-workflows/built-in/Upscale-2x-RealESRGAN.json +0 -0
  34. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/data/scalar-assets/ScreenshotToken.jpg +0 -0
  35. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/data/scalar-assets/ScreenshotTokens.jpg +0 -0
  36. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/data/scalar-assets/ScreenshotsUserSettings.jpg +0 -0
  37. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/data/scalar-assets/WhereIsUserSettings.jpg +0 -0
  38. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/data/scalar-assets/logo.png +0 -0
  39. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/database.py +0 -0
  40. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/db_models/__init__.py +0 -0
  41. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/db_models/character.py +0 -0
  42. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/db_models/deleted_file_log.py +0 -0
  43. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/db_models/face.py +0 -0
  44. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/db_models/guest_score.py +0 -0
  45. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/db_models/guest_session.py +0 -0
  46. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/db_models/import_folder.py +0 -0
  47. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/db_models/metadata.py +0 -0
  48. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/db_models/picture_likeness.py +0 -0
  49. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/db_models/picture_project.py +0 -0
  50. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/db_models/picture_set.py +0 -0
  51. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/db_models/picture_stack.py +0 -0
  52. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/db_models/project.py +0 -0
  53. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/db_models/quality.py +0 -0
  54. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/db_models/reference_folder.py +0 -0
  55. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/db_models/snapshot.py +0 -0
  56. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/db_models/tag.py +0 -0
  57. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/db_models/tag_prediction.py +0 -0
  58. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/db_models/tag_suggestion.py +0 -0
  59. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/db_models/tagger_run.py +0 -0
  60. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/db_models/user.py +0 -0
  61. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/db_models/user_token.py +0 -0
  62. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/event_types.py +0 -0
  63. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/frontend/dist/Empty.png +0 -0
  64. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/frontend/dist/EmptyTrash.png +0 -0
  65. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/frontend/dist/Logo.png +0 -0
  66. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/frontend/dist/Watermark.png +0 -0
  67. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/frontend/dist/assets/Tiny5-Regular-WaYIHWdr.ttf +0 -0
  68. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/frontend/dist/assets/materialdesignicons-webfont-B7mPwVP_.ttf +0 -0
  69. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/frontend/dist/assets/materialdesignicons-webfont-CSr8KVlo.eot +0 -0
  70. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/frontend/dist/assets/materialdesignicons-webfont-Dp5v-WZN.woff2 +0 -0
  71. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/frontend/dist/assets/materialdesignicons-webfont-PXm3-2wK.woff +0 -0
  72. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/frontend/dist/favicon.ico +0 -0
  73. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/frontend/dist/vite.svg +0 -0
  74. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/image_loading_dataset_prepper.py +0 -0
  75. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/image_plugins/__init__.py +0 -0
  76. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/image_plugins/base.py +0 -0
  77. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/image_plugins/built-in/blur_sharpen.py +0 -0
  78. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/image_plugins/built-in/brightness_contrast.py +0 -0
  79. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/image_plugins/built-in/colour_filter.py +0 -0
  80. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/image_plugins/built-in/pixelate.py +0 -0
  81. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/image_plugins/built-in/plugin_template.py +0 -0
  82. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/image_plugins/built-in/rotate.py +0 -0
  83. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/image_plugins/built-in/scaling.py +0 -0
  84. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/image_plugins/registry.py +0 -0
  85. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/image_plugins/service.py +0 -0
  86. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/inference/__init__.py +0 -0
  87. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/inference/engine.py +0 -0
  88. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/inference/model_lifecycle.py +0 -0
  89. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/inference/vram_budget.py +0 -0
  90. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/inference/workflows/__init__.py +0 -0
  91. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/inference/workflows/clip_embedding.py +0 -0
  92. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/inference/workflows/description.py +0 -0
  93. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/inference/workflows/face_embedding.py +0 -0
  94. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/inference/workflows/tagging.py +0 -0
  95. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/inference/workflows/text_embedding.py +0 -0
  96. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/migrations/env.py +0 -0
  97. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/migrations/script.py.mako +0 -0
  98. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/migrations/versions/0001_baseline.py +0 -0
  99. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/migrations/versions/0002_add_text_score.py +0 -0
  100. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/migrations/versions/0003_add_original_file_name.py +0 -0
  101. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/migrations/versions/0004_add_comfyui_fields.py +0 -0
  102. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/migrations/versions/0005_add_projects.py +0 -0
  103. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/migrations/versions/0006_add_attachment_url.py +0 -0
  104. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/migrations/versions/0007_add_picture_project_id.py +0 -0
  105. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/migrations/versions/0008_add_compact_mode.py +0 -0
  106. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/migrations/versions/0009_add_picture_project_membership.py +0 -0
  107. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/migrations/versions/0010_project_name_uniqueness.py +0 -0
  108. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/migrations/versions/0011_pictureset_name_uniqueness.py +0 -0
  109. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/migrations/versions/0012_character_name_uniqueness.py +0 -0
  110. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/migrations/versions/0013_tag_prediction.py +0 -0
  111. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/migrations/versions/0014_tag_prediction_composite_index.py +0 -0
  112. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/migrations/versions/0015_tag_prediction_model_version_rename.py +0 -0
  113. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/migrations/versions/0016_tag_prediction_confirm_applied.py +0 -0
  114. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/migrations/versions/0017_anomaly_tag_uncertainty.py +0 -0
  115. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/migrations/versions/0018_anomaly_tag_uncertainty_disagreement.py +0 -0
  116. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/migrations/versions/0019_pending_character_id.py +0 -0
  117. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/migrations/versions/0020_source_picture_id.py +0 -0
  118. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/migrations/versions/0021_tagger_enabled_flags.py +0 -0
  119. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/migrations/versions/0022_add_check_for_updates.py +0 -0
  120. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/migrations/versions/0023_add_show_keyboard_hint.py +0 -0
  121. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/migrations/versions/0024_add_deleted_file_log.py +0 -0
  122. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/migrations/versions/0025_add_reference_folders.py +0 -0
  123. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/migrations/versions/0026_add_caption_file_and_sync_captions.py +0 -0
  124. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/migrations/versions/0027_add_caption_file_mtime.py +0 -0
  125. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/migrations/versions/0028_add_smart_score.py +0 -0
  126. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/migrations/versions/0029_add_import_excluded_to_picture.py +0 -0
  127. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/migrations/versions/0030_add_import_folders.py +0 -0
  128. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/migrations/versions/0031_migrate_watch_folders_to_import_folder.py +0 -0
  129. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/migrations/versions/0032_add_reference_folder_host_path.py +0 -0
  130. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/migrations/versions/0033_add_import_folder_host_path.py +0 -0
  131. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/migrations/versions/0034_add_token_scope_fields.py +0 -0
  132. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/migrations/versions/0035_drop_face_quality.py +0 -0
  133. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/migrations/versions/0036_add_token_include_attachments.py +0 -0
  134. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/migrations/versions/0037_add_user_public_url.py +0 -0
  135. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/migrations/versions/0038_add_watermark_fields.py +0 -0
  136. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/migrations/versions/0039_drop_color_histogram.py +0 -0
  137. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/migrations/versions/0040_move_text_score_to_picture.py +0 -0
  138. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/migrations/versions/0041_guest_scores.py +0 -0
  139. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/migrations/versions/0042_guest_session_cookie_token.py +0 -0
  140. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/migrations/versions/0043_pictureset_icon_color.py +0 -0
  141. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/migrations/versions/0044_add_grid_sort_indexes.py +0 -0
  142. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/migrations/versions/0045_tagger_settings.py +0 -0
  143. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/migrations/versions/0046_tag_sentinel_rename.py +0 -0
  144. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/migrations/versions/0047_add_stack_leader_grid_indexes.py +0 -0
  145. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/migrations/versions/0048_normalize_stack_positions.py +0 -0
  146. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/migrations/versions/0049_snapshots.py +0 -0
  147. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/migrations/versions/0050_reset_metadata_hash_membership.py +0 -0
  148. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/migrations/versions/0051_deleted_file_log_path_sha.py +0 -0
  149. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/migrations/versions/0052_drop_import_excluded_sentinel.py +0 -0
  150. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/migrations/versions/0053_add_face_model_pack.py +0 -0
  151. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/migrations/versions/0054_add_sidebar_docked.py +0 -0
  152. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/migrations/versions/0055_add_sidebar_width.py +0 -0
  153. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/migrations/versions/0056_add_hide_purge_snapshot_warning.py +0 -0
  154. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/migrations/versions/0057_split_caption_sidecars.py +0 -0
  155. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/migrations/versions/0058_add_tag_suggestion.py +0 -0
  156. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/migrations/versions/0059_add_tagger_run.py +0 -0
  157. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/migrations/versions/0060_tag_prediction_label_ledger.py +0 -0
  158. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/picture_scoring.py +0 -0
  159. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/pixl_logging.py +0 -0
  160. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/routes/__init__.py +0 -0
  161. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/routes/_helpers.py +0 -0
  162. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/routes/characters.py +0 -0
  163. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/routes/comfyui.py +0 -0
  164. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/routes/config.py +0 -0
  165. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/routes/filesystem.py +0 -0
  166. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/routes/guest_scores.py +0 -0
  167. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/routes/import_folders.py +0 -0
  168. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/routes/picture_sets.py +0 -0
  169. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/routes/pictures/__init__.py +0 -0
  170. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/routes/pictures/_crud.py +0 -0
  171. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/routes/pictures/_export.py +0 -0
  172. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/routes/pictures/_face_search.py +0 -0
  173. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/routes/pictures/_helpers.py +0 -0
  174. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/routes/pictures/_import.py +0 -0
  175. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/routes/pictures/_likeness_search.py +0 -0
  176. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/routes/pictures/_misc.py +0 -0
  177. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/routes/pictures/_search.py +0 -0
  178. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/routes/pictures/_thumbnails.py +0 -0
  179. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/routes/projects.py +0 -0
  180. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/routes/reference_folders.py +0 -0
  181. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/routes/share.py +0 -0
  182. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/routes/snapshots.py +0 -0
  183. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/routes/stacks.py +0 -0
  184. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/routes/tag_predictions.py +0 -0
  185. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/routes/tag_suggestions.py +0 -0
  186. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/routes/tagger_runs.py +0 -0
  187. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/routes/taggers.py +0 -0
  188. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/routes/tags.py +0 -0
  189. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/server.py +0 -0
  190. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/services/__init__.py +0 -0
  191. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/services/config_service.py +0 -0
  192. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/services/plugin_service.py +0 -0
  193. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/services/restore_service.py +0 -0
  194. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/services/search_query_service.py +0 -0
  195. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/services/share_service.py +0 -0
  196. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/services/snapshot_service.py +0 -0
  197. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/services/stack_membership.py +0 -0
  198. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/services/tag_prediction_service.py +0 -0
  199. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/services/tag_scan_service.py +0 -0
  200. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/services/tagger_run_service.py +0 -0
  201. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/stacking.py +0 -0
  202. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/startup_checks.py +0 -0
  203. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/tagger_plugins/__init__.py +0 -0
  204. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/tagger_plugins/base.py +0 -0
  205. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/tagger_plugins/clip_service.py +0 -0
  206. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/tagger_plugins/florence2.py +0 -0
  207. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/tagger_plugins/joycaption.py +0 -0
  208. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/tagger_plugins/pixlstash_tagger.py +0 -0
  209. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/tagger_plugins/registry.py +0 -0
  210. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/tagger_plugins/sbert.py +0 -0
  211. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/tagger_plugins/wd14.py +0 -0
  212. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/task_runner.py +0 -0
  213. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/tasks/__init__.py +0 -0
  214. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/tasks/base_task.py +0 -0
  215. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/tasks/base_task_finder.py +0 -0
  216. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/tasks/comfyui_extraction_task.py +0 -0
  217. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/tasks/description_task.py +0 -0
  218. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/tasks/ensure_gfs_snapshot_finder.py +0 -0
  219. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/tasks/ensure_gfs_snapshot_task.py +0 -0
  220. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/tasks/face_detection_task.py +0 -0
  221. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/tasks/face_extraction_task.py +0 -0
  222. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/tasks/face_model_refresh_task.py +0 -0
  223. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/tasks/image_embedding_task.py +0 -0
  224. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/tasks/likeness_parameters_task.py +0 -0
  225. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/tasks/likeness_task.py +0 -0
  226. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/tasks/missing_comfyui_extraction_finder.py +0 -0
  227. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/tasks/missing_description_finder.py +0 -0
  228. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/tasks/missing_face_extraction_finder.py +0 -0
  229. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/tasks/missing_face_model_refresh_finder.py +0 -0
  230. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/tasks/missing_file_purge_finder.py +0 -0
  231. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/tasks/missing_file_purge_task.py +0 -0
  232. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/tasks/missing_image_embedding_finder.py +0 -0
  233. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/tasks/missing_likeness_finder.py +0 -0
  234. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/tasks/missing_likeness_parameters_finder.py +0 -0
  235. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/tasks/missing_quality_finder.py +0 -0
  236. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/tasks/missing_smart_score_finder.py +0 -0
  237. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/tasks/missing_source_face_likeness_finder.py +0 -0
  238. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/tasks/missing_tag_finder.py +0 -0
  239. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/tasks/missing_tag_prediction_finder.py +0 -0
  240. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/tasks/missing_text_embedding_finder.py +0 -0
  241. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/tasks/missing_text_score_finder.py +0 -0
  242. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/tasks/missing_watch_folder_import_finder.py +0 -0
  243. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/tasks/quality_task.py +0 -0
  244. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/tasks/reference_folder_scan_finder.py +0 -0
  245. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/tasks/reference_folder_scan_task.py +0 -0
  246. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/tasks/smart_score_task.py +0 -0
  247. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/tasks/source_face_likeness_task.py +0 -0
  248. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/tasks/tag_prediction_backfill_task.py +0 -0
  249. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/tasks/tag_task.py +0 -0
  250. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/tasks/task_type.py +0 -0
  251. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/tasks/text_embedding_task.py +0 -0
  252. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/tasks/text_score_task.py +0 -0
  253. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/tasks/watch_folder_import_task.py +0 -0
  254. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/utils/__init__.py +0 -0
  255. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/utils/atomic_write.py +0 -0
  256. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/utils/comfyui_utilities.py +0 -0
  257. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/utils/face_tags.py +0 -0
  258. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/utils/host_path_utils.py +0 -0
  259. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/utils/image_processing/__init__.py +0 -0
  260. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/utils/image_processing/face_utils.py +0 -0
  261. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/utils/image_processing/image_utils.py +0 -0
  262. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/utils/image_processing/video_utils.py +0 -0
  263. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/utils/insightface_batched.py +0 -0
  264. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/utils/insightface_model_utils.py +0 -0
  265. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/utils/likeness/__init__.py +0 -0
  266. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/utils/likeness/likeness_parameter_utils.py +0 -0
  267. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/utils/likeness/likeness_utils.py +0 -0
  268. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/utils/model_utils.py +0 -0
  269. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/utils/near_neighbor.py +0 -0
  270. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/utils/path_mapper.py +0 -0
  271. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/utils/quality/__init__.py +0 -0
  272. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/utils/quality/quality_utils.py +0 -0
  273. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/utils/quality/smart_score_utils.py +0 -0
  274. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/utils/query/__init__.py +0 -0
  275. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/utils/rate_limiter.py +0 -0
  276. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/utils/reference_folder_validator.py +0 -0
  277. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/utils/reference_folder_watcher.py +0 -0
  278. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/utils/request_origin.py +0 -0
  279. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/utils/service/__init__.py +0 -0
  280. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/utils/service/caption_utils.py +0 -0
  281. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/utils/service/export_utils.py +0 -0
  282. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/utils/service/filter_helpers.py +0 -0
  283. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/utils/service/label_ledger.py +0 -0
  284. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/utils/service/path_utils.py +0 -0
  285. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/utils/service/picture_stats.py +0 -0
  286. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/utils/service/serialization_utils.py +0 -0
  287. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/utils/service/system_utils.py +0 -0
  288. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/utils/service/tag_prediction_utils.py +0 -0
  289. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/utils/service/user_settings_utils.py +0 -0
  290. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/utils/snapshot_compression.py +0 -0
  291. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/utils/stack/__init__.py +0 -0
  292. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/utils/stack/stack_utils.py +0 -0
  293. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/utils/vram_utils.py +0 -0
  294. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/utils/watermark.py +0 -0
  295. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/vault.py +0 -0
  296. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/work_planner.py +0 -0
  297. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash/worker_config.py +0 -0
  298. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash.egg-info/dependency_links.txt +0 -0
  299. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash.egg-info/entry_points.txt +0 -0
  300. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/pixlstash.egg-info/top_level.txt +0 -0
  301. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/setup.cfg +0 -0
  302. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/setup.py +0 -0
  303. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/tests/test_api_coverage.py +0 -0
  304. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/tests/test_architecture_guardrails.py +0 -0
  305. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/tests/test_authentication.py +0 -0
  306. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/tests/test_backend_order_stability.py +0 -0
  307. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/tests/test_batch_apply_scores.py +0 -0
  308. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/tests/test_batch_character_likeness_scope.py +0 -0
  309. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/tests/test_build_desktop_runtime.py +0 -0
  310. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/tests/test_characters_api.py +0 -0
  311. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/tests/test_clip_text_embedding_similarity.py +0 -0
  312. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/tests/test_comfyui_workflow_extraction.py +0 -0
  313. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/tests/test_default_device_override.py +0 -0
  314. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/tests/test_docker_windows_host_paths.py +0 -0
  315. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/tests/test_export_api.py +0 -0
  316. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/tests/test_face_detection_extreme_aspect_ratio.py +0 -0
  317. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/tests/test_face_extraction_speed.py +0 -0
  318. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/tests/test_facial_features_worker.py +0 -0
  319. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/tests/test_find_orphaned_files.py +0 -0
  320. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/tests/test_florence.py +0 -0
  321. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/tests/test_full_pipeline.py +0 -0
  322. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/tests/test_gfs_snapshot_schedule.py +0 -0
  323. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/tests/test_guest_scoring.py +0 -0
  324. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/tests/test_image_embedding_worker.py +0 -0
  325. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/tests/test_image_plugins_api.py +0 -0
  326. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/tests/test_insightface_model_pack.py +0 -0
  327. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/tests/test_label_ledger.py +0 -0
  328. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/tests/test_likeness_and_face_search.py +0 -0
  329. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/tests/test_likeness_worker.py +0 -0
  330. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/tests/test_many_to_many_face_data.py +0 -0
  331. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/tests/test_metadata_hash.py +0 -0
  332. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/tests/test_migrations.py +0 -0
  333. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/tests/test_openapi_response_schemas.py +0 -0
  334. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/tests/test_picture_mutation_scope.py +0 -0
  335. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/tests/test_picture_plugins.py +0 -0
  336. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/tests/test_picture_sets.py +0 -0
  337. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/tests/test_picture_stack_utils.py +0 -0
  338. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/tests/test_pictures_stream.py +0 -0
  339. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/tests/test_predicate_filter.py +0 -0
  340. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/tests/test_projects_api.py +0 -0
  341. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/tests/test_quality_task_shutdown.py +0 -0
  342. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/tests/test_rate_limiter.py +0 -0
  343. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/tests/test_read_token_security.py +0 -0
  344. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/tests/test_reference_folder_sidecars.py +0 -0
  345. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/tests/test_restore.py +0 -0
  346. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/tests/test_rocm_device_check.py +0 -0
  347. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/tests/test_server.py +0 -0
  348. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/tests/test_server_external_listener.py +0 -0
  349. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/tests/test_server_simple.py +0 -0
  350. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/tests/test_smart_score_consistency.py +0 -0
  351. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/tests/test_snapshot_compression.py +0 -0
  352. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/tests/test_snapshots.py +0 -0
  353. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/tests/test_snapshots_auth.py +0 -0
  354. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/tests/test_ssl_generation.py +0 -0
  355. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/tests/test_stack_position_invariant.py +0 -0
  356. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/tests/test_stacks_api.py +0 -0
  357. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/tests/test_stacks_membership.py +0 -0
  358. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/tests/test_startup_banner_encoding.py +0 -0
  359. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/tests/test_stats_api.py +0 -0
  360. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/tests/test_tag_prediction_backfill.py +0 -0
  361. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/tests/test_tag_predictions_api.py +0 -0
  362. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/tests/test_tag_suggestions_api.py +0 -0
  363. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/tests/test_tag_task.py +0 -0
  364. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/tests/test_tag_worker.py +0 -0
  365. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/tests/test_tagger_plugin_registry.py +0 -0
  366. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/tests/test_tagger_runs_api.py +0 -0
  367. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/tests/test_user_settings_tagger_settings.py +0 -0
  368. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/tests/test_vram_batch_budget.py +0 -0
  369. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/tests/test_watch_folder_worker.py +0 -0
  370. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/tests/test_websocket_auth.py +0 -0
  371. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/tests/test_work_planner.py +0 -0
  372. {pixlstash-1.7.0.dev1 → pixlstash-1.7.0.dev2}/tests/test_workers_api.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pixlstash
3
- Version: 1.7.0.dev1
3
+ Version: 1.7.0.dev2
4
4
  Summary: Self-hosted picture library with AI tagging, semantic search, and a clean web UI
5
5
  Author-email: Gaute Lindkvist <lindkvis@gmail.com>
6
6
  License-Expression: GPL-3.0-only AND MIT
@@ -45,7 +45,7 @@ Requires-Dist: accelerate~=1.13
45
45
  Requires-Dist: transformers~=5.3
46
46
  Requires-Dist: bitsandbytes>=0.44.0
47
47
  Requires-Dist: torch~=2.12
48
- Requires-Dist: torchvision~=0.25
48
+ Requires-Dist: torchvision~=0.27
49
49
  Requires-Dist: insightface>=0.7.3
50
50
  Requires-Dist: rapidfuzz>=3.14.3
51
51
  Requires-Dist: tqdm>=4.67.3
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "pixlstash-frontend",
3
- "version": "1.6.3",
3
+ "version": "1.7.0-dev.2",
4
4
  "lockfileVersion": 3,
5
5
  "requires": true,
6
6
  "packages": {
7
7
  "": {
8
8
  "name": "pixlstash-frontend",
9
- "version": "1.6.3",
9
+ "version": "1.7.0-dev.2",
10
10
  "dependencies": {
11
11
  "@mdi/font": "^7.4.47",
12
12
  "axios": "^1.16.0",
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "pixlstash-frontend",
3
3
  "private": true,
4
- "version": "1.6.3",
4
+ "version": "1.7.0-dev.2",
5
5
  "type": "module",
6
6
  "scripts": {
7
7
  "dev": "vite",
@@ -677,6 +677,7 @@ class Picture(SQLModel, table=True):
677
677
  tags_confidence_below_filter: Optional[List[str]] = None,
678
678
  hidden_tags_filter: Optional[List[str]] = None,
679
679
  face_filter: Optional[str] = None,
680
+ impossible_sources: Optional[List[str]] = None,
680
681
  min_score: Optional[int] = None,
681
682
  max_score: Optional[int] = None,
682
683
  smart_score_bucket: Optional[str] = None,
@@ -774,6 +775,7 @@ class Picture(SQLModel, table=True):
774
775
  tags_confidence_above_filter=tags_confidence_above_filter,
775
776
  tags_confidence_below_filter=tags_confidence_below_filter,
776
777
  face_filter=face_filter,
778
+ impossible_sources=impossible_sources,
777
779
  file_path_prefix=file_path_prefix,
778
780
  only_deleted=only_deleted,
779
781
  include_deleted=include_deleted,
@@ -1016,6 +1018,7 @@ class Picture(SQLModel, table=True):
1016
1018
  tags_confidence_below_filter: Optional[List[str]] = None,
1017
1019
  hidden_tags_filter: Optional[List[str]] = None,
1018
1020
  face_filter: Optional[str] = None,
1021
+ impossible_sources: Optional[List[str]] = None,
1019
1022
  picture_ids: Optional[List[int]] = None,
1020
1023
  guest_session_id: Optional[str] = None,
1021
1024
  guest_token_id: Optional[int] = None,
@@ -1068,6 +1071,7 @@ class Picture(SQLModel, table=True):
1068
1071
  tags_confidence_above_filter=tags_confidence_above_filter,
1069
1072
  tags_confidence_below_filter=tags_confidence_below_filter,
1070
1073
  face_filter=face_filter,
1074
+ impossible_sources=impossible_sources,
1071
1075
  apply_deleted_filter=False,
1072
1076
  ).apply(query)
1073
1077