immichpy 1.6.5__py3-none-any.whl → 1.7.6__py3-none-any.whl
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.
- immichpy/cli/__main__.py +1 -1
- immichpy/cli/commands/activities.py +23 -11
- immichpy/cli/commands/albums.py +34 -20
- immichpy/cli/commands/api_keys.py +6 -4
- immichpy/cli/commands/assets.py +274 -65
- immichpy/cli/commands/authentication.py +115 -25
- immichpy/cli/commands/database_backups_admin.py +111 -0
- immichpy/cli/commands/download.py +13 -5
- immichpy/cli/commands/duplicates.py +1 -1
- immichpy/cli/commands/faces.py +17 -11
- immichpy/cli/commands/jobs.py +6 -4
- immichpy/cli/commands/libraries.py +15 -9
- immichpy/cli/commands/maintenance_admin.py +39 -2
- immichpy/cli/commands/map.py +8 -8
- immichpy/cli/commands/memories.py +35 -21
- immichpy/cli/commands/notifications.py +16 -8
- immichpy/cli/commands/notifications_admin.py +43 -17
- immichpy/cli/commands/partners.py +9 -3
- immichpy/cli/commands/people.py +30 -24
- immichpy/cli/commands/plugins.py +14 -0
- immichpy/cli/commands/queues.py +8 -6
- immichpy/cli/commands/search.py +395 -189
- immichpy/cli/commands/server.py +6 -2
- immichpy/cli/commands/sessions.py +6 -4
- immichpy/cli/commands/shared_links.py +42 -25
- immichpy/cli/commands/stacks.py +4 -4
- immichpy/cli/commands/sync.py +26 -10
- immichpy/cli/commands/system_config.py +216 -115
- immichpy/cli/commands/system_metadata.py +3 -1
- immichpy/cli/commands/tags.py +9 -9
- immichpy/cli/commands/trash.py +1 -1
- immichpy/cli/commands/users.py +57 -29
- immichpy/cli/commands/users_admin.py +79 -45
- immichpy/cli/commands/workflows.py +40 -11
- immichpy/cli/main.py +10 -2
- immichpy/cli/utils.py +2 -2
- immichpy/cli/wrapper/setup.py +1 -1
- immichpy/client/.openapi-generator/FILES +26 -2
- immichpy/client/generated/__init__.py +101 -7
- immichpy/client/generated/api/__init__.py +3 -0
- immichpy/client/generated/api/activities_api.py +73 -43
- immichpy/client/generated/api/albums_api.py +40 -19
- immichpy/client/generated/api/api_keys_api.py +1 -1
- immichpy/client/generated/api/assets_api.py +1768 -366
- immichpy/client/generated/api/authentication_admin_api.py +1 -1
- immichpy/client/generated/api/authentication_api.py +1 -1
- immichpy/client/generated/api/database_backups_admin_api.py +1224 -0
- immichpy/client/generated/api/deprecated_api.py +103 -73
- immichpy/client/generated/api/download_api.py +1 -1
- immichpy/client/generated/api/duplicates_api.py +1 -1
- immichpy/client/generated/api/faces_api.py +7 -7
- immichpy/client/generated/api/jobs_api.py +7 -7
- immichpy/client/generated/api/libraries_api.py +1 -1
- immichpy/client/generated/api/maintenance_admin_api.py +459 -1
- immichpy/client/generated/api/map_api.py +103 -49
- immichpy/client/generated/api/memories_api.py +109 -61
- immichpy/client/generated/api/notifications_admin_api.py +1 -1
- immichpy/client/generated/api/notifications_api.py +52 -25
- immichpy/client/generated/api/partners_api.py +7 -7
- immichpy/client/generated/api/people_api.py +37 -19
- immichpy/client/generated/api/plugins_api.py +230 -1
- immichpy/client/generated/api/queues_api.py +37 -31
- immichpy/client/generated/api/search_api.py +529 -283
- immichpy/client/generated/api/server_api.py +1 -1
- immichpy/client/generated/api/sessions_api.py +1 -1
- immichpy/client/generated/api/shared_links_api.py +53 -19
- immichpy/client/generated/api/stacks_api.py +13 -7
- immichpy/client/generated/api/sync_api.py +1 -1
- immichpy/client/generated/api/system_config_api.py +1 -1
- immichpy/client/generated/api/system_metadata_api.py +1 -1
- immichpy/client/generated/api/tags_api.py +1 -1
- immichpy/client/generated/api/timeline_api.py +1 -1
- immichpy/client/generated/api/trash_api.py +1 -1
- immichpy/client/generated/api/users_admin_api.py +55 -31
- immichpy/client/generated/api/users_api.py +16 -7
- immichpy/client/generated/api/views_api.py +1 -1
- immichpy/client/generated/api/workflows_api.py +1 -1
- immichpy/client/generated/api_client.py +1 -1
- immichpy/client/generated/configuration.py +2 -2
- immichpy/client/generated/exceptions.py +1 -1
- immichpy/client/generated/models/__init__.py +56 -3
- immichpy/client/generated/models/activity_create_dto.py +11 -5
- immichpy/client/generated/models/activity_response_dto.py +10 -6
- immichpy/client/generated/models/activity_statistics_response_dto.py +4 -4
- immichpy/client/generated/models/add_users_dto.py +2 -2
- immichpy/client/generated/models/admin_onboarding_update_dto.py +4 -2
- immichpy/client/generated/models/album_response_dto.py +28 -16
- immichpy/client/generated/models/album_statistics_response_dto.py +6 -4
- immichpy/client/generated/models/album_user_add_dto.py +3 -3
- immichpy/client/generated/models/album_user_create_dto.py +3 -3
- immichpy/client/generated/models/album_user_response_dto.py +3 -3
- immichpy/client/generated/models/album_user_role.py +2 -2
- immichpy/client/generated/models/albums_add_assets_dto.py +3 -3
- immichpy/client/generated/models/albums_add_assets_response_dto.py +4 -4
- immichpy/client/generated/models/albums_response.py +4 -2
- immichpy/client/generated/models/albums_update.py +5 -3
- immichpy/client/generated/models/api_key_create_dto.py +5 -3
- immichpy/client/generated/models/api_key_create_response_dto.py +2 -2
- immichpy/client/generated/models/api_key_response_dto.py +6 -6
- immichpy/client/generated/models/api_key_update_dto.py +5 -3
- immichpy/client/generated/models/asset_bulk_delete_dto.py +6 -4
- immichpy/client/generated/models/asset_bulk_update_dto.py +28 -12
- immichpy/client/generated/models/asset_bulk_upload_check_dto.py +3 -3
- immichpy/client/generated/models/asset_bulk_upload_check_item.py +3 -3
- immichpy/client/generated/models/asset_bulk_upload_check_response_dto.py +5 -3
- immichpy/client/generated/models/asset_bulk_upload_check_result.py +12 -6
- immichpy/client/generated/models/asset_copy_dto.py +16 -8
- immichpy/client/generated/models/asset_delta_sync_dto.py +5 -3
- immichpy/client/generated/models/asset_delta_sync_response_dto.py +6 -4
- immichpy/client/generated/models/asset_edit_action.py +35 -0
- immichpy/client/generated/models/asset_edit_action_crop.py +95 -0
- immichpy/client/generated/models/asset_edit_action_list_dto.py +104 -0
- immichpy/client/generated/models/asset_edit_action_list_dto_edits_inner.py +188 -0
- immichpy/client/generated/models/asset_edit_action_mirror.py +95 -0
- immichpy/client/generated/models/asset_edit_action_rotate.py +95 -0
- immichpy/client/generated/models/asset_edits_dto.py +107 -0
- immichpy/client/generated/models/asset_face_create_dto.py +13 -9
- immichpy/client/generated/models/asset_face_delete_dto.py +3 -3
- immichpy/client/generated/models/asset_face_response_dto.py +26 -10
- immichpy/client/generated/models/asset_face_update_dto.py +3 -3
- immichpy/client/generated/models/asset_face_update_item.py +3 -3
- immichpy/client/generated/models/asset_face_without_person_response_dto.py +23 -9
- immichpy/client/generated/models/asset_full_sync_dto.py +13 -5
- immichpy/client/generated/models/asset_ids_dto.py +2 -2
- immichpy/client/generated/models/asset_ids_response_dto.py +6 -4
- immichpy/client/generated/models/asset_job_name.py +2 -2
- immichpy/client/generated/models/asset_jobs_dto.py +3 -3
- immichpy/client/generated/models/asset_media_response_dto.py +4 -4
- immichpy/client/generated/models/asset_media_size.py +2 -1
- immichpy/client/generated/models/asset_media_status.py +2 -2
- immichpy/client/generated/models/asset_metadata_bulk_delete_dto.py +103 -0
- immichpy/client/generated/models/asset_metadata_bulk_delete_item_dto.py +86 -0
- immichpy/client/generated/models/asset_metadata_bulk_response_dto.py +93 -0
- immichpy/client/generated/models/asset_metadata_bulk_upsert_dto.py +103 -0
- immichpy/client/generated/models/asset_metadata_bulk_upsert_item_dto.py +91 -0
- immichpy/client/generated/models/asset_metadata_response_dto.py +5 -6
- immichpy/client/generated/models/asset_metadata_upsert_dto.py +5 -3
- immichpy/client/generated/models/asset_metadata_upsert_item_dto.py +4 -5
- immichpy/client/generated/models/asset_ocr_response_dto.py +1 -1
- immichpy/client/generated/models/asset_order.py +2 -2
- immichpy/client/generated/models/asset_response_dto.py +66 -24
- immichpy/client/generated/models/asset_stack_response_dto.py +8 -4
- immichpy/client/generated/models/asset_stats_response_dto.py +5 -5
- immichpy/client/generated/models/asset_type_enum.py +2 -2
- immichpy/client/generated/models/asset_visibility.py +2 -2
- immichpy/client/generated/models/audio_codec.py +2 -2
- immichpy/client/generated/models/auth_status_response_dto.py +12 -6
- immichpy/client/generated/models/avatar_update.py +3 -3
- immichpy/client/generated/models/bulk_id_error_reason.py +2 -2
- immichpy/client/generated/models/bulk_id_response_dto.py +14 -5
- immichpy/client/generated/models/bulk_ids_dto.py +3 -3
- immichpy/client/generated/models/cast_response.py +4 -2
- immichpy/client/generated/models/cast_update.py +4 -2
- immichpy/client/generated/models/change_password_dto.py +6 -4
- immichpy/client/generated/models/check_existing_assets_dto.py +3 -3
- immichpy/client/generated/models/check_existing_assets_response_dto.py +4 -2
- immichpy/client/generated/models/clip_config.py +5 -3
- immichpy/client/generated/models/colorspace.py +1 -1
- immichpy/client/generated/models/contributor_count_response_dto.py +5 -3
- immichpy/client/generated/models/cq_mode.py +2 -2
- immichpy/client/generated/models/create_album_dto.py +9 -5
- immichpy/client/generated/models/create_library_dto.py +9 -5
- immichpy/client/generated/models/create_profile_image_response_dto.py +8 -4
- immichpy/client/generated/models/crop_parameters.py +105 -0
- immichpy/client/generated/models/database_backup_config.py +6 -4
- immichpy/client/generated/models/database_backup_delete_dto.py +82 -0
- immichpy/client/generated/models/database_backup_dto.py +85 -0
- immichpy/client/generated/models/database_backup_list_response_dto.py +98 -0
- immichpy/client/generated/models/download_archive_info.py +5 -3
- immichpy/client/generated/models/download_info_dto.py +11 -5
- immichpy/client/generated/models/download_response.py +8 -3
- immichpy/client/generated/models/download_response_dto.py +3 -3
- immichpy/client/generated/models/download_update.py +5 -3
- immichpy/client/generated/models/duplicate_detection_config.py +6 -3
- immichpy/client/generated/models/duplicate_response_dto.py +5 -3
- immichpy/client/generated/models/email_notifications_response.py +10 -4
- immichpy/client/generated/models/email_notifications_update.py +14 -4
- immichpy/client/generated/models/exif_response_dto.py +47 -23
- immichpy/client/generated/models/face_dto.py +3 -3
- immichpy/client/generated/models/facial_recognition_config.py +15 -6
- immichpy/client/generated/models/folders_response.py +5 -3
- immichpy/client/generated/models/folders_update.py +9 -3
- immichpy/client/generated/models/image_format.py +2 -2
- immichpy/client/generated/models/job_create_dto.py +3 -3
- immichpy/client/generated/models/job_name.py +3 -2
- immichpy/client/generated/models/job_settings_dto.py +4 -2
- immichpy/client/generated/models/library_response_dto.py +16 -10
- immichpy/client/generated/models/library_stats_response_dto.py +6 -6
- immichpy/client/generated/models/license_key_dto.py +7 -3
- immichpy/client/generated/models/license_response_dto.py +8 -4
- immichpy/client/generated/models/log_level.py +1 -1
- immichpy/client/generated/models/login_credential_dto.py +4 -4
- immichpy/client/generated/models/login_response_dto.py +13 -9
- immichpy/client/generated/models/logout_response_dto.py +3 -3
- immichpy/client/generated/models/machine_learning_availability_checks_dto.py +3 -3
- immichpy/client/generated/models/maintenance_action.py +4 -2
- immichpy/client/generated/models/maintenance_auth_dto.py +3 -3
- immichpy/client/generated/models/maintenance_detect_install_response_dto.py +101 -0
- immichpy/client/generated/models/maintenance_detect_install_storage_folder_dto.py +95 -0
- immichpy/client/generated/models/maintenance_login_dto.py +3 -3
- immichpy/client/generated/models/maintenance_status_response_dto.py +109 -0
- immichpy/client/generated/models/manual_job_name.py +2 -2
- immichpy/client/generated/models/map_marker_response_dto.py +8 -8
- immichpy/client/generated/models/map_reverse_geocode_response_dto.py +5 -5
- immichpy/client/generated/models/memories_response.py +4 -4
- immichpy/client/generated/models/memories_update.py +7 -3
- immichpy/client/generated/models/memory_create_dto.py +12 -6
- immichpy/client/generated/models/memory_response_dto.py +20 -12
- immichpy/client/generated/models/memory_search_order.py +1 -1
- immichpy/client/generated/models/memory_statistics_response_dto.py +3 -3
- immichpy/client/generated/models/memory_type.py +1 -1
- immichpy/client/generated/models/memory_update_dto.py +10 -4
- immichpy/client/generated/models/merge_person_dto.py +3 -3
- immichpy/client/generated/models/metadata_search_dto.py +124 -46
- immichpy/client/generated/models/{asset_metadata_key.py → mirror_axis.py} +6 -5
- immichpy/client/generated/models/mirror_parameters.py +83 -0
- immichpy/client/generated/models/notification_create_dto.py +18 -8
- immichpy/client/generated/models/notification_delete_all_dto.py +3 -3
- immichpy/client/generated/models/notification_dto.py +15 -9
- immichpy/client/generated/models/notification_level.py +1 -1
- immichpy/client/generated/models/notification_type.py +1 -1
- immichpy/client/generated/models/notification_update_all_dto.py +5 -3
- immichpy/client/generated/models/notification_update_dto.py +4 -2
- immichpy/client/generated/models/o_auth_authorize_response_dto.py +3 -3
- immichpy/client/generated/models/o_auth_callback_dto.py +8 -4
- immichpy/client/generated/models/o_auth_config_dto.py +10 -4
- immichpy/client/generated/models/o_auth_token_endpoint_auth_method.py +2 -2
- immichpy/client/generated/models/ocr_config.py +14 -6
- immichpy/client/generated/models/on_this_day_dto.py +2 -2
- immichpy/client/generated/models/onboarding_dto.py +4 -2
- immichpy/client/generated/models/onboarding_response_dto.py +4 -2
- immichpy/client/generated/models/partner_create_dto.py +4 -2
- immichpy/client/generated/models/partner_direction.py +1 -1
- immichpy/client/generated/models/partner_response_dto.py +16 -8
- immichpy/client/generated/models/partner_update_dto.py +4 -2
- immichpy/client/generated/models/people_response.py +5 -3
- immichpy/client/generated/models/people_response_dto.py +7 -5
- immichpy/client/generated/models/people_update.py +9 -3
- immichpy/client/generated/models/people_update_dto.py +3 -3
- immichpy/client/generated/models/people_update_item.py +10 -10
- immichpy/client/generated/models/permission.py +13 -2
- immichpy/client/generated/models/person_create_dto.py +8 -8
- immichpy/client/generated/models/person_response_dto.py +17 -9
- immichpy/client/generated/models/person_statistics_response_dto.py +3 -3
- immichpy/client/generated/models/person_update_dto.py +9 -9
- immichpy/client/generated/models/person_with_faces_response_dto.py +20 -10
- immichpy/client/generated/models/pin_code_change_dto.py +10 -4
- immichpy/client/generated/models/pin_code_reset_dto.py +7 -3
- immichpy/client/generated/models/pin_code_setup_dto.py +2 -2
- immichpy/client/generated/models/places_response_dto.py +11 -7
- immichpy/client/generated/models/plugin_action_response_dto.py +13 -9
- immichpy/client/generated/models/{plugin_context.py → plugin_context_type.py} +4 -4
- immichpy/client/generated/models/plugin_filter_response_dto.py +13 -9
- immichpy/client/generated/models/plugin_response_dto.py +11 -11
- immichpy/client/generated/models/plugin_trigger_response_dto.py +89 -0
- immichpy/client/generated/models/plugin_trigger_type.py +2 -2
- immichpy/client/generated/models/purchase_response.py +7 -3
- immichpy/client/generated/models/purchase_update.py +7 -3
- immichpy/client/generated/models/queue_command.py +2 -2
- immichpy/client/generated/models/queue_command_dto.py +6 -4
- immichpy/client/generated/models/queue_delete_dto.py +1 -1
- immichpy/client/generated/models/queue_job_response_dto.py +6 -6
- immichpy/client/generated/models/queue_job_status.py +1 -1
- immichpy/client/generated/models/queue_name.py +2 -1
- immichpy/client/generated/models/queue_response_dto.py +5 -3
- immichpy/client/generated/models/queue_response_legacy_dto.py +1 -1
- immichpy/client/generated/models/queue_statistics_dto.py +8 -8
- immichpy/client/generated/models/queue_status_legacy_dto.py +8 -3
- immichpy/client/generated/models/queue_update_dto.py +4 -2
- immichpy/client/generated/models/queues_response_legacy_dto.py +9 -1
- immichpy/client/generated/models/random_search_dto.py +96 -34
- immichpy/client/generated/models/ratings_response.py +3 -3
- immichpy/client/generated/models/ratings_update.py +5 -3
- immichpy/client/generated/models/reaction_level.py +1 -1
- immichpy/client/generated/models/reaction_type.py +1 -1
- immichpy/client/generated/models/reverse_geocoding_state_response_dto.py +7 -3
- immichpy/client/generated/models/rotate_parameters.py +84 -0
- immichpy/client/generated/models/search_album_response_dto.py +4 -4
- immichpy/client/generated/models/search_asset_response_dto.py +6 -4
- immichpy/client/generated/models/search_explore_item.py +3 -3
- immichpy/client/generated/models/search_explore_response_dto.py +2 -2
- immichpy/client/generated/models/search_facet_count_response_dto.py +4 -4
- immichpy/client/generated/models/search_facet_response_dto.py +3 -3
- immichpy/client/generated/models/search_response_dto.py +1 -1
- immichpy/client/generated/models/search_statistics_response_dto.py +3 -3
- immichpy/client/generated/models/search_suggestion_type.py +1 -1
- immichpy/client/generated/models/server_about_response_dto.py +46 -22
- immichpy/client/generated/models/server_apk_links_dto.py +12 -6
- immichpy/client/generated/models/server_config_dto.py +36 -12
- immichpy/client/generated/models/server_features_dto.py +32 -16
- immichpy/client/generated/models/server_media_types_response_dto.py +5 -5
- immichpy/client/generated/models/server_ping_response.py +1 -1
- immichpy/client/generated/models/server_stats_response_dto.py +10 -6
- immichpy/client/generated/models/server_storage_response_dto.py +21 -8
- immichpy/client/generated/models/server_theme_dto.py +4 -2
- immichpy/client/generated/models/server_version_history_response_dto.py +6 -4
- immichpy/client/generated/models/server_version_response_dto.py +5 -5
- immichpy/client/generated/models/session_create_dto.py +8 -4
- immichpy/client/generated/models/session_create_response_dto.py +17 -11
- immichpy/client/generated/models/session_response_dto.py +16 -10
- immichpy/client/generated/models/session_unlock_dto.py +7 -3
- immichpy/client/generated/models/session_update_dto.py +2 -2
- immichpy/client/generated/models/set_maintenance_mode_dto.py +17 -7
- immichpy/client/generated/models/shared_link_create_dto.py +25 -11
- immichpy/client/generated/models/shared_link_edit_dto.py +19 -9
- immichpy/client/generated/models/shared_link_response_dto.py +18 -14
- immichpy/client/generated/models/shared_link_type.py +2 -2
- immichpy/client/generated/models/shared_links_response.py +5 -3
- immichpy/client/generated/models/shared_links_update.py +9 -3
- immichpy/client/generated/models/sign_up_dto.py +5 -5
- immichpy/client/generated/models/smart_search_dto.py +102 -36
- immichpy/client/generated/models/source_type.py +2 -2
- immichpy/client/generated/models/stack_create_dto.py +2 -2
- immichpy/client/generated/models/stack_response_dto.py +6 -4
- immichpy/client/generated/models/stack_update_dto.py +4 -2
- immichpy/client/generated/models/statistics_search_dto.py +86 -30
- immichpy/client/generated/models/storage_folder.py +38 -0
- immichpy/client/generated/models/sync_ack_delete_dto.py +5 -3
- immichpy/client/generated/models/sync_ack_dto.py +4 -4
- immichpy/client/generated/models/sync_ack_set_dto.py +4 -2
- immichpy/client/generated/models/sync_album_delete_v1.py +2 -2
- immichpy/client/generated/models/sync_album_to_asset_delete_v1.py +3 -3
- immichpy/client/generated/models/sync_album_to_asset_v1.py +3 -3
- immichpy/client/generated/models/sync_album_user_delete_v1.py +3 -3
- immichpy/client/generated/models/sync_album_user_v1.py +4 -4
- immichpy/client/generated/models/sync_album_v1.py +13 -9
- immichpy/client/generated/models/sync_asset_delete_v1.py +2 -2
- immichpy/client/generated/models/sync_asset_exif_v1.py +46 -26
- immichpy/client/generated/models/sync_asset_face_delete_v1.py +2 -2
- immichpy/client/generated/models/sync_asset_face_v1.py +5 -5
- immichpy/client/generated/models/sync_asset_metadata_delete_v1.py +3 -4
- immichpy/client/generated/models/sync_asset_metadata_v1.py +4 -5
- immichpy/client/generated/models/sync_asset_v1.py +47 -18
- immichpy/client/generated/models/sync_auth_user_v1.py +22 -12
- immichpy/client/generated/models/sync_entity_type.py +2 -2
- immichpy/client/generated/models/sync_memory_asset_delete_v1.py +3 -3
- immichpy/client/generated/models/sync_memory_asset_v1.py +3 -3
- immichpy/client/generated/models/sync_memory_delete_v1.py +2 -2
- immichpy/client/generated/models/sync_memory_v1.py +13 -13
- immichpy/client/generated/models/sync_partner_delete_v1.py +5 -3
- immichpy/client/generated/models/sync_partner_v1.py +6 -4
- immichpy/client/generated/models/sync_person_delete_v1.py +2 -2
- immichpy/client/generated/models/sync_person_v1.py +13 -11
- immichpy/client/generated/models/sync_request_type.py +2 -2
- immichpy/client/generated/models/sync_stack_delete_v1.py +2 -2
- immichpy/client/generated/models/sync_stack_v1.py +8 -6
- immichpy/client/generated/models/sync_stream_dto.py +4 -4
- immichpy/client/generated/models/sync_user_delete_v1.py +2 -2
- immichpy/client/generated/models/sync_user_metadata_delete_v1.py +3 -3
- immichpy/client/generated/models/sync_user_metadata_v1.py +4 -4
- immichpy/client/generated/models/sync_user_v1.py +16 -8
- immichpy/client/generated/models/system_config_backups_dto.py +1 -1
- immichpy/client/generated/models/system_config_dto.py +1 -1
- immichpy/client/generated/models/system_config_f_fmpeg_dto.py +44 -22
- immichpy/client/generated/models/system_config_faces_dto.py +2 -2
- immichpy/client/generated/models/system_config_generated_fullsize_image_dto.py +13 -7
- immichpy/client/generated/models/system_config_generated_image_dto.py +14 -8
- immichpy/client/generated/models/system_config_image_dto.py +5 -3
- immichpy/client/generated/models/system_config_job_dto.py +9 -1
- immichpy/client/generated/models/system_config_library_dto.py +1 -1
- immichpy/client/generated/models/system_config_library_scan_dto.py +2 -2
- immichpy/client/generated/models/system_config_library_watch_dto.py +3 -3
- immichpy/client/generated/models/system_config_logging_dto.py +3 -3
- immichpy/client/generated/models/system_config_machine_learning_dto.py +2 -2
- immichpy/client/generated/models/system_config_map_dto.py +2 -2
- immichpy/client/generated/models/system_config_metadata_dto.py +1 -1
- immichpy/client/generated/models/system_config_new_version_check_dto.py +3 -3
- immichpy/client/generated/models/system_config_nightly_tasks_dto.py +16 -6
- immichpy/client/generated/models/system_config_notifications_dto.py +1 -1
- immichpy/client/generated/models/system_config_o_auth_dto.py +28 -18
- immichpy/client/generated/models/system_config_password_login_dto.py +3 -3
- immichpy/client/generated/models/system_config_reverse_geocoding_dto.py +3 -3
- immichpy/client/generated/models/system_config_server_dto.py +8 -4
- immichpy/client/generated/models/system_config_smtp_dto.py +8 -4
- immichpy/client/generated/models/system_config_smtp_transport_dto.py +9 -7
- immichpy/client/generated/models/system_config_storage_template_dto.py +6 -4
- immichpy/client/generated/models/system_config_template_emails_dto.py +1 -1
- immichpy/client/generated/models/system_config_template_storage_option_dto.py +32 -9
- immichpy/client/generated/models/system_config_templates_dto.py +1 -1
- immichpy/client/generated/models/system_config_theme_dto.py +4 -2
- immichpy/client/generated/models/system_config_trash_dto.py +3 -3
- immichpy/client/generated/models/system_config_user_dto.py +4 -2
- immichpy/client/generated/models/tag_bulk_assets_dto.py +3 -3
- immichpy/client/generated/models/tag_bulk_assets_response_dto.py +3 -3
- immichpy/client/generated/models/tag_create_dto.py +8 -4
- immichpy/client/generated/models/tag_response_dto.py +10 -8
- immichpy/client/generated/models/tag_update_dto.py +3 -3
- immichpy/client/generated/models/tag_upsert_dto.py +3 -3
- immichpy/client/generated/models/tags_response.py +5 -3
- immichpy/client/generated/models/tags_update.py +9 -3
- immichpy/client/generated/models/template_dto.py +3 -3
- immichpy/client/generated/models/template_response_dto.py +4 -4
- immichpy/client/generated/models/test_email_response_dto.py +2 -2
- immichpy/client/generated/models/time_bucket_asset_response_dto.py +2 -3
- immichpy/client/generated/models/time_buckets_response_dto.py +1 -1
- immichpy/client/generated/models/tone_mapping.py +2 -2
- immichpy/client/generated/models/transcode_hw_accel.py +2 -2
- immichpy/client/generated/models/transcode_policy.py +2 -2
- immichpy/client/generated/models/trash_response_dto.py +3 -3
- immichpy/client/generated/models/update_album_dto.py +12 -6
- immichpy/client/generated/models/update_album_user_dto.py +3 -3
- immichpy/client/generated/models/update_asset_dto.py +21 -9
- immichpy/client/generated/models/update_library_dto.py +8 -4
- immichpy/client/generated/models/usage_by_user_dto.py +16 -9
- immichpy/client/generated/models/user_admin_create_dto.py +20 -10
- immichpy/client/generated/models/user_admin_delete_dto.py +5 -3
- immichpy/client/generated/models/user_admin_response_dto.py +35 -18
- immichpy/client/generated/models/user_admin_update_dto.py +20 -10
- immichpy/client/generated/models/user_avatar_color.py +2 -2
- immichpy/client/generated/models/user_license.py +6 -4
- immichpy/client/generated/models/user_metadata_key.py +2 -2
- immichpy/client/generated/models/user_preferences_response_dto.py +1 -1
- immichpy/client/generated/models/user_preferences_update_dto.py +1 -1
- immichpy/client/generated/models/user_response_dto.py +13 -7
- immichpy/client/generated/models/user_status.py +2 -2
- immichpy/client/generated/models/user_update_me_dto.py +10 -5
- immichpy/client/generated/models/validate_access_token_response_dto.py +4 -2
- immichpy/client/generated/models/validate_library_dto.py +9 -3
- immichpy/client/generated/models/validate_library_import_path_response_dto.py +4 -4
- immichpy/client/generated/models/validate_library_response_dto.py +4 -2
- immichpy/client/generated/models/version_check_state_response_dto.py +7 -3
- immichpy/client/generated/models/video_codec.py +2 -2
- immichpy/client/generated/models/video_container.py +2 -2
- immichpy/client/generated/models/workflow_action_item_dto.py +7 -3
- immichpy/client/generated/models/workflow_action_response_dto.py +10 -6
- immichpy/client/generated/models/workflow_create_dto.py +11 -7
- immichpy/client/generated/models/workflow_filter_item_dto.py +7 -3
- immichpy/client/generated/models/workflow_filter_response_dto.py +10 -6
- immichpy/client/generated/models/workflow_response_dto.py +14 -27
- immichpy/client/generated/models/workflow_update_dto.py +19 -7
- immichpy/client/generated/rest.py +1 -1
- immichpy/client/main.py +4 -1
- {immichpy-1.6.5.dist-info → immichpy-1.7.6.dist-info}/METADATA +1 -3
- immichpy-1.7.6.dist-info/RECORD +464 -0
- immichpy-1.6.5.dist-info/RECORD +0 -439
- {immichpy-1.6.5.dist-info → immichpy-1.7.6.dist-info}/WHEEL +0 -0
- {immichpy-1.6.5.dist-info → immichpy-1.7.6.dist-info}/entry_points.txt +0 -0
- {immichpy-1.6.5.dist-info → immichpy-1.7.6.dist-info}/licenses/LICENSE +0 -0
immichpy/cli/commands/search.py
CHANGED
|
@@ -48,15 +48,23 @@ def get_explore_data(
|
|
|
48
48
|
@app.command("get-search-suggestions", deprecated=False, rich_help_panel="API commands")
|
|
49
49
|
def get_search_suggestions(
|
|
50
50
|
ctx: typer.Context,
|
|
51
|
-
country: str | None = typer.Option(None, "--country", help=""""""),
|
|
51
|
+
country: str | None = typer.Option(None, "--country", help="""Filter by country"""),
|
|
52
52
|
include_null: Literal["true", "false"] | None = typer.Option(
|
|
53
|
-
None, "--include-null", help=""""""
|
|
53
|
+
None, "--include-null", help="""Include null values in suggestions"""
|
|
54
|
+
),
|
|
55
|
+
lens_model: str | None = typer.Option(
|
|
56
|
+
None, "--lens-model", help="""Filter by lens model"""
|
|
57
|
+
),
|
|
58
|
+
make: str | None = typer.Option(None, "--make", help="""Filter by camera make"""),
|
|
59
|
+
model: str | None = typer.Option(
|
|
60
|
+
None, "--model", help="""Filter by camera model"""
|
|
61
|
+
),
|
|
62
|
+
state: str | None = typer.Option(
|
|
63
|
+
None, "--state", help="""Filter by state/province"""
|
|
64
|
+
),
|
|
65
|
+
type: SearchSuggestionType = typer.Option(
|
|
66
|
+
..., "--type", help="""Suggestion type"""
|
|
54
67
|
),
|
|
55
|
-
lens_model: str | None = typer.Option(None, "--lens-model", help=""""""),
|
|
56
|
-
make: str | None = typer.Option(None, "--make", help=""""""),
|
|
57
|
-
model: str | None = typer.Option(None, "--model", help=""""""),
|
|
58
|
-
state: str | None = typer.Option(None, "--state", help=""""""),
|
|
59
|
-
type: SearchSuggestionType = typer.Option(..., "--type", help=""""""),
|
|
60
68
|
) -> None:
|
|
61
69
|
"""Retrieve search suggestions
|
|
62
70
|
|
|
@@ -86,51 +94,87 @@ def get_search_suggestions(
|
|
|
86
94
|
)
|
|
87
95
|
def search_asset_statistics(
|
|
88
96
|
ctx: typer.Context,
|
|
89
|
-
album_ids: list[str] | None = typer.Option(
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
97
|
+
album_ids: list[str] | None = typer.Option(
|
|
98
|
+
None, "--album-ids", help="""Filter by album IDs"""
|
|
99
|
+
),
|
|
100
|
+
city: str | None = typer.Option(None, "--city", help="""Filter by city name"""),
|
|
101
|
+
country: str | None = typer.Option(
|
|
102
|
+
None, "--country", help="""Filter by country name"""
|
|
103
|
+
),
|
|
104
|
+
created_after: datetime | None = typer.Option(
|
|
105
|
+
None, "--created-after", help="""Filter by creation date (after)"""
|
|
106
|
+
),
|
|
93
107
|
created_before: datetime | None = typer.Option(
|
|
94
|
-
None, "--created-before", help=""""""
|
|
108
|
+
None, "--created-before", help="""Filter by creation date (before)"""
|
|
109
|
+
),
|
|
110
|
+
description: str | None = typer.Option(
|
|
111
|
+
None, "--description", help="""Filter by description text"""
|
|
112
|
+
),
|
|
113
|
+
device_id: str | None = typer.Option(
|
|
114
|
+
None, "--device-id", help="""Device ID to filter by"""
|
|
95
115
|
),
|
|
96
|
-
description: str | None = typer.Option(None, "--description", help=""""""),
|
|
97
|
-
device_id: str | None = typer.Option(None, "--device-id", help=""""""),
|
|
98
116
|
is_encoded: Literal["true", "false"] | None = typer.Option(
|
|
99
|
-
None, "--is-encoded", help=""""""
|
|
117
|
+
None, "--is-encoded", help="""Filter by encoded status"""
|
|
100
118
|
),
|
|
101
119
|
is_favorite: Literal["true", "false"] | None = typer.Option(
|
|
102
|
-
None, "--is-favorite", help=""""""
|
|
120
|
+
None, "--is-favorite", help="""Filter by favorite status"""
|
|
103
121
|
),
|
|
104
122
|
is_motion: Literal["true", "false"] | None = typer.Option(
|
|
105
|
-
None, "--is-motion", help=""""""
|
|
123
|
+
None, "--is-motion", help="""Filter by motion photo status"""
|
|
106
124
|
),
|
|
107
125
|
is_not_in_album: Literal["true", "false"] | None = typer.Option(
|
|
108
|
-
None, "--is-not-in-album", help=""""""
|
|
126
|
+
None, "--is-not-in-album", help="""Filter assets not in any album"""
|
|
109
127
|
),
|
|
110
128
|
is_offline: Literal["true", "false"] | None = typer.Option(
|
|
111
|
-
None, "--is-offline", help=""""""
|
|
112
|
-
),
|
|
113
|
-
lens_model: str | None = typer.Option(
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
129
|
+
None, "--is-offline", help="""Filter by offline status"""
|
|
130
|
+
),
|
|
131
|
+
lens_model: str | None = typer.Option(
|
|
132
|
+
None, "--lens-model", help="""Filter by lens model"""
|
|
133
|
+
),
|
|
134
|
+
library_id: str | None = typer.Option(
|
|
135
|
+
None, "--library-id", help="""Library ID to filter by"""
|
|
136
|
+
),
|
|
137
|
+
make: str | None = typer.Option(None, "--make", help="""Filter by camera make"""),
|
|
138
|
+
model: str | None = typer.Option(
|
|
139
|
+
None, "--model", help="""Filter by camera model"""
|
|
140
|
+
),
|
|
141
|
+
ocr: str | None = typer.Option(
|
|
142
|
+
None, "--ocr", help="""Filter by OCR text content"""
|
|
143
|
+
),
|
|
144
|
+
person_ids: list[str] | None = typer.Option(
|
|
145
|
+
None, "--person-ids", help="""Filter by person IDs"""
|
|
146
|
+
),
|
|
147
|
+
rating: float | None = typer.Option(
|
|
148
|
+
None, "--rating", help="""Filter by rating""", min=-1, max=5
|
|
149
|
+
),
|
|
150
|
+
state: str | None = typer.Option(
|
|
151
|
+
None, "--state", help="""Filter by state/province name"""
|
|
152
|
+
),
|
|
153
|
+
tag_ids: list[str] | None = typer.Option(
|
|
154
|
+
None, "--tag-ids", help="""Filter by tag IDs"""
|
|
155
|
+
),
|
|
156
|
+
taken_after: datetime | None = typer.Option(
|
|
157
|
+
None, "--taken-after", help="""Filter by taken date (after)"""
|
|
158
|
+
),
|
|
159
|
+
taken_before: datetime | None = typer.Option(
|
|
160
|
+
None, "--taken-before", help="""Filter by taken date (before)"""
|
|
161
|
+
),
|
|
162
|
+
trashed_after: datetime | None = typer.Option(
|
|
163
|
+
None, "--trashed-after", help="""Filter by trash date (after)"""
|
|
164
|
+
),
|
|
125
165
|
trashed_before: datetime | None = typer.Option(
|
|
126
|
-
None, "--trashed-before", help=""""""
|
|
166
|
+
None, "--trashed-before", help="""Filter by trash date (before)"""
|
|
167
|
+
),
|
|
168
|
+
type: str | None = typer.Option(None, "--type", help="""Asset type"""),
|
|
169
|
+
updated_after: datetime | None = typer.Option(
|
|
170
|
+
None, "--updated-after", help="""Filter by update date (after)"""
|
|
127
171
|
),
|
|
128
|
-
type: str | None = typer.Option(None, "--type", help=""""""),
|
|
129
|
-
updated_after: datetime | None = typer.Option(None, "--updated-after", help=""""""),
|
|
130
172
|
updated_before: datetime | None = typer.Option(
|
|
131
|
-
None, "--updated-before", help=""""""
|
|
173
|
+
None, "--updated-before", help="""Filter by update date (before)"""
|
|
174
|
+
),
|
|
175
|
+
visibility: str | None = typer.Option(
|
|
176
|
+
None, "--visibility", help="""Asset visibility"""
|
|
132
177
|
),
|
|
133
|
-
visibility: str | None = typer.Option(None, "--visibility", help=""""""),
|
|
134
178
|
) -> None:
|
|
135
179
|
"""Search asset statistics
|
|
136
180
|
|
|
@@ -208,77 +252,125 @@ def search_asset_statistics(
|
|
|
208
252
|
@app.command("search-assets", deprecated=False, rich_help_panel="API commands")
|
|
209
253
|
def search_assets(
|
|
210
254
|
ctx: typer.Context,
|
|
211
|
-
album_ids: list[str] | None = typer.Option(
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
255
|
+
album_ids: list[str] | None = typer.Option(
|
|
256
|
+
None, "--album-ids", help="""Filter by album IDs"""
|
|
257
|
+
),
|
|
258
|
+
checksum: str | None = typer.Option(
|
|
259
|
+
None, "--checksum", help="""Filter by file checksum"""
|
|
260
|
+
),
|
|
261
|
+
city: str | None = typer.Option(None, "--city", help="""Filter by city name"""),
|
|
262
|
+
country: str | None = typer.Option(
|
|
263
|
+
None, "--country", help="""Filter by country name"""
|
|
264
|
+
),
|
|
265
|
+
created_after: datetime | None = typer.Option(
|
|
266
|
+
None, "--created-after", help="""Filter by creation date (after)"""
|
|
267
|
+
),
|
|
216
268
|
created_before: datetime | None = typer.Option(
|
|
217
|
-
None, "--created-before", help=""""""
|
|
269
|
+
None, "--created-before", help="""Filter by creation date (before)"""
|
|
270
|
+
),
|
|
271
|
+
description: str | None = typer.Option(
|
|
272
|
+
None, "--description", help="""Filter by description text"""
|
|
273
|
+
),
|
|
274
|
+
device_asset_id: str | None = typer.Option(
|
|
275
|
+
None, "--device-asset-id", help="""Filter by device asset ID"""
|
|
276
|
+
),
|
|
277
|
+
device_id: str | None = typer.Option(
|
|
278
|
+
None, "--device-id", help="""Device ID to filter by"""
|
|
218
279
|
),
|
|
219
|
-
description: str | None = typer.Option(None, "--description", help=""""""),
|
|
220
|
-
device_asset_id: str | None = typer.Option(None, "--device-asset-id", help=""""""),
|
|
221
|
-
device_id: str | None = typer.Option(None, "--device-id", help=""""""),
|
|
222
280
|
encoded_video_path: str | None = typer.Option(
|
|
223
|
-
None, "--encoded-video-path", help=""""""
|
|
281
|
+
None, "--encoded-video-path", help="""Filter by encoded video file path"""
|
|
224
282
|
),
|
|
225
|
-
id: str | None = typer.Option(None, "--id", help=""""""),
|
|
283
|
+
id: str | None = typer.Option(None, "--id", help="""Filter by asset ID"""),
|
|
226
284
|
is_encoded: Literal["true", "false"] | None = typer.Option(
|
|
227
|
-
None, "--is-encoded", help=""""""
|
|
285
|
+
None, "--is-encoded", help="""Filter by encoded status"""
|
|
228
286
|
),
|
|
229
287
|
is_favorite: Literal["true", "false"] | None = typer.Option(
|
|
230
|
-
None, "--is-favorite", help=""""""
|
|
288
|
+
None, "--is-favorite", help="""Filter by favorite status"""
|
|
231
289
|
),
|
|
232
290
|
is_motion: Literal["true", "false"] | None = typer.Option(
|
|
233
|
-
None, "--is-motion", help=""""""
|
|
291
|
+
None, "--is-motion", help="""Filter by motion photo status"""
|
|
234
292
|
),
|
|
235
293
|
is_not_in_album: Literal["true", "false"] | None = typer.Option(
|
|
236
|
-
None, "--is-not-in-album", help=""""""
|
|
294
|
+
None, "--is-not-in-album", help="""Filter assets not in any album"""
|
|
237
295
|
),
|
|
238
296
|
is_offline: Literal["true", "false"] | None = typer.Option(
|
|
239
|
-
None, "--is-offline", help=""""""
|
|
240
|
-
),
|
|
241
|
-
lens_model: str | None = typer.Option(
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
297
|
+
None, "--is-offline", help="""Filter by offline status"""
|
|
298
|
+
),
|
|
299
|
+
lens_model: str | None = typer.Option(
|
|
300
|
+
None, "--lens-model", help="""Filter by lens model"""
|
|
301
|
+
),
|
|
302
|
+
library_id: str | None = typer.Option(
|
|
303
|
+
None, "--library-id", help="""Library ID to filter by"""
|
|
304
|
+
),
|
|
305
|
+
make: str | None = typer.Option(None, "--make", help="""Filter by camera make"""),
|
|
306
|
+
model: str | None = typer.Option(
|
|
307
|
+
None, "--model", help="""Filter by camera model"""
|
|
308
|
+
),
|
|
309
|
+
ocr: str | None = typer.Option(
|
|
310
|
+
None, "--ocr", help="""Filter by OCR text content"""
|
|
311
|
+
),
|
|
312
|
+
order: str | None = typer.Option(None, "--order", help="""Asset sort order"""),
|
|
247
313
|
original_file_name: str | None = typer.Option(
|
|
248
|
-
None, "--original-file-name", help=""""""
|
|
249
|
-
),
|
|
250
|
-
original_path: str | None = typer.Option(
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
314
|
+
None, "--original-file-name", help="""Filter by original file name"""
|
|
315
|
+
),
|
|
316
|
+
original_path: str | None = typer.Option(
|
|
317
|
+
None, "--original-path", help="""Filter by original file path"""
|
|
318
|
+
),
|
|
319
|
+
page: float | None = typer.Option(None, "--page", help="""Page number""", min=1),
|
|
320
|
+
person_ids: list[str] | None = typer.Option(
|
|
321
|
+
None, "--person-ids", help="""Filter by person IDs"""
|
|
322
|
+
),
|
|
323
|
+
preview_path: str | None = typer.Option(
|
|
324
|
+
None, "--preview-path", help="""Filter by preview file path"""
|
|
325
|
+
),
|
|
326
|
+
rating: float | None = typer.Option(
|
|
327
|
+
None, "--rating", help="""Filter by rating""", min=-1, max=5
|
|
328
|
+
),
|
|
329
|
+
size: float | None = typer.Option(
|
|
330
|
+
None, "--size", help="""Number of results to return""", min=1, max=1000
|
|
331
|
+
),
|
|
332
|
+
state: str | None = typer.Option(
|
|
333
|
+
None, "--state", help="""Filter by state/province name"""
|
|
334
|
+
),
|
|
335
|
+
tag_ids: list[str] | None = typer.Option(
|
|
336
|
+
None, "--tag-ids", help="""Filter by tag IDs"""
|
|
337
|
+
),
|
|
338
|
+
taken_after: datetime | None = typer.Option(
|
|
339
|
+
None, "--taken-after", help="""Filter by taken date (after)"""
|
|
340
|
+
),
|
|
341
|
+
taken_before: datetime | None = typer.Option(
|
|
342
|
+
None, "--taken-before", help="""Filter by taken date (before)"""
|
|
343
|
+
),
|
|
344
|
+
thumbnail_path: str | None = typer.Option(
|
|
345
|
+
None, "--thumbnail-path", help="""Filter by thumbnail file path"""
|
|
346
|
+
),
|
|
347
|
+
trashed_after: datetime | None = typer.Option(
|
|
348
|
+
None, "--trashed-after", help="""Filter by trash date (after)"""
|
|
349
|
+
),
|
|
262
350
|
trashed_before: datetime | None = typer.Option(
|
|
263
|
-
None, "--trashed-before", help=""""""
|
|
351
|
+
None, "--trashed-before", help="""Filter by trash date (before)"""
|
|
352
|
+
),
|
|
353
|
+
type: str | None = typer.Option(None, "--type", help="""Asset type"""),
|
|
354
|
+
updated_after: datetime | None = typer.Option(
|
|
355
|
+
None, "--updated-after", help="""Filter by update date (after)"""
|
|
264
356
|
),
|
|
265
|
-
type: str | None = typer.Option(None, "--type", help=""""""),
|
|
266
|
-
updated_after: datetime | None = typer.Option(None, "--updated-after", help=""""""),
|
|
267
357
|
updated_before: datetime | None = typer.Option(
|
|
268
|
-
None, "--updated-before", help=""""""
|
|
358
|
+
None, "--updated-before", help="""Filter by update date (before)"""
|
|
359
|
+
),
|
|
360
|
+
visibility: str | None = typer.Option(
|
|
361
|
+
None, "--visibility", help="""Asset visibility"""
|
|
269
362
|
),
|
|
270
|
-
visibility: str | None = typer.Option(None, "--visibility", help=""""""),
|
|
271
363
|
with_deleted: Literal["true", "false"] | None = typer.Option(
|
|
272
|
-
None, "--with-deleted", help=""""""
|
|
364
|
+
None, "--with-deleted", help="""Include deleted assets"""
|
|
273
365
|
),
|
|
274
366
|
with_exif: Literal["true", "false"] | None = typer.Option(
|
|
275
|
-
None, "--with-exif", help=""""""
|
|
367
|
+
None, "--with-exif", help="""Include EXIF data in response"""
|
|
276
368
|
),
|
|
277
369
|
with_people: Literal["true", "false"] | None = typer.Option(
|
|
278
|
-
None, "--with-people", help=""""""
|
|
370
|
+
None, "--with-people", help="""Include assets with people"""
|
|
279
371
|
),
|
|
280
372
|
with_stacked: Literal["true", "false"] | None = typer.Option(
|
|
281
|
-
None, "--with-stacked", help=""""""
|
|
373
|
+
None, "--with-stacked", help="""Include stacked assets"""
|
|
282
374
|
),
|
|
283
375
|
) -> None:
|
|
284
376
|
"""Search assets by metadata
|
|
@@ -385,61 +477,97 @@ def search_assets(
|
|
|
385
477
|
@app.command("search-large-assets", deprecated=False, rich_help_panel="API commands")
|
|
386
478
|
def search_large_assets(
|
|
387
479
|
ctx: typer.Context,
|
|
388
|
-
album_ids: list[str] | None = typer.Option(
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
480
|
+
album_ids: list[str] | None = typer.Option(
|
|
481
|
+
None, "--album-ids", help="""Filter by album IDs"""
|
|
482
|
+
),
|
|
483
|
+
city: str | None = typer.Option(None, "--city", help="""Filter by city name"""),
|
|
484
|
+
country: str | None = typer.Option(
|
|
485
|
+
None, "--country", help="""Filter by country name"""
|
|
486
|
+
),
|
|
487
|
+
created_after: datetime | None = typer.Option(
|
|
488
|
+
None, "--created-after", help="""Filter by creation date (after)"""
|
|
489
|
+
),
|
|
392
490
|
created_before: datetime | None = typer.Option(
|
|
393
|
-
None, "--created-before", help=""""""
|
|
491
|
+
None, "--created-before", help="""Filter by creation date (before)"""
|
|
492
|
+
),
|
|
493
|
+
device_id: str | None = typer.Option(
|
|
494
|
+
None, "--device-id", help="""Device ID to filter by"""
|
|
394
495
|
),
|
|
395
|
-
device_id: str | None = typer.Option(None, "--device-id", help=""""""),
|
|
396
496
|
is_encoded: Literal["true", "false"] | None = typer.Option(
|
|
397
|
-
None, "--is-encoded", help=""""""
|
|
497
|
+
None, "--is-encoded", help="""Filter by encoded status"""
|
|
398
498
|
),
|
|
399
499
|
is_favorite: Literal["true", "false"] | None = typer.Option(
|
|
400
|
-
None, "--is-favorite", help=""""""
|
|
500
|
+
None, "--is-favorite", help="""Filter by favorite status"""
|
|
401
501
|
),
|
|
402
502
|
is_motion: Literal["true", "false"] | None = typer.Option(
|
|
403
|
-
None, "--is-motion", help=""""""
|
|
503
|
+
None, "--is-motion", help="""Filter by motion photo status"""
|
|
404
504
|
),
|
|
405
505
|
is_not_in_album: Literal["true", "false"] | None = typer.Option(
|
|
406
|
-
None, "--is-not-in-album", help=""""""
|
|
506
|
+
None, "--is-not-in-album", help="""Filter assets not in any album"""
|
|
407
507
|
),
|
|
408
508
|
is_offline: Literal["true", "false"] | None = typer.Option(
|
|
409
|
-
None, "--is-offline", help=""""""
|
|
509
|
+
None, "--is-offline", help="""Filter by offline status"""
|
|
510
|
+
),
|
|
511
|
+
lens_model: str | None = typer.Option(
|
|
512
|
+
None, "--lens-model", help="""Filter by lens model"""
|
|
513
|
+
),
|
|
514
|
+
library_id: str | None = typer.Option(
|
|
515
|
+
None, "--library-id", help="""Library ID to filter by"""
|
|
410
516
|
),
|
|
411
|
-
|
|
412
|
-
library_id: str | None = typer.Option(None, "--library-id", help=""""""),
|
|
413
|
-
make: str | None = typer.Option(None, "--make", help=""""""),
|
|
517
|
+
make: str | None = typer.Option(None, "--make", help="""Filter by camera make"""),
|
|
414
518
|
min_file_size: int | None = typer.Option(
|
|
415
|
-
None, "--min-file-size", help="""""", min=0
|
|
416
|
-
),
|
|
417
|
-
model: str | None = typer.Option(
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
519
|
+
None, "--min-file-size", help="""Minimum file size in bytes""", min=0
|
|
520
|
+
),
|
|
521
|
+
model: str | None = typer.Option(
|
|
522
|
+
None, "--model", help="""Filter by camera model"""
|
|
523
|
+
),
|
|
524
|
+
ocr: str | None = typer.Option(
|
|
525
|
+
None, "--ocr", help="""Filter by OCR text content"""
|
|
526
|
+
),
|
|
527
|
+
person_ids: list[str] | None = typer.Option(
|
|
528
|
+
None, "--person-ids", help="""Filter by person IDs"""
|
|
529
|
+
),
|
|
530
|
+
rating: float | None = typer.Option(
|
|
531
|
+
None, "--rating", help="""Filter by rating""", min=-1, max=5
|
|
532
|
+
),
|
|
533
|
+
size: float | None = typer.Option(
|
|
534
|
+
None, "--size", help="""Number of results to return""", min=1, max=1000
|
|
535
|
+
),
|
|
536
|
+
state: str | None = typer.Option(
|
|
537
|
+
None, "--state", help="""Filter by state/province name"""
|
|
538
|
+
),
|
|
539
|
+
tag_ids: list[str] | None = typer.Option(
|
|
540
|
+
None, "--tag-ids", help="""Filter by tag IDs"""
|
|
541
|
+
),
|
|
542
|
+
taken_after: datetime | None = typer.Option(
|
|
543
|
+
None, "--taken-after", help="""Filter by taken date (after)"""
|
|
544
|
+
),
|
|
545
|
+
taken_before: datetime | None = typer.Option(
|
|
546
|
+
None, "--taken-before", help="""Filter by taken date (before)"""
|
|
547
|
+
),
|
|
548
|
+
trashed_after: datetime | None = typer.Option(
|
|
549
|
+
None, "--trashed-after", help="""Filter by trash date (after)"""
|
|
550
|
+
),
|
|
427
551
|
trashed_before: datetime | None = typer.Option(
|
|
428
|
-
None, "--trashed-before", help=""""""
|
|
552
|
+
None, "--trashed-before", help="""Filter by trash date (before)"""
|
|
553
|
+
),
|
|
554
|
+
type: AssetTypeEnum | None = typer.Option(
|
|
555
|
+
None, "--type", help="""Asset type filter"""
|
|
556
|
+
),
|
|
557
|
+
updated_after: datetime | None = typer.Option(
|
|
558
|
+
None, "--updated-after", help="""Filter by update date (after)"""
|
|
429
559
|
),
|
|
430
|
-
type: AssetTypeEnum | None = typer.Option(None, "--type", help=""""""),
|
|
431
|
-
updated_after: datetime | None = typer.Option(None, "--updated-after", help=""""""),
|
|
432
560
|
updated_before: datetime | None = typer.Option(
|
|
433
|
-
None, "--updated-before", help=""""""
|
|
561
|
+
None, "--updated-before", help="""Filter by update date (before)"""
|
|
434
562
|
),
|
|
435
563
|
visibility: AssetVisibility | None = typer.Option(
|
|
436
|
-
None, "--visibility", help=""""""
|
|
564
|
+
None, "--visibility", help="""Filter by visibility"""
|
|
437
565
|
),
|
|
438
566
|
with_deleted: Literal["true", "false"] | None = typer.Option(
|
|
439
|
-
None, "--with-deleted", help=""""""
|
|
567
|
+
None, "--with-deleted", help="""Include deleted assets"""
|
|
440
568
|
),
|
|
441
569
|
with_exif: Literal["true", "false"] | None = typer.Option(
|
|
442
|
-
None, "--with-exif", help=""""""
|
|
570
|
+
None, "--with-exif", help="""Include EXIF data in response"""
|
|
443
571
|
),
|
|
444
572
|
) -> None:
|
|
445
573
|
"""Search large assets
|
|
@@ -519,9 +647,9 @@ def search_large_assets(
|
|
|
519
647
|
@app.command("search-person", deprecated=False, rich_help_panel="API commands")
|
|
520
648
|
def search_person(
|
|
521
649
|
ctx: typer.Context,
|
|
522
|
-
name: str = typer.Option(..., "--name", help=""""""),
|
|
650
|
+
name: str = typer.Option(..., "--name", help="""Person name to search for"""),
|
|
523
651
|
with_hidden: Literal["true", "false"] | None = typer.Option(
|
|
524
|
-
None, "--with-hidden", help=""""""
|
|
652
|
+
None, "--with-hidden", help="""Include hidden people"""
|
|
525
653
|
),
|
|
526
654
|
) -> None:
|
|
527
655
|
"""Search people
|
|
@@ -540,7 +668,7 @@ def search_person(
|
|
|
540
668
|
@app.command("search-places", deprecated=False, rich_help_panel="API commands")
|
|
541
669
|
def search_places(
|
|
542
670
|
ctx: typer.Context,
|
|
543
|
-
name: str = typer.Option(..., "--name", help=""""""),
|
|
671
|
+
name: str = typer.Option(..., "--name", help="""Place name to search for"""),
|
|
544
672
|
) -> None:
|
|
545
673
|
"""Search places
|
|
546
674
|
|
|
@@ -556,62 +684,98 @@ def search_places(
|
|
|
556
684
|
@app.command("search-random", deprecated=False, rich_help_panel="API commands")
|
|
557
685
|
def search_random(
|
|
558
686
|
ctx: typer.Context,
|
|
559
|
-
album_ids: list[str] | None = typer.Option(
|
|
560
|
-
|
|
561
|
-
|
|
562
|
-
|
|
687
|
+
album_ids: list[str] | None = typer.Option(
|
|
688
|
+
None, "--album-ids", help="""Filter by album IDs"""
|
|
689
|
+
),
|
|
690
|
+
city: str | None = typer.Option(None, "--city", help="""Filter by city name"""),
|
|
691
|
+
country: str | None = typer.Option(
|
|
692
|
+
None, "--country", help="""Filter by country name"""
|
|
693
|
+
),
|
|
694
|
+
created_after: datetime | None = typer.Option(
|
|
695
|
+
None, "--created-after", help="""Filter by creation date (after)"""
|
|
696
|
+
),
|
|
563
697
|
created_before: datetime | None = typer.Option(
|
|
564
|
-
None, "--created-before", help=""""""
|
|
698
|
+
None, "--created-before", help="""Filter by creation date (before)"""
|
|
699
|
+
),
|
|
700
|
+
device_id: str | None = typer.Option(
|
|
701
|
+
None, "--device-id", help="""Device ID to filter by"""
|
|
565
702
|
),
|
|
566
|
-
device_id: str | None = typer.Option(None, "--device-id", help=""""""),
|
|
567
703
|
is_encoded: Literal["true", "false"] | None = typer.Option(
|
|
568
|
-
None, "--is-encoded", help=""""""
|
|
704
|
+
None, "--is-encoded", help="""Filter by encoded status"""
|
|
569
705
|
),
|
|
570
706
|
is_favorite: Literal["true", "false"] | None = typer.Option(
|
|
571
|
-
None, "--is-favorite", help=""""""
|
|
707
|
+
None, "--is-favorite", help="""Filter by favorite status"""
|
|
572
708
|
),
|
|
573
709
|
is_motion: Literal["true", "false"] | None = typer.Option(
|
|
574
|
-
None, "--is-motion", help=""""""
|
|
710
|
+
None, "--is-motion", help="""Filter by motion photo status"""
|
|
575
711
|
),
|
|
576
712
|
is_not_in_album: Literal["true", "false"] | None = typer.Option(
|
|
577
|
-
None, "--is-not-in-album", help=""""""
|
|
713
|
+
None, "--is-not-in-album", help="""Filter assets not in any album"""
|
|
578
714
|
),
|
|
579
715
|
is_offline: Literal["true", "false"] | None = typer.Option(
|
|
580
|
-
None, "--is-offline", help=""""""
|
|
581
|
-
),
|
|
582
|
-
lens_model: str | None = typer.Option(
|
|
583
|
-
|
|
584
|
-
|
|
585
|
-
|
|
586
|
-
|
|
587
|
-
|
|
588
|
-
|
|
589
|
-
|
|
590
|
-
|
|
591
|
-
|
|
592
|
-
|
|
593
|
-
|
|
594
|
-
|
|
716
|
+
None, "--is-offline", help="""Filter by offline status"""
|
|
717
|
+
),
|
|
718
|
+
lens_model: str | None = typer.Option(
|
|
719
|
+
None, "--lens-model", help="""Filter by lens model"""
|
|
720
|
+
),
|
|
721
|
+
library_id: str | None = typer.Option(
|
|
722
|
+
None, "--library-id", help="""Library ID to filter by"""
|
|
723
|
+
),
|
|
724
|
+
make: str | None = typer.Option(None, "--make", help="""Filter by camera make"""),
|
|
725
|
+
model: str | None = typer.Option(
|
|
726
|
+
None, "--model", help="""Filter by camera model"""
|
|
727
|
+
),
|
|
728
|
+
ocr: str | None = typer.Option(
|
|
729
|
+
None, "--ocr", help="""Filter by OCR text content"""
|
|
730
|
+
),
|
|
731
|
+
person_ids: list[str] | None = typer.Option(
|
|
732
|
+
None, "--person-ids", help="""Filter by person IDs"""
|
|
733
|
+
),
|
|
734
|
+
rating: float | None = typer.Option(
|
|
735
|
+
None, "--rating", help="""Filter by rating""", min=-1, max=5
|
|
736
|
+
),
|
|
737
|
+
size: float | None = typer.Option(
|
|
738
|
+
None, "--size", help="""Number of results to return""", min=1, max=1000
|
|
739
|
+
),
|
|
740
|
+
state: str | None = typer.Option(
|
|
741
|
+
None, "--state", help="""Filter by state/province name"""
|
|
742
|
+
),
|
|
743
|
+
tag_ids: list[str] | None = typer.Option(
|
|
744
|
+
None, "--tag-ids", help="""Filter by tag IDs"""
|
|
745
|
+
),
|
|
746
|
+
taken_after: datetime | None = typer.Option(
|
|
747
|
+
None, "--taken-after", help="""Filter by taken date (after)"""
|
|
748
|
+
),
|
|
749
|
+
taken_before: datetime | None = typer.Option(
|
|
750
|
+
None, "--taken-before", help="""Filter by taken date (before)"""
|
|
751
|
+
),
|
|
752
|
+
trashed_after: datetime | None = typer.Option(
|
|
753
|
+
None, "--trashed-after", help="""Filter by trash date (after)"""
|
|
754
|
+
),
|
|
595
755
|
trashed_before: datetime | None = typer.Option(
|
|
596
|
-
None, "--trashed-before", help=""""""
|
|
756
|
+
None, "--trashed-before", help="""Filter by trash date (before)"""
|
|
757
|
+
),
|
|
758
|
+
type: str | None = typer.Option(None, "--type", help="""Asset type"""),
|
|
759
|
+
updated_after: datetime | None = typer.Option(
|
|
760
|
+
None, "--updated-after", help="""Filter by update date (after)"""
|
|
597
761
|
),
|
|
598
|
-
type: str | None = typer.Option(None, "--type", help=""""""),
|
|
599
|
-
updated_after: datetime | None = typer.Option(None, "--updated-after", help=""""""),
|
|
600
762
|
updated_before: datetime | None = typer.Option(
|
|
601
|
-
None, "--updated-before", help=""""""
|
|
763
|
+
None, "--updated-before", help="""Filter by update date (before)"""
|
|
764
|
+
),
|
|
765
|
+
visibility: str | None = typer.Option(
|
|
766
|
+
None, "--visibility", help="""Asset visibility"""
|
|
602
767
|
),
|
|
603
|
-
visibility: str | None = typer.Option(None, "--visibility", help=""""""),
|
|
604
768
|
with_deleted: Literal["true", "false"] | None = typer.Option(
|
|
605
|
-
None, "--with-deleted", help=""""""
|
|
769
|
+
None, "--with-deleted", help="""Include deleted assets"""
|
|
606
770
|
),
|
|
607
771
|
with_exif: Literal["true", "false"] | None = typer.Option(
|
|
608
|
-
None, "--with-exif", help=""""""
|
|
772
|
+
None, "--with-exif", help="""Include EXIF data in response"""
|
|
609
773
|
),
|
|
610
774
|
with_people: Literal["true", "false"] | None = typer.Option(
|
|
611
|
-
None, "--with-people", help=""""""
|
|
775
|
+
None, "--with-people", help="""Include assets with people"""
|
|
612
776
|
),
|
|
613
777
|
with_stacked: Literal["true", "false"] | None = typer.Option(
|
|
614
|
-
None, "--with-stacked", help=""""""
|
|
778
|
+
None, "--with-stacked", help="""Include stacked assets"""
|
|
615
779
|
),
|
|
616
780
|
) -> None:
|
|
617
781
|
"""Search random assets
|
|
@@ -696,60 +860,102 @@ def search_random(
|
|
|
696
860
|
@app.command("search-smart", deprecated=False, rich_help_panel="API commands")
|
|
697
861
|
def search_smart(
|
|
698
862
|
ctx: typer.Context,
|
|
699
|
-
album_ids: list[str] | None = typer.Option(
|
|
700
|
-
|
|
701
|
-
|
|
702
|
-
|
|
863
|
+
album_ids: list[str] | None = typer.Option(
|
|
864
|
+
None, "--album-ids", help="""Filter by album IDs"""
|
|
865
|
+
),
|
|
866
|
+
city: str | None = typer.Option(None, "--city", help="""Filter by city name"""),
|
|
867
|
+
country: str | None = typer.Option(
|
|
868
|
+
None, "--country", help="""Filter by country name"""
|
|
869
|
+
),
|
|
870
|
+
created_after: datetime | None = typer.Option(
|
|
871
|
+
None, "--created-after", help="""Filter by creation date (after)"""
|
|
872
|
+
),
|
|
703
873
|
created_before: datetime | None = typer.Option(
|
|
704
|
-
None, "--created-before", help=""""""
|
|
874
|
+
None, "--created-before", help="""Filter by creation date (before)"""
|
|
875
|
+
),
|
|
876
|
+
device_id: str | None = typer.Option(
|
|
877
|
+
None, "--device-id", help="""Device ID to filter by"""
|
|
705
878
|
),
|
|
706
|
-
device_id: str | None = typer.Option(None, "--device-id", help=""""""),
|
|
707
879
|
is_encoded: Literal["true", "false"] | None = typer.Option(
|
|
708
|
-
None, "--is-encoded", help=""""""
|
|
880
|
+
None, "--is-encoded", help="""Filter by encoded status"""
|
|
709
881
|
),
|
|
710
882
|
is_favorite: Literal["true", "false"] | None = typer.Option(
|
|
711
|
-
None, "--is-favorite", help=""""""
|
|
883
|
+
None, "--is-favorite", help="""Filter by favorite status"""
|
|
712
884
|
),
|
|
713
885
|
is_motion: Literal["true", "false"] | None = typer.Option(
|
|
714
|
-
None, "--is-motion", help=""""""
|
|
886
|
+
None, "--is-motion", help="""Filter by motion photo status"""
|
|
715
887
|
),
|
|
716
888
|
is_not_in_album: Literal["true", "false"] | None = typer.Option(
|
|
717
|
-
None, "--is-not-in-album", help=""""""
|
|
889
|
+
None, "--is-not-in-album", help="""Filter assets not in any album"""
|
|
718
890
|
),
|
|
719
891
|
is_offline: Literal["true", "false"] | None = typer.Option(
|
|
720
|
-
None, "--is-offline", help=""""""
|
|
721
|
-
),
|
|
722
|
-
language: str | None = typer.Option(
|
|
723
|
-
|
|
724
|
-
|
|
725
|
-
|
|
726
|
-
|
|
727
|
-
|
|
728
|
-
|
|
729
|
-
|
|
730
|
-
|
|
731
|
-
|
|
732
|
-
|
|
733
|
-
|
|
734
|
-
|
|
735
|
-
|
|
736
|
-
|
|
737
|
-
|
|
738
|
-
|
|
892
|
+
None, "--is-offline", help="""Filter by offline status"""
|
|
893
|
+
),
|
|
894
|
+
language: str | None = typer.Option(
|
|
895
|
+
None, "--language", help="""Search language code"""
|
|
896
|
+
),
|
|
897
|
+
lens_model: str | None = typer.Option(
|
|
898
|
+
None, "--lens-model", help="""Filter by lens model"""
|
|
899
|
+
),
|
|
900
|
+
library_id: str | None = typer.Option(
|
|
901
|
+
None, "--library-id", help="""Library ID to filter by"""
|
|
902
|
+
),
|
|
903
|
+
make: str | None = typer.Option(None, "--make", help="""Filter by camera make"""),
|
|
904
|
+
model: str | None = typer.Option(
|
|
905
|
+
None, "--model", help="""Filter by camera model"""
|
|
906
|
+
),
|
|
907
|
+
ocr: str | None = typer.Option(
|
|
908
|
+
None, "--ocr", help="""Filter by OCR text content"""
|
|
909
|
+
),
|
|
910
|
+
page: float | None = typer.Option(None, "--page", help="""Page number""", min=1),
|
|
911
|
+
person_ids: list[str] | None = typer.Option(
|
|
912
|
+
None, "--person-ids", help="""Filter by person IDs"""
|
|
913
|
+
),
|
|
914
|
+
query: str | None = typer.Option(
|
|
915
|
+
None, "--query", help="""Natural language search query"""
|
|
916
|
+
),
|
|
917
|
+
query_asset_id: str | None = typer.Option(
|
|
918
|
+
None, "--query-asset-id", help="""Asset ID to use as search reference"""
|
|
919
|
+
),
|
|
920
|
+
rating: float | None = typer.Option(
|
|
921
|
+
None, "--rating", help="""Filter by rating""", min=-1, max=5
|
|
922
|
+
),
|
|
923
|
+
size: float | None = typer.Option(
|
|
924
|
+
None, "--size", help="""Number of results to return""", min=1, max=1000
|
|
925
|
+
),
|
|
926
|
+
state: str | None = typer.Option(
|
|
927
|
+
None, "--state", help="""Filter by state/province name"""
|
|
928
|
+
),
|
|
929
|
+
tag_ids: list[str] | None = typer.Option(
|
|
930
|
+
None, "--tag-ids", help="""Filter by tag IDs"""
|
|
931
|
+
),
|
|
932
|
+
taken_after: datetime | None = typer.Option(
|
|
933
|
+
None, "--taken-after", help="""Filter by taken date (after)"""
|
|
934
|
+
),
|
|
935
|
+
taken_before: datetime | None = typer.Option(
|
|
936
|
+
None, "--taken-before", help="""Filter by taken date (before)"""
|
|
937
|
+
),
|
|
938
|
+
trashed_after: datetime | None = typer.Option(
|
|
939
|
+
None, "--trashed-after", help="""Filter by trash date (after)"""
|
|
940
|
+
),
|
|
739
941
|
trashed_before: datetime | None = typer.Option(
|
|
740
|
-
None, "--trashed-before", help=""""""
|
|
942
|
+
None, "--trashed-before", help="""Filter by trash date (before)"""
|
|
943
|
+
),
|
|
944
|
+
type: str | None = typer.Option(None, "--type", help="""Asset type"""),
|
|
945
|
+
updated_after: datetime | None = typer.Option(
|
|
946
|
+
None, "--updated-after", help="""Filter by update date (after)"""
|
|
741
947
|
),
|
|
742
|
-
type: str | None = typer.Option(None, "--type", help=""""""),
|
|
743
|
-
updated_after: datetime | None = typer.Option(None, "--updated-after", help=""""""),
|
|
744
948
|
updated_before: datetime | None = typer.Option(
|
|
745
|
-
None, "--updated-before", help=""""""
|
|
949
|
+
None, "--updated-before", help="""Filter by update date (before)"""
|
|
950
|
+
),
|
|
951
|
+
visibility: str | None = typer.Option(
|
|
952
|
+
None, "--visibility", help="""Asset visibility"""
|
|
746
953
|
),
|
|
747
|
-
visibility: str | None = typer.Option(None, "--visibility", help=""""""),
|
|
748
954
|
with_deleted: Literal["true", "false"] | None = typer.Option(
|
|
749
|
-
None, "--with-deleted", help=""""""
|
|
955
|
+
None, "--with-deleted", help="""Include deleted assets"""
|
|
750
956
|
),
|
|
751
957
|
with_exif: Literal["true", "false"] | None = typer.Option(
|
|
752
|
-
None, "--with-exif", help=""""""
|
|
958
|
+
None, "--with-exif", help="""Include EXIF data in response"""
|
|
753
959
|
),
|
|
754
960
|
) -> None:
|
|
755
961
|
"""Smart asset search
|