pixlstash 1.9.0.dev1__tar.gz → 1.9.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.
- {pixlstash-1.9.0.dev1/pixlstash.egg-info → pixlstash-1.9.0.dev2}/PKG-INFO +2 -2
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/README.md +1 -1
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/frontend/package-lock.json +2 -2
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/frontend/package.json +1 -1
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/auth.py +475 -60
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/authz/registry.py +138 -2
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/database.py +52 -4
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/db_models/__init__.py +1 -0
- pixlstash-1.9.0.dev2/pixlstash/db_models/mixed_stack.py +186 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/db_models/picture.py +113 -12
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/db_models/user.py +11 -0
- pixlstash-1.9.0.dev2/pixlstash/db_models/user_token.py +80 -0
- pixlstash-1.9.0.dev1/pixlstash/frontend/dist/assets/index-DfmnPhUr.css → pixlstash-1.9.0.dev2/pixlstash/frontend/dist/assets/index-56aq9ZK1.css +1 -1
- pixlstash-1.9.0.dev2/pixlstash/frontend/dist/assets/index-BGrLWK5W.js +19 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/frontend/dist/index.html +2 -2
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/image_plugins/base.py +14 -6
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/image_plugins/service.py +15 -181
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/migrations/versions/0082_add_thumbnail_size_level.py +2 -6
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/migrations/versions/0086_add_operation_log.py +10 -2
- pixlstash-1.9.0.dev2/pixlstash/migrations/versions/0086_reissue_api_tokens.py +85 -0
- pixlstash-1.9.0.dev2/pixlstash/migrations/versions/0090_add_usertoken_public_id.py +109 -0
- pixlstash-1.9.0.dev2/pixlstash/migrations/versions/0091_add_mixed_stack_cohesion_and_dismissal.py +156 -0
- pixlstash-1.9.0.dev2/pixlstash/migrations/versions/0092_add_stackcohesion_nearest_edges.py +80 -0
- pixlstash-1.9.0.dev2/pixlstash/migrations/versions/0093_invalidate_stackcohesion_inputs.py +72 -0
- pixlstash-1.9.0.dev2/pixlstash/migrations/versions/0094_add_telemetry_consent.py +61 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/routes/characters.py +3 -3
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/routes/characters_faces.py +73 -20
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/routes/comfyui.py +2 -5
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/routes/config.py +75 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/routes/dedup.py +1133 -41
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/routes/picture_sets.py +3 -3
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/routes/pictures/_crud.py +5 -1
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/routes/pictures/_face_search.py +47 -8
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/routes/pictures/_helpers.py +22 -9
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/routes/pictures/_import.py +159 -7
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/routes/pictures/_listing.py +37 -8
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/routes/pictures/_misc.py +2 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/routes/pictures/_search.py +4 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/routes/stacks.py +654 -8
- pixlstash-1.9.0.dev2/pixlstash/routes/telemetry.py +137 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/server.py +83 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/services/comfyui_service.py +14 -62
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/services/dedup_sweep_service.py +53 -27
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/services/dedup_tier_service.py +634 -53
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/services/dedup_verdict_service.py +245 -36
- pixlstash-1.9.0.dev2/pixlstash/services/import_dedup_service.py +161 -0
- pixlstash-1.9.0.dev2/pixlstash/services/keep_cover_only_service.py +1053 -0
- pixlstash-1.9.0.dev2/pixlstash/services/mixed_stack_service.py +1734 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/services/operation_log_service.py +118 -19
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/services/project_membership_service.py +5 -1
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/services/restore/full_restore.py +112 -6
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/services/review_service.py +4 -1
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/services/scrapheap_service.py +31 -42
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/services/set_lock_service.py +357 -20
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/services/stack_membership.py +49 -7
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/services/tag_suggestion_service.py +9 -2
- pixlstash-1.9.0.dev2/pixlstash/tasks/dedup_scan_task.py +671 -0
- pixlstash-1.9.0.dev2/pixlstash/tasks/missing_stack_cohesion_finder.py +51 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/tasks/missing_watch_folder_import_finder.py +53 -24
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/tasks/picture_import_task.py +101 -10
- pixlstash-1.9.0.dev2/pixlstash/tasks/stack_cohesion_task.py +77 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/tasks/task_type.py +1 -0
- pixlstash-1.9.0.dev2/pixlstash/telemetry/__init__.py +34 -0
- pixlstash-1.9.0.dev2/pixlstash/telemetry/install_id.py +315 -0
- pixlstash-1.9.0.dev2/pixlstash/telemetry/sender.py +319 -0
- pixlstash-1.9.0.dev2/pixlstash/utils/http_cache.py +102 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/utils/query/predicate_filter.py +56 -3
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/utils/request_origin.py +54 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/utils/service/picture_stats.py +2 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/utils/service/user_settings_utils.py +32 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/vault.py +34 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/work_planner.py +6 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2/pixlstash.egg-info}/PKG-INFO +2 -2
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash.egg-info/SOURCES.txt +35 -2
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pyproject.toml +1 -1
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/tests/test_api_coverage.py +56 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/tests/test_architecture_guardrails.py +2 -0
- pixlstash-1.9.0.dev2/tests/test_auth_read_path.py +493 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/tests/test_authentication.py +345 -3
- pixlstash-1.9.0.dev2/tests/test_character_face_assignment.py +203 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/tests/test_ci_shards.py +7 -0
- pixlstash-1.9.0.dev2/tests/test_comfyui_stack_filter.py +309 -0
- pixlstash-1.9.0.dev2/tests/test_database_engine_config.py +129 -0
- pixlstash-1.9.0.dev2/tests/test_dedup_mixed_stacks.py +1821 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/tests/test_dedup_tier_service.py +779 -6
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/tests/test_dedup_tiers_api.py +328 -7
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/tests/test_dedup_verdict_service.py +1319 -229
- pixlstash-1.9.0.dev2/tests/test_face_score_aggregation.py +131 -0
- pixlstash-1.9.0.dev2/tests/test_import_scrapheap_match.py +656 -0
- pixlstash-1.9.0.dev2/tests/test_keep_cover_only.py +993 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/tests/test_likeness_and_face_search.py +103 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/tests/test_likeness_worker.py +20 -1
- pixlstash-1.9.0.dev2/tests/test_migrations.py +975 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/tests/test_picture_set_locking.py +393 -6
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/tests/test_picture_sets.py +1 -2
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/tests/test_pictures_stream.py +112 -1
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/tests/test_predicate_filter.py +167 -1
- pixlstash-1.9.0.dev2/tests/test_repair_copied_face_rows.py +166 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/tests/test_restore.py +213 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/tests/test_reviews_api.py +83 -2
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/tests/test_scrapheap_retention.py +25 -49
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/tests/test_server_simple.py +3 -2
- pixlstash-1.9.0.dev2/tests/test_stack_leader_scope.py +422 -0
- pixlstash-1.9.0.dev2/tests/test_stack_state_filter.py +328 -0
- pixlstash-1.9.0.dev2/tests/test_stacks_api.py +315 -0
- pixlstash-1.9.0.dev2/tests/test_telemetry_install_id.py +329 -0
- pixlstash-1.9.0.dev2/tests/test_telemetry_install_id_authz.py +178 -0
- pixlstash-1.9.0.dev2/tests/test_telemetry_sender.py +376 -0
- pixlstash-1.9.0.dev2/tests/test_thumbnail_cache_headers.py +226 -0
- pixlstash-1.9.0.dev2/tests/test_token_identity.py +376 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/tests/test_watch_folder_worker.py +158 -70
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/tests/test_workers_api.py +29 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/tests/test_ws_broadcaster.py +91 -1
- pixlstash-1.9.0.dev1/pixlstash/db_models/user_token.py +0 -44
- pixlstash-1.9.0.dev1/pixlstash/frontend/dist/assets/index-CI9qOwRB.js +0 -16
- pixlstash-1.9.0.dev1/pixlstash/tasks/dedup_scan_task.py +0 -285
- pixlstash-1.9.0.dev1/tests/test_migrations.py +0 -419
- pixlstash-1.9.0.dev1/tests/test_stacks_api.py +0 -145
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/LICENSE +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/MANIFEST.in +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/frontend/LICENSE +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/LICENSE +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/__init__.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/alembic.ini +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/app.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/authz/__init__.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/authz/gate.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/authz/membership.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/authz/policy.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/data/anchors/builtin_bad.npy +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/data/anchors/builtin_good.npy +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/data/anchors/clipiqa_bad.npy +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/data/anchors/clipiqa_good.npy +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/data/comfyui-workflows/built-in/Flux2-Klein-Image-Edit.json +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/data/comfyui-workflows/built-in/Flux2-Klein-t2i.json +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/data/comfyui-workflows/built-in/Upscale-2x-RealESRGAN.json +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/data/scalar-assets/ScreenshotToken.jpg +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/data/scalar-assets/ScreenshotTokens.jpg +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/data/scalar-assets/ScreenshotsUserSettings.jpg +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/data/scalar-assets/WhereIsUserSettings.jpg +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/data/scalar-assets/logo.png +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/db_models/character.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/db_models/dedup.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/db_models/deleted_file_log.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/db_models/detection.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/db_models/entity_project.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/db_models/face.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/db_models/guest_score.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/db_models/guest_session.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/db_models/import_folder.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/db_models/metadata.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/db_models/operation.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/db_models/picture_likeness.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/db_models/picture_project.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/db_models/picture_set.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/db_models/picture_stack.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/db_models/project.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/db_models/quality.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/db_models/reference_folder.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/db_models/review.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/db_models/snapshot.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/db_models/tag.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/db_models/tag_health.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/db_models/tag_prediction.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/db_models/tag_suggestion.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/db_models/tagger_run.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/event_types.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/frontend/dist/Empty.png +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/frontend/dist/EmptyTrash.png +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/frontend/dist/Logo.png +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/frontend/dist/Watermark.png +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/frontend/dist/assets/Tiny5-Regular-WaYIHWdr.ttf +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/frontend/dist/assets/materialdesignicons-webfont-B7mPwVP_.ttf +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/frontend/dist/assets/materialdesignicons-webfont-CSr8KVlo.eot +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/frontend/dist/assets/materialdesignicons-webfont-Dp5v-WZN.woff2 +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/frontend/dist/assets/materialdesignicons-webfont-PXm3-2wK.woff +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/frontend/dist/favicon.ico +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/frontend/dist/vite.svg +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/image_loading_dataset_prepper.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/image_plugins/__init__.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/image_plugins/built-in/blur_sharpen.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/image_plugins/built-in/brightness_contrast.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/image_plugins/built-in/colour_filter.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/image_plugins/built-in/pixelate.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/image_plugins/built-in/plugin_template.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/image_plugins/built-in/rotate.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/image_plugins/built-in/scaling.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/image_plugins/registry.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/inference/__init__.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/inference/engine.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/inference/model_lifecycle.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/inference/vram_budget.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/inference/workflows/__init__.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/inference/workflows/clip_embedding.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/inference/workflows/description.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/inference/workflows/face_embedding.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/inference/workflows/tagging.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/inference/workflows/text_embedding.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/listeners.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/maintenance.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/migrations/env.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/migrations/script.py.mako +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/migrations/versions/0001_baseline.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/migrations/versions/0002_add_text_score.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/migrations/versions/0003_add_original_file_name.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/migrations/versions/0004_add_comfyui_fields.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/migrations/versions/0005_add_projects.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/migrations/versions/0006_add_attachment_url.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/migrations/versions/0007_add_picture_project_id.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/migrations/versions/0008_add_compact_mode.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/migrations/versions/0009_add_picture_project_membership.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/migrations/versions/0010_project_name_uniqueness.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/migrations/versions/0011_pictureset_name_uniqueness.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/migrations/versions/0012_character_name_uniqueness.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/migrations/versions/0013_tag_prediction.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/migrations/versions/0014_tag_prediction_composite_index.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/migrations/versions/0015_tag_prediction_model_version_rename.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/migrations/versions/0016_tag_prediction_confirm_applied.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/migrations/versions/0017_anomaly_tag_uncertainty.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/migrations/versions/0018_anomaly_tag_uncertainty_disagreement.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/migrations/versions/0019_pending_character_id.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/migrations/versions/0020_source_picture_id.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/migrations/versions/0021_tagger_enabled_flags.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/migrations/versions/0022_add_check_for_updates.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/migrations/versions/0023_add_show_keyboard_hint.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/migrations/versions/0024_add_deleted_file_log.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/migrations/versions/0025_add_reference_folders.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/migrations/versions/0026_add_caption_file_and_sync_captions.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/migrations/versions/0027_add_caption_file_mtime.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/migrations/versions/0028_add_smart_score.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/migrations/versions/0029_add_import_excluded_to_picture.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/migrations/versions/0030_add_import_folders.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/migrations/versions/0031_migrate_watch_folders_to_import_folder.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/migrations/versions/0032_add_reference_folder_host_path.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/migrations/versions/0033_add_import_folder_host_path.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/migrations/versions/0034_add_token_scope_fields.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/migrations/versions/0035_drop_face_quality.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/migrations/versions/0036_add_token_include_attachments.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/migrations/versions/0037_add_user_public_url.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/migrations/versions/0038_add_watermark_fields.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/migrations/versions/0039_drop_color_histogram.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/migrations/versions/0040_move_text_score_to_picture.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/migrations/versions/0041_guest_scores.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/migrations/versions/0042_guest_session_cookie_token.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/migrations/versions/0043_pictureset_icon_color.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/migrations/versions/0044_add_grid_sort_indexes.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/migrations/versions/0045_tagger_settings.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/migrations/versions/0046_tag_sentinel_rename.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/migrations/versions/0047_add_stack_leader_grid_indexes.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/migrations/versions/0048_normalize_stack_positions.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/migrations/versions/0049_snapshots.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/migrations/versions/0050_reset_metadata_hash_membership.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/migrations/versions/0051_deleted_file_log_path_sha.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/migrations/versions/0052_drop_import_excluded_sentinel.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/migrations/versions/0053_add_face_model_pack.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/migrations/versions/0054_add_sidebar_docked.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/migrations/versions/0055_add_sidebar_width.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/migrations/versions/0056_add_hide_purge_snapshot_warning.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/migrations/versions/0057_split_caption_sidecars.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/migrations/versions/0058_add_tag_suggestion.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/migrations/versions/0059_add_tagger_run.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/migrations/versions/0060_tag_prediction_label_ledger.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/migrations/versions/0061_add_detection.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/migrations/versions/0062_recompute_smart_score_calibrated_anomaly.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/migrations/versions/0063_rename_pixelated_tag_to_blocky.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/migrations/versions/0064_add_sidebar_pinned.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/migrations/versions/0065_add_review_sessions.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/migrations/versions/0066_add_tag_health.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/migrations/versions/0067_add_tag_health_precision_adj.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/migrations/versions/0068_add_picture_split.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/migrations/versions/0069_add_tag_eval_slice.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/migrations/versions/0070_add_tag_health_eval_candidate_n_pos.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/migrations/versions/0071_remove_tag_review_scoring_subsystem.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/migrations/versions/0072_add_review_receipt_snapshot_and_suggestion_prior_decision.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/migrations/versions/0073_add_pictureset_locked.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/migrations/versions/0074_recompute_tag_health_exclude_human_decisions.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/migrations/versions/0075_add_tag_health_ground_truth.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/migrations/versions/0076_recompute_smart_score_after_stale_tag_edits.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/migrations/versions/0077_add_deleted_file_log_file_removed.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/migrations/versions/0078_add_reference_folder_pending_reimport.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/migrations/versions/0079_add_picture_deleted_at.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/migrations/versions/0080_add_thumbnail_dimensions.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/migrations/versions/0083_recompute_smart_score_unapplied_anomaly_predictions.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/migrations/versions/0084_recompute_smart_score_rebalanced_weights.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/migrations/versions/0085_recompute_smart_score_restored_builtin_anchors.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/migrations/versions/0087_add_entity_project_membership.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/migrations/versions/0088_add_dedup_tier_tables.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/migrations/versions/0089_add_dedupverdict_reopen_batch_id.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/openapi_custom.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/picture_scoring.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/pixl_logging.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/route_inventory.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/routes/__init__.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/routes/_helpers.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/routes/filesystem.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/routes/guest_scores.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/routes/import_folders.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/routes/operations.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/routes/pictures/__init__.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/routes/pictures/_anomaly.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/routes/pictures/_character_likeness.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/routes/pictures/_export.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/routes/pictures/_faces.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/routes/pictures/_likeness_search.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/routes/pictures/_serving.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/routes/pictures/_thumbnails.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/routes/projects.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/routes/reference_folders.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/routes/reviews.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/routes/share.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/routes/snapshots.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/routes/tag_health.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/routes/tag_predictions.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/routes/tag_suggestions.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/routes/tagger_runs.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/routes/taggers.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/routes/tags.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/routes/test_hooks.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/scoring/__init__.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/scoring/character_likeness.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/scoring/smart_score.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/services/__init__.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/services/comfyui_recipe_service.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/services/config_service.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/services/impossible_tag_clear_service.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/services/impossible_tag_scan_service.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/services/picture_service.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/services/plugin_service.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/services/restore/__init__.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/services/restore/_models.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/services/restore/preview.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/services/restore/resource_restore.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/services/restore/schema_upgrade.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/services/restore_service.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/services/search_query_service.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/services/share_service.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/services/snapshot_service.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/services/tag_health_service.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/services/tag_prediction_service.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/services/tag_scan_service.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/services/tagger_run_service.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/ssl_setup.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/stacking.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/startup_checks.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/tagger_plugins/__init__.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/tagger_plugins/base.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/tagger_plugins/clip_service.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/tagger_plugins/florence2.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/tagger_plugins/joycaption.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/tagger_plugins/pixlstash_tagger.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/tagger_plugins/registry.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/tagger_plugins/sbert.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/tagger_plugins/wd14.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/task_runner.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/tasks/__init__.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/tasks/base_task.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/tasks/base_task_finder.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/tasks/comfyui_extraction_task.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/tasks/dedup_scan_finder.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/tasks/description_task.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/tasks/detection_task.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/tasks/ensure_gfs_snapshot_finder.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/tasks/ensure_gfs_snapshot_task.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/tasks/face_detection_task.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/tasks/face_extraction_task.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/tasks/face_model_refresh_task.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/tasks/image_embedding_task.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/tasks/likeness_parameters_task.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/tasks/likeness_task.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/tasks/missing_comfyui_extraction_finder.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/tasks/missing_description_finder.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/tasks/missing_face_extraction_finder.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/tasks/missing_face_model_refresh_finder.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/tasks/missing_file_purge_finder.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/tasks/missing_file_purge_task.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/tasks/missing_image_embedding_finder.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/tasks/missing_likeness_finder.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/tasks/missing_likeness_parameters_finder.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/tasks/missing_pixel_sha_finder.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/tasks/missing_quality_finder.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/tasks/missing_smart_score_finder.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/tasks/missing_source_face_likeness_finder.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/tasks/missing_tag_finder.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/tasks/missing_tag_prediction_finder.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/tasks/missing_text_embedding_finder.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/tasks/missing_text_score_finder.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/tasks/missing_thumbnail_finder.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/tasks/pixel_sha_task.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/tasks/quality_task.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/tasks/reference_folder_scan_finder.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/tasks/reference_folder_scan_task.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/tasks/scrapheap_retention_purge_finder.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/tasks/scrapheap_retention_purge_task.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/tasks/smart_score_task.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/tasks/source_face_likeness_task.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/tasks/tag_health_auto_rebuild_finder.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/tasks/tag_health_auto_rebuild_task.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/tasks/tag_health_rebuild_task.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/tasks/tag_prediction_backfill_task.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/tasks/tag_task.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/tasks/text_embedding_task.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/tasks/text_score_task.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/tasks/thumbnail_generation_task.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/tasks/watch_folder_import_task.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/utils/__init__.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/utils/atomic_write.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/utils/caption_file_utils.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/utils/comfyui_utilities.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/utils/face_tags.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/utils/host_path_utils.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/utils/image_processing/__init__.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/utils/image_processing/face_utils.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/utils/image_processing/image_utils.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/utils/image_processing/video_utils.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/utils/insightface_batched.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/utils/insightface_model_utils.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/utils/likeness/__init__.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/utils/likeness/likeness_parameter_utils.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/utils/likeness/likeness_utils.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/utils/model_utils.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/utils/near_neighbor.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/utils/path_mapper.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/utils/path_utils.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/utils/quality/__init__.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/utils/quality/anomaly_penalty.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/utils/quality/quality_utils.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/utils/quality/smart_score_utils.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/utils/query/__init__.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/utils/rate_limiter.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/utils/reference_folder_validator.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/utils/reference_folder_watcher.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/utils/serialization_utils.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/utils/service/__init__.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/utils/service/anomaly_thresholds.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/utils/service/caption_utils.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/utils/service/export_utils.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/utils/service/filter_helpers.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/utils/service/label_ledger.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/utils/service/person_tags.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/utils/service/scope_table.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/utils/service/smart_score_invalidation.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/utils/service/tag_prediction_utils.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/utils/snapshot_compression.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/utils/stack/__init__.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/utils/stack/stack_utils.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/utils/system_utils.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/utils/unprocessable_image_registry.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/utils/vram_utils.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/utils/watermark.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/worker_config.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/ws/__init__.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash/ws/broadcaster.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash.egg-info/dependency_links.txt +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash.egg-info/entry_points.txt +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash.egg-info/requires.txt +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/pixlstash.egg-info/top_level.txt +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/setup.cfg +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/setup.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/tests/test_anomaly_penalty.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/tests/test_anomaly_region_scope.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/tests/test_anomaly_thresholds_cache.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/tests/test_async_import_staging.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/tests/test_authz_gate_step3.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/tests/test_authz_gate_step4.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/tests/test_authz_host_capability_16_3.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/tests/test_backend_order_stability.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/tests/test_batch_apply_scores.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/tests/test_batch_character_likeness_scope.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/tests/test_build_desktop_runtime.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/tests/test_characters_api.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/tests/test_clip_text_embedding_similarity.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/tests/test_comfyui_api_prompt_extraction.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/tests/test_comfyui_recipe_preflight.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/tests/test_comfyui_recipe_route.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/tests/test_comfyui_submit_prompt.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/tests/test_comfyui_workflow_extraction.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/tests/test_dedup_sweep_api.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/tests/test_dedup_sweep_service.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/tests/test_default_device_override.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/tests/test_detection_florence.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/tests/test_detection_model.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/tests/test_detections_scope.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/tests/test_docker_windows_host_paths.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/tests/test_except_hygiene_guardrail.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/tests/test_export_api.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/tests/test_face_detection_extreme_aspect_ratio.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/tests/test_face_extraction_speed.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/tests/test_facial_features_worker.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/tests/test_find_orphaned_files.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/tests/test_florence.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/tests/test_florence_model_variant.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/tests/test_full_pipeline.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/tests/test_gfs_snapshot_schedule.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/tests/test_guest_scoring.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/tests/test_image_embedding_worker.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/tests/test_image_plugins_api.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/tests/test_impossible_clear.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/tests/test_impossible_clear_authz.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/tests/test_impossible_filter.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/tests/test_insightface_model_pack.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/tests/test_invalid_image_endless_retry.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/tests/test_ip_locality_fail_closed.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/tests/test_justified_thumbnails.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/tests/test_label_ledger.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/tests/test_many_to_many_face_data.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/tests/test_metadata_hash.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/tests/test_multi_project_membership_authz.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/tests/test_near_neighbor.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/tests/test_openapi_response_schemas.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/tests/test_operation_log.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/tests/test_person_tags.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/tests/test_picture_mutation_scope.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/tests/test_picture_plugins.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/tests/test_picture_stack_utils.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/tests/test_project_membership_service.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/tests/test_projects_api.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/tests/test_quality_task_shutdown.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/tests/test_rate_limiter.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/tests/test_read_token_security.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/tests/test_reference_folder_listing_count_parity.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/tests/test_reference_folder_sidecars.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/tests/test_rocm_device_check.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/tests/test_scope_table.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/tests/test_score_agreement_stats.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/tests/test_server.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/tests/test_server_external_listener.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/tests/test_smart_score_consistency.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/tests/test_smart_score_invalidation.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/tests/test_snapshot_compression.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/tests/test_snapshots.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/tests/test_snapshots_auth.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/tests/test_ssl_generation.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/tests/test_stack_position_invariant.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/tests/test_stacks_membership.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/tests/test_startup_banner_encoding.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/tests/test_stats_api.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/tests/test_tag_health_api.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/tests/test_tag_prediction_backfill.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/tests/test_tag_prediction_scope.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/tests/test_tag_predictions_api.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/tests/test_tag_suggestions_api.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/tests/test_tag_task.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/tests/test_tag_worker.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/tests/test_tagger_plugin_registry.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/tests/test_tagger_runs_api.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/tests/test_user_settings_tagger_settings.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/tests/test_vram_batch_budget.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/tests/test_websocket_auth.py +0 -0
- {pixlstash-1.9.0.dev1 → pixlstash-1.9.0.dev2}/tests/test_work_planner.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: pixlstash
|
|
3
|
-
Version: 1.9.0.
|
|
3
|
+
Version: 1.9.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
|
|
@@ -112,7 +112,7 @@ PixlStash is a tool for working with images rather than just storing them, thoug
|
|
|
112
112
|
<img src="website/assets/install-banner.svg" alt="Install PixlStash" width="320"/>
|
|
113
113
|
</a>
|
|
114
114
|
|
|
115
|
-
<a href="https://demo.pixlstash.dev?token=
|
|
115
|
+
<a href="https://demo.pixlstash.dev?token=o75qQ-w0fy_FraPb2sdxcGOVTBoKFmmZwStycljomSs">
|
|
116
116
|
<img src="website/assets/demo-banner.svg" alt="Try the Demo" width="320"/>
|
|
117
117
|
</a>
|
|
118
118
|
</p>
|
|
@@ -37,7 +37,7 @@ PixlStash is a tool for working with images rather than just storing them, thoug
|
|
|
37
37
|
<img src="website/assets/install-banner.svg" alt="Install PixlStash" width="320"/>
|
|
38
38
|
</a>
|
|
39
39
|
|
|
40
|
-
<a href="https://demo.pixlstash.dev?token=
|
|
40
|
+
<a href="https://demo.pixlstash.dev?token=o75qQ-w0fy_FraPb2sdxcGOVTBoKFmmZwStycljomSs">
|
|
41
41
|
<img src="website/assets/demo-banner.svg" alt="Try the Demo" width="320"/>
|
|
42
42
|
</a>
|
|
43
43
|
</p>
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "pixlstash-frontend",
|
|
3
|
-
"version": "1.9.0-dev.
|
|
3
|
+
"version": "1.9.0-dev.2",
|
|
4
4
|
"lockfileVersion": 3,
|
|
5
5
|
"requires": true,
|
|
6
6
|
"packages": {
|
|
7
7
|
"": {
|
|
8
8
|
"name": "pixlstash-frontend",
|
|
9
|
-
"version": "1.9.0-dev.
|
|
9
|
+
"version": "1.9.0-dev.2",
|
|
10
10
|
"dependencies": {
|
|
11
11
|
"@mdi/font": "^7.4.47",
|
|
12
12
|
"axios": "^1.18.0",
|