From 6fae97906124c9284e382170e20c8ab9999105b0 Mon Sep 17 00:00:00 2001 From: Rhet Turnbull Date: Sat, 26 Feb 2022 22:34:03 -0800 Subject: [PATCH] Updated docs [skip ci] --- README.md | 1356 +-------------- docs/.buildinfo | 2 +- docs/_modules/index.html | 2 +- docs/_static/documentation_options.js | 2 +- docs/cli.html | 2228 +----------------------- docs/genindex.html | 2290 +------------------------ docs/index.html | 31 +- docs/modules.html | 2 +- docs/objects.inv | Bin 3945 -> 1043 bytes docs/reference.html | 2 +- docs/search.html | 2 +- docs/searchindex.js | 2 +- 12 files changed, 20 insertions(+), 5899 deletions(-) diff --git a/README.md b/README.md index bb8e0421..eeb30b1c 100644 --- a/README.md +++ b/README.md @@ -580,1360 +580,6 @@ osxphotos is very flexible. If you merely want to backup your Photos library, t `osxphotos help export` ``` -Usage: osxphotos export [OPTIONS] [PHOTOS_LIBRARY]... DEST - - Export photos from the Photos database. Export path DEST is required. - Optionally, query the Photos database using 1 or more search options; if more - than one option is provided, they are treated as "AND" (e.g. search for photos - matching all options). If no query options are provided, all photos will be - exported. By default, all versions of all photos will be exported including - edited versions, live photo movies, burst photos, and associated raw images. - See --skip-edited, --skip-live, --skip-bursts, and --skip-raw options to - modify this behavior. - -Options: - --db Specify Photos database path. Path to Photos - library/database can be specified using either - --db or directly as PHOTOS_LIBRARY positional - argument. If neither --db or PHOTOS_LIBRARY - provided, will attempt to find the library to - use in the following order: 1. last opened - library, 2. system library, 3. - ~/Pictures/Photos Library.photoslibrary - -V, --verbose Print verbose output. - --timestamp Add time stamp to verbose output - --keyword KEYWORD Search for photos with keyword KEYWORD. If - more than one keyword, treated as "OR", e.g. - find photos matching any keyword - --person PERSON Search for photos with person PERSON. If more - than one person, treated as "OR", e.g. find - photos matching any person - --album ALBUM Search for photos in album ALBUM. If more than - one album, treated as "OR", e.g. find photos - matching any album - --folder FOLDER Search for photos in an album in folder - FOLDER. If more than one folder, treated as - "OR", e.g. find photos in any FOLDER. Only - searches top level folders (e.g. does not look - at subfolders) - --name FILENAME Search for photos with filename matching - FILENAME. If more than one --name options is - specified, they are treated as "OR", e.g. find - photos matching any FILENAME. - --uuid UUID Search for photos with UUID(s). May be - repeated to include multiple UUIDs. - --uuid-from-file FILE Search for photos with UUID(s) loaded from - FILE. Format is a single UUID per line. Lines - preceded with # are ignored. - --title TITLE Search for TITLE in title of photo. - --no-title Search for photos with no title. - --description DESC Search for DESC in description of photo. - --no-description Search for photos with no description. - --place PLACE Search for PLACE in photo's reverse - geolocation info - --no-place Search for photos with no associated place - name info (no reverse geolocation info) - --location Search for photos with associated location - info (e.g. GPS coordinates) - --no-location Search for photos with no associated location - info (e.g. no GPS coordinates) - --label LABEL Search for photos with image classification - label LABEL (Photos 5 only). If more than one - label, treated as "OR", e.g. find photos - matching any label - --uti UTI Search for photos whose uniform type - identifier (UTI) matches UTI - -i, --ignore-case Case insensitive search for title, - description, place, keyword, person, or album. - --edited Search for photos that have been edited. - --external-edit Search for photos edited in external editor. - --favorite Search for photos marked favorite. - --not-favorite Search for photos not marked favorite. - --hidden Search for photos marked hidden. - --not-hidden Search for photos not marked hidden. - --shared Search for photos in shared iCloud album - (Photos 5 only). - --not-shared Search for photos not in shared iCloud album - (Photos 5 only). - --burst Search for photos that were taken in a burst. - --not-burst Search for photos that are not part of a - burst. - --live Search for Apple live photos - --not-live Search for photos that are not Apple live - photos. - --portrait Search for Apple portrait mode photos. - --not-portrait Search for photos that are not Apple portrait - mode photos. - --screenshot Search for screenshot photos. - --not-screenshot Search for photos that are not screenshot - photos. - --slow-mo Search for slow motion videos. - --not-slow-mo Search for photos that are not slow motion - videos. - --time-lapse Search for time lapse videos. - --not-time-lapse Search for photos that are not time lapse - videos. - --hdr Search for high dynamic range (HDR) photos. - --not-hdr Search for photos that are not HDR photos. - --selfie Search for selfies (photos taken with front- - facing cameras). - --not-selfie Search for photos that are not selfies. - --panorama Search for panorama photos. - --not-panorama Search for photos that are not panoramas. - --has-raw Search for photos with both a jpeg and raw - version - --only-movies Search only for movies (default searches both - images and movies). - --only-photos Search only for photos/images (default - searches both images and movies). - --from-date DATETIME Search by item start date, e.g. - 2000-01-12T12:00:00, - 2001-01-12T12:00:00-07:00, or 2000-12-31 (ISO - 8601 with/without timezone). - --to-date DATETIME Search by item end date, e.g. - 2000-01-12T12:00:00, - 2001-01-12T12:00:00-07:00, or 2000-12-31 (ISO - 8601 with/without timezone). - --from-time TIME Search by item start time of day, e.g. 12:00, - or 12:00:00. - --to-time TIME Search by item end time of day, e.g. 12:00 or - 12:00:00. - --has-comment Search for photos that have comments. - --no-comment Search for photos with no comments. - --has-likes Search for photos that have likes. - --no-likes Search for photos with no likes. - --is-reference Search for photos that were imported as - referenced files (not copied into Photos - library). - --in-album Search for photos that are in one or more - albums. - --not-in-album Search for photos that are not in any albums. - --duplicate Search for photos with possible duplicates. - osxphotos will compare signatures of photos, - evaluating date created, size, height, width, - and edited status to find *possible* - duplicates. This does not compare images byte- - for-byte nor compare hashes but should find - photos imported multiple times or duplicated - within Photos. - --min-size SIZE Search for photos with size >= SIZE bytes. The - size evaluated is the photo's original size - (when imported to Photos). Size may be - specified as integer bytes or using SI or NIST - units. For example, the following are all - valid and equivalent sizes: '1048576' - '1.048576MB', '1 MiB'. - --max-size SIZE Search for photos with size <= SIZE bytes. The - size evaluated is the photo's original size - (when imported to Photos). Size may be - specified as integer bytes or using SI or NIST - units. For example, the following are all - valid and equivalent sizes: '1048576' - '1.048576MB', '1 MiB'. - --regex REGEX TEMPLATE Search for photos where TEMPLATE matches - regular expression REGEX. For example, to find - photos in an album that begins with 'Beach': ' - --regex "^Beach" "{album}"'. You may specify - more than one regular expression match by - repeating '--regex' with different arguments. - --selected Filter for photos that are currently selected - in Photos. - --exif EXIF_TAG VALUE Search for photos where EXIF_TAG exists in - photo's EXIF data and contains VALUE. For - example, to find photos created by Adobe - Photoshop: `--exif Software 'Adobe Photoshop' - `or to find all photos shot on a Canon camera: - `--exif Make Canon`. EXIF_TAG can be any valid - exiftool tag, with or without group name, e.g. - `EXIF:Make` or `Make`. To use --exif, exiftool - must be installed and in the path. - --query-eval CRITERIA Evaluate CRITERIA to filter photos. CRITERIA - will be evaluated in context of the following - python list comprehension: `photos = [photo - for photo in photos if CRITERIA]` where photo - represents a PhotoInfo object. For example: - `--query-eval photo.favorite` returns all - photos that have been favorited and is - equivalent to --favorite. You may specify more - than one CRITERIA by using --query-eval - multiple times. CRITERIA must be a valid - python expression. See - https://rhettbull.github.io/osxphotos/ for - additional documentation on the PhotoInfo - class. - --query-function filename.py::function - Run function to filter photos. Use this in - format: --query-function filename.py::function - where filename.py is a python file you've - created and function is the name of the - function in the python file you want to call. - Your function will be passed a list of - PhotoInfo objects and is expected to return a - filtered list of PhotoInfo objects. You may - use more than one function by repeating the - --query-function option with a different - value. Your query function will be called - after all other query options have been - evaluated. See https://github.com/RhetTbull/os - xphotos/blob/master/examples/query_function.py - for example of how to use this option. - --missing Export only photos missing from the Photos - library; must be used with --download-missing. - --deleted Include photos from the 'Recently Deleted' - folder. - --deleted-only Include only photos from the 'Recently - Deleted' folder. - --update Only export new or updated files. See also - --force-update and notes below on export and - --update. - --force-update Only export new or updated files. Unlike - --update, --force-update will re-export photos - if their metadata has changed even if this - would not otherwise trigger an export. See - also --update and notes below on export and - --update. - --ignore-signature When used with '--update', ignores file - signature when updating files. This is useful - if you have processed or edited exported - photos changing the file signature (size & - modification date). In this case, '--update' - would normally re-export the processed files - but with '--ignore-signature', files which - exist in the export directory will not be re- - exported. If used with '--sidecar', '--ignore- - signature' has the following behavior: 1) if - the metadata (in Photos) that went into the - sidecar did not change, the sidecar will not - be updated; 2) if the metadata (in Photos) - that went into the sidecar did change, a new - sidecar is written but a new image file is - not; 3) if a sidecar does not exist for the - photo, a sidecar will be written whether or - not the photo file was written or updated. - --only-new If used with --update, ignores any previously - exported files, even if missing from the - export folder and only exports new files that - haven't previously been exported. - --dry-run Dry run (test) the export but don't actually - export any files; most useful with --verbose. - --export-as-hardlink Hardlink files instead of copying them. Cannot - be used with --exiftool which creates copies - of the files with embedded EXIF data. Note: on - APFS volumes, files are cloned when exporting - giving many of the same advantages as - hardlinks without having to use --export-as- - hardlink. - --touch-file Sets the file's modification time to match - photo date. - --overwrite Overwrite existing files. Default behavior is - to add (1), (2), etc to filename if file - already exists. Use this with caution as it - may create name collisions on export. (e.g. if - two files happen to have the same name) - --retry RETRY Automatically retry export up to RETRY times - if an error occurs during export. This may be - useful with network drives that experience - intermittent errors. - --export-by-date Automatically create output folders to - organize photos by date created (e.g. - DEST/2019/12/20/photoname.jpg). - --skip-edited Do not export edited version of photo if an - edited version exists. - --skip-original-if-edited Do not export original if there is an edited - version (exports only the edited version). - --skip-bursts Do not export all associated burst images in - the library if a photo is a burst photo. - --skip-live Do not export the associated live video - component of a live photo. - --skip-raw Do not export associated RAW image of a - RAW+JPEG pair. Note: this does not skip RAW - photos if the RAW photo does not have an - associated JPEG image (e.g. the RAW file was - imported to Photos without a JPEG preview). - --skip-uuid UUID Skip photos with UUID(s) during export. May be - repeated to include multiple UUIDs. - --skip-uuid-from-file FILE Skip photos with UUID(s) loaded from FILE. - Format is a single UUID per line. Lines - preceded with # are ignored. - --current-name Use photo's current filename instead of - original filename for export. Note: Starting - with Photos 5, all photos are renamed upon - import. By default, photos are exported with - the the original name they had before import. - --convert-to-jpeg Convert all non-JPEG images (e.g. RAW, HEIC, - PNG, etc) to JPEG upon export. Note: does not - convert the RAW component of a RAW+JPEG pair - as the associated JPEG image will be exported. - You can use --skip-raw to skip exporting the - associated RAW image of a RAW+JPEG pair. See - also --jpeg-quality and --jpeg-ext. Only works - if your Mac has a GPU (thus may not work on - virtual machines). - --jpeg-quality FLOAT RANGE Value in range 0.0 to 1.0 to use with - --convert-to-jpeg. A value of 1.0 specifies - best quality, a value of 0.0 specifies maximum - compression. Defaults to 1.0 [0.0<=x<=1.0] - --preview Export preview image generated by Photos. This - is a lower-resolution image used by Photos to - quickly preview the image. See also --preview- - suffix and --preview-if-missing. - --preview-if-missing Export preview image generated by Photos if - the actual photo file is missing from the - library. This may be helpful if photos were - not copied to the Photos library and the - original photo is missing. See also --preview- - suffix and --preview. - --preview-suffix SUFFIX Optional suffix template for naming preview - photos. Default name for preview photos is in - form 'photoname_preview.ext'. For example, - with '--preview-suffix _low_res', the preview - photo would be named 'photoname_low_res.ext'. - The default suffix is '_preview'. Multi-value - templates (see Templating System) are not - permitted with --preview-suffix. See also - --preview and --preview-if-missing. - --download-missing Attempt to download missing photos from - iCloud. The current implementation uses - Applescript to interact with Photos to export - the photo which will force Photos to download - from iCloud if the photo does not exist on - disk. This will be slow and will require - internet connection. This obviously only works - if the Photos library is synched to iCloud. - Note: --download-missing does not currently - export all burst images; only the primary - photo will be exported--associated burst - images will be skipped. - --sidecar FORMAT Create sidecar for each photo exported; valid - FORMAT values: xmp, json, exiftool; --sidecar - xmp: create XMP sidecar used by Digikam, Adobe - Lightroom, etc. The sidecar file is named in - format photoname.ext.xmp The XMP sidecar - exports the following tags: Description, - Title, Keywords/Tags, Subject (set to Keywords - + PersonInImage), PersonInImage, CreateDate, - ModifyDate, GPSLongitude, Face Regions - (Metadata Working Group and Microsoft Photo). - --sidecar json: create JSON sidecar useable by - exiftool (https://exiftool.org/) The sidecar - file can be used to apply metadata to the file - with exiftool, for example: "exiftool - -j=photoname.jpg.json photoname.jpg" The - sidecar file is named in format - photoname.ext.json; format includes tag groups - (equivalent to running 'exiftool -G -j'). - --sidecar exiftool: create JSON sidecar - compatible with output of 'exiftool -j'. - Unlike '--sidecar json', '--sidecar exiftool' - does not export tag groups. Sidecar filename - is in format photoname.ext.json; For a list of - tags exported in the JSON and exiftool - sidecar, see '--exiftool'. See also '--ignore- - signature'. - --sidecar-drop-ext Drop the photo's extension when naming sidecar - files. By default, sidecar files are named in - format 'photo_filename.photo_ext.sidecar_ext', - e.g. 'IMG_1234.JPG.xmp'. Use '--sidecar-drop- - ext' to ignore the photo extension. Resulting - sidecar files will have name in format - 'IMG_1234.xmp'. Warning: this may result in - sidecar filename collisions if there are files - of different types but the same name in the - output directory, e.g. 'IMG_1234.JPG' and - 'IMG_1234.MOV'. - --exiftool Use exiftool to write metadata directly to - exported photos. To use this option, exiftool - must be installed and in the path. exiftool - may be installed from https://exiftool.org/. - Cannot be used with --export-as-hardlink. - Writes the following metadata: - EXIF:ImageDescription, XMP:Description (see - also --description-template); XMP:Title; - XMP:TagsList, IPTC:Keywords, XMP:Subject (see - also --keyword-template, --person-keyword, - --album-keyword); XMP:PersonInImage; - EXIF:GPSLatitudeRef; EXIF:GPSLongitudeRef; - EXIF:GPSLatitude; EXIF:GPSLongitude; - EXIF:GPSPosition; EXIF:DateTimeOriginal; - EXIF:OffsetTimeOriginal; EXIF:ModifyDate (see - --ignore-date-modified); IPTC:DateCreated; - IPTC:TimeCreated; (video files only): - QuickTime:CreationDate; QuickTime:CreateDate; - QuickTime:ModifyDate (see also --ignore-date- - modified); QuickTime:GPSCoordinates; - UserData:GPSCoordinates. - --exiftool-path EXIFTOOL_PATH Optionally specify path to exiftool; if not - provided, will look for exiftool in $PATH. - --exiftool-option OPTION Optional flag/option to pass to exiftool when - using --exiftool. For example, --exiftool- - option '-m' to ignore minor warnings. Specify - these as you would on the exiftool command - line. See exiftool docs at - https://exiftool.org/exiftool_pod.html for - full list of options. More than one option may - be specified by repeating the option, e.g. - --exiftool-option '-m' --exiftool-option '-F'. - --exiftool-merge-keywords Merge any keywords found in the original file - with keywords used for '--exiftool' and '-- - sidecar'. - --exiftool-merge-persons Merge any persons found in the original file - with persons used for '--exiftool' and '-- - sidecar'. - --ignore-date-modified If used with --exiftool or --sidecar, will - ignore the photo modification date and set - EXIF:ModifyDate to EXIF:DateTimeOriginal; this - is consistent with how Photos handles the - EXIF:ModifyDate tag. - --person-keyword Use person in image as keyword/tag when - exporting metadata. - --album-keyword Use album name as keyword/tag when exporting - metadata. - --keyword-template TEMPLATE For use with --exiftool, --sidecar; specify a - template string to use as keyword in the form - '{name,DEFAULT}' This is the same format as - --directory. For example, if you wanted to - add the full path to the folder and album - photo is contained in as a keyword when - exporting you could specify --keyword-template - "{folder_album}" You may specify more than one - template, for example --keyword-template - "{folder_album}" --keyword-template - "{created.year}". See '--replace-keywords' and - Templating System below. - --replace-keywords Replace keywords with any values specified - with --keyword-template. By default, - --keyword-template will add keywords to any - keywords already associated with the photo. - If --replace-keywords is specified, values - from --keyword-template will replace any - existing keywords instead of adding additional - keywords. - --description-template TEMPLATE - For use with --exiftool, --sidecar; specify a - template string to use as description in the - form '{name,DEFAULT}' This is the same format - as --directory. For example, if you wanted to - append 'exported with osxphotos on [today's - date]' to the description, you could specify - --description-template "{descr} exported with - osxphotos on {today.date}" See Templating - System below. - --finder-tag-template TEMPLATE Set MacOS Finder tags to TEMPLATE. These tags - can be searched in the Finder or Spotlight - with 'tag:tagname' format. For example, '-- - finder-tag-template "{label}"' to set Finder - tags to photo labels. You may specify multiple - TEMPLATE values by using '--finder-tag- - template' multiple times. See also '--finder- - tag-keywords and Extended Attributes below.'. - --finder-tag-keywords Set MacOS Finder tags to keywords; any - keywords specified via '--keyword-template', ' - --person-keyword', etc. will also be used as - Finder tags. See also '--finder-tag-template - and Extended Attributes below.'. - --xattr-template ATTRIBUTE TEMPLATE - Set extended attribute ATTRIBUTE to TEMPLATE - value. Valid attributes are: 'authors', - 'comment', 'copyright', 'creator', - 'description', 'findercomment', 'headline', - 'keywords', 'participants', 'projects', - 'rating', 'subject', 'title', 'version'. For - example, to set Finder comment to the photo's - title and description: '--xattr-template - findercomment "{title}; {descr}" See Extended - Attributes below for additional details on - this option. - --directory DIRECTORY Optional template for specifying name of - output directory in the form '{name,DEFAULT}'. - See below for additional details on templating - system. - --filename FILENAME Optional template for specifying name of - output file in the form '{name,DEFAULT}'. File - extension will be added automatically--do not - include an extension in the FILENAME template. - See below for additional details on templating - system. - --jpeg-ext EXTENSION Specify file extension for JPEG files. Photos - uses .jpeg for edited images but many images - are imported with .jpg or .JPG which can - result in multiple different extensions used - for JPEG files upon export. Use --jpeg-ext to - specify a single extension to use for all - exported JPEG images. Valid values are jpeg, - jpg, JPEG, JPG; e.g. '--jpeg-ext jpg' to use - '.jpg' for all JPEGs. - --strip Optionally strip leading and trailing - whitespace from any rendered templates. For - example, if --filename template is "{title,} - {original_name}" and image has no title, - resulting file would have a leading space but - if used with --strip, this will be removed. - --edited-suffix SUFFIX Optional suffix template for naming edited - photos. Default name for edited photos is in - form 'photoname_edited.ext'. For example, with - '--edited-suffix _bearbeiten', the edited - photo would be named - 'photoname_bearbeiten.ext'. The default - suffix is '_edited'. Multi-value templates - (see Templating System) are not permitted with - --edited-suffix. - --original-suffix SUFFIX Optional suffix template for naming original - photos. Default name for original photos is - in form 'filename.ext'. For example, with '-- - original-suffix _original', the original photo - would be named 'filename_original.ext'. The - default suffix is '' (no suffix). Multi-value - templates (see Templating System) are not - permitted with --original-suffix. - --use-photos-export Force the use of AppleScript or PhotoKit to - export even if not missing (see also '-- - download-missing' and '--use-photokit'). - --use-photokit Use with '--download-missing' or '--use- - photos-export' to use direct Photos interface - instead of AppleScript to export. Highly - experimental alpha feature; does not work with - iTerm2 (use with Terminal.app). This is faster - and more reliable than the default AppleScript - interface. - --report - Write a CSV formatted report of all files that - were exported. - --cleanup Cleanup export directory by deleting any files - which were not included in this export set. - For example, photos which had previously been - exported and were subsequently deleted in - Photos. WARNING: --cleanup will delete *any* - files in the export directory that were not - exported by osxphotos, for example, your own - scripts or other files. Be sure this is what - you intend before using --cleanup. Use --dry- - run with --cleanup first if you're not - certain. - --add-exported-to-album ALBUM Add all exported photos to album ALBUM in - Photos. Album ALBUM will be created if it - doesn't exist. All exported photos will be - added to this album. This only works if the - Photos library being exported is the last- - opened (default) library in Photos. This - feature is currently experimental. I don't - know how well it will work on large export - sets. - --add-skipped-to-album ALBUM Add all skipped photos to album ALBUM in - Photos. Album ALBUM will be created if it - doesn't exist. All skipped photos will be - added to this album. This only works if the - Photos library being exported is the last- - opened (default) library in Photos. This - feature is currently experimental. I don't - know how well it will work on large export - sets. - --add-missing-to-album ALBUM Add all missing photos to album ALBUM in - Photos. Album ALBUM will be created if it - doesn't exist. All missing photos will be - added to this album. This only works if the - Photos library being exported is the last- - opened (default) library in Photos. This - feature is currently experimental. I don't - know how well it will work on large export - sets. - --post-command CATEGORY COMMAND - Run COMMAND on exported files of category - CATEGORY. CATEGORY can be one of: exported, - new, updated, skipped, missing, exif_updated, - touched, converted_to_jpeg, - sidecar_json_written, sidecar_json_skipped, - sidecar_exiftool_written, - sidecar_exiftool_skipped, sidecar_xmp_written, - sidecar_xmp_skipped, error. COMMAND is an - osxphotos template string, for example: '-- - post-command exported "echo - {filepath|shell_quote} >> - {export_dir}/exported.txt"', which appends the - full path of all exported files to the file - 'exported.txt'. You can run more than one - command by repeating the '--post-command' - option with different arguments. See Post - Command below. - --post-function filename.py::function - Run function on exported files. Use this in - format: --post-function filename.py::function - where filename.py is a python file you've - created and function is the name of the - function in the python file you want to call. - The function will be passed information about - the photo that's been exported and a list of - all exported files associated with the photo. - You can run more than one function by - repeating the '--post-function' option with - different arguments. See Post Function below. - --exportdb EXPORTDB_FILE Specify alternate path for database file which - stores state information for export and - --update. If --exportdb is not specified, - export database will be saved to - '.osxphotos_export.db' in the export - directory. If --exportdb is specified, it - will be saved to the specified file. - --ramdb Copy export database to memory during export; - may improve performance when exporting over a - network or slow disk but could result in - losing update state information if the program - is interrupted or crashes. - --load-config - Load options from file as written with --save- - config. This allows you to save a complex - export command to file for later reuse. For - example: 'osxphotos export --save-config osxphotos.toml' then - 'osxphotos export /path/to/export --load- - config osxphotos.toml'. If any other command - line options are used in conjunction with - --load-config, they will override the - corresponding values in the config file. - --save-config - Save options to file for use with --load- - config. File format is TOML. See also - --config-only. - --config-only If specified, saves the config file but does - not export any files; must be used with - --save-config. - --help Show this message and exit. - -** Export ** - -When exporting photos, osxphotos creates a database in the top-level export -folder called '.osxphotos_export.db'. This database preserves state information -used for determining which files need to be updated when run with --update. It -is recommended that if you later move the export folder tree you also move the -database file. - -The --update option will only copy new or updated files from the library to the -export folder. If a file is changed in the export folder (for example, you -edited the exported image), osxphotos will detect this as a difference and re- -export the original image from the library thus overwriting the changes. If -using --update, the exported library should be treated as a backup, not a -working copy where you intend to make changes. If you do edit or process the -exported files and do not want them to be overwritten withsubsequent --update, -use --ignore-signature which will match filename but not file signature when -exporting. - -Note: The number of files reported for export and the number actually exported -may differ due to live photos, associated raw images, and edited photos which -are reported in the total photos exported. - -Implementation note: To determine which files need to be updated, osxphotos -stores file signature information in the '.osxphotos_export.db' database. The -signature includes size, modification time, and filename. In order to minimize -run time, --update does not do a full comparison (diff) of the files nor does it -compare hashes of the files. In normal usage, this is sufficient for updating -the library. You can always run export without the --update option to re-export -the entire library thus rebuilding the '.osxphotos_export.db' database. - - -** Extended Attributes ** - -Some options (currently '--finder-tag-template', '--finder-tag-keywords', -'-xattr-template') write additional metadata to extended attributes in the file. -These options will only work if the destination filesystem supports extended -attributes (most do). For example, --finder-tag-keyword writes all keywords -(including any specified by '--keyword-template' or other options) to Finder -tags that are searchable in Spotlight using the syntax: 'tag:tagname'. For -example, if you have images with keyword "Travel" then using '--finder-tag- -keywords' you could quickly find those images in the Finder by typing -'tag:Travel' in the Spotlight search bar. Finder tags are written to the -'com.apple.metadata:_kMDItemUserTags' extended attribute. Unlike EXIF metadata, -extended attributes do not modify the actual file. Most cloud storage services -do not synch extended attributes. Dropbox does sync them and any changes to a -file's extended attributes will cause Dropbox to re-sync the files. - -The following attributes may be used with '--xattr-template': - - -authors The author, or authors, of the contents of the file. A list of - strings. (com.apple.metadata:kMDItemAuthors) -comment A comment related to the file. This differs from the Finder - comment, kMDItemFinderComment. A string. - (com.apple.metadata:kMDItemComment) -copyright The copyright owner of the file contents. A string. - (com.apple.metadata:kMDItemCopyright) -creator Application used to create the document content (for example - “Word”, “Pages”, and so on). A string. - (com.apple.metadata:kMDItemCreator) -description A description of the content of the resource. The description - may include an abstract, table of contents, reference to a - graphical representation of content or a free-text account of - the content. A string. (com.apple.metadata:kMDItemDescription) -findercomment Finder comments for this file. A string. - (com.apple.metadata:kMDItemFinderComment) -headline A publishable entry providing a synopsis of the contents of the - file. A string. (com.apple.metadata:kMDItemHeadline) -keywords Keywords associated with this file. For example, “Birthday”, - “Important”, etc. This differs from Finder tags - (_kMDItemUserTags) which are keywords/tags shown in the Finder - and searchable in Spotlight using "tag:tag_name". A list of - strings. (com.apple.metadata:kMDItemKeywords) -participants The list of people who are visible in an image or movie or - written about in a document. A list of strings. - (com.apple.metadata:kMDItemParticipants) -projects The list of projects that this file is part of. For example, if - you were working on a movie all of the files could be marked as - belonging to the project “My Movie”. A list of strings. - (com.apple.metadata:kMDItemProjects) -rating User rating of this item. For example, the stars rating of an - iTunes track. An integer. - (com.apple.metadata:kMDItemStarRating) -subject Subject of the this item. A string. - (com.apple.metadata:kMDItemSubject) -title The title of the file. For example, this could be the title of - a document, the name of a song, or the subject of an email - message. A string. (com.apple.metadata:kMDItemTitle) -version The version number of this file. A string. - (com.apple.metadata:kMDItemVersion) - -For additional information on extended attributes see: https://developer.apple.c -om/documentation/coreservices/file_metadata/mditem/common_metadata_attribute_key -s - - -** Templating System ** - -The templating system converts one or template statements, written in osxphotos -metadata templating language, to one or more rendered values using information -from the photo being processed. - -In its simplest form, a template statement has the form: "{template_field}", for -example "{title}" which would resolve to the title of the photo. - -Template statements may contain one or more modifiers. The full syntax is: - -"pretext{delim+template_field:subfield|filter(path_sep)[find,replace] -conditional?bool_value,default}posttext" - -Template statements are white-space sensitive meaning that white space (spaces, -tabs) changes the meaning of the template statement. - -pretext and posttext are free form text. For example, if a photo has title "My -Photo Title". the template statement "The title of the photo is {title}", -resolves to "The title of the photo is My Photo Title". The pretext in this -example is "The title if the photo is " and the template_field is {title}. - -delim: optional delimiter string to use when expanding multi-valued template -values in-place - -+: If present before template name, expands the template in place. If delim not -provided, values are joined with no delimiter. - -e.g. if Photo keywords are ["foo","bar"]: - - • "{keyword}" renders to "foo", "bar" - • "{,+keyword}" renders to: "foo,bar" - • "{; +keyword}" renders to: "foo; bar" - • "{+keyword}" renders to "foobar" - -template_field: The template field to resolve. See Template Substitutions for -full list of template fields. - -:subfield: Some templates have sub-fields, For example, {exiftool:IPTC:Make}; -the template_field is exiftool and the sub-field is IPTC:Make. - -|filter: You may optionally append one or more filter commands to the end of the -template field using the vertical pipe ('|') symbol. Filters may be combined, -separated by '|' as in: {keyword|capitalize|parens}. - -Valid filters are: - - • lower: Convert value to lower case, e.g. 'Value' => 'value'. - • upper: Convert value to upper case, e.g. 'Value' => 'VALUE'. - • strip: Strip whitespace from beginning/end of value, e.g. ' Value ' => - 'Value'. - • titlecase: Convert value to title case, e.g. 'my value' => 'My Value'. - • capitalize: Capitalize first word of value and convert other words to lower - case, e.g. 'MY VALUE' => 'My value'. - • braces: Enclose value in curly braces, e.g. 'value => '{value}'. - • parens: Enclose value in parentheses, e.g. 'value' => '(value') - • brackets: Enclose value in brackets, e.g. 'value' => '[value]' - • shell_quote: Quotes the value for safe usage in the shell, e.g. My file.jpeg - => 'My file.jpeg'; only adds quotes if needed. - • function: Run custom python function to filter value; use in format - 'function:/path/to/file.py::function_name'. See example at https://github.com - /RhetTbull/osxphotos/blob/master/examples/template_filter.py - -e.g. if Photo keywords are ["FOO","bar"]: - - • "{keyword|lower}" renders to "foo", "bar" - • "{keyword|upper}" renders to: "FOO", "BAR" - • "{keyword|capitalize}" renders to: "Foo", "Bar" - • "{keyword|lower|parens}" renders to: "(foo)", "(bar)" - -e.g. if Photo description is "my description": - - • "{descr|titlecase}" renders to: "My Description" - -(path_sep): optional path separator to use when joining path-like fields, for -example {folder_album}. Default is "/". - -e.g. If Photo is in Album1 in Folder1: - - • "{folder_album}" renders to ["Folder1/Album1"] - • "{folder_album(>)}" renders to ["Folder1>Album1"] - • "{folder_album()}" renders to ["Folder1Album1"] - -[find,replace]: optional text replacement to perform on rendered template value. -For example, to replace "/" in an album name, you could use the template -"{album[/,-]}". Multiple replacements can be made by appending "|" and adding -another find|replace pair. e.g. to replace both "/" and ":" in album name: -"{album[/,-|:,-]}". find/replace pairs are not limited to single characters. -The "|" character cannot be used in a find/replace pair. - -conditional: optional conditional expression that is evaluated as boolean -(True/False) for use with the ?bool_value modifier. Conditional expressions -take the form ' not operator value' where not is an optional modifier that -negates the operator. Note: the space before the conditional expression is -required if you use a conditional expression. Valid comparison operators are: - - • contains: template field contains value, similar to python's in - • matches: template field contains exactly value, unlike contains: does not - match partial matches - • startswith: template field starts with value - • endswith: template field ends with value - • <=: template field is less than or equal to value - • >=: template field is greater than or equal to value - • <: template field is less than value - • >: template field is greater than value - • ==: template field equals value - • !=: template field does not equal value - -The value part of the conditional expression is treated as a bare (unquoted) -word/phrase. Multiple values may be separated by '|' (the pipe symbol). value -is itself a template statement so you can use one or more template fields in -value which will be resolved before the comparison occurs. - -For example: - - • {keyword matches Beach} resolves to True if 'Beach' is a keyword. It would - not match keyword 'BeachDay'. - • {keyword contains Beach} resolves to True if any keyword contains the word - 'Beach' so it would match both 'Beach' and 'BeachDay'. - • {photo.score.overall > 0.7} resolves to True if the photo's overall aesthetic - score is greater than 0.7. - • {keyword|lower contains beach} uses the lower case filter to do - case-insensitive matching to match any keyword that contains the word - 'beach'. - • {keyword|lower not contains beach} uses the not modifier to negate the - comparison so this resolves to True if there is no keyword that matches - 'beach'. - -Examples: to export photos that contain certain keywords with the osxphotos -export command's --directory option: - ---directory "{keyword|lower matches -travel|vacation?Travel-Photos,Not-Travel-Photos}" - -This exports any photo that has keywords 'travel' or 'vacation' into a directory -'Travel-Photos' and all other photos into directory 'Not-Travel-Photos'. - -This can be used to rename files as well, for example: --filename -"{favorite?Favorite-{original_name},{original_name}}" - -This renames any photo that is a favorite as 'Favorite-ImageName.jpg' (where -'ImageName.jpg' is the original name of the photo) and all other photos with the -unmodified original name. - -?bool_value: Template fields may be evaluated as boolean (True/False) by -appending "?" after the field name (and following "(path_sep)" or -"[find/replace]". If a field is True (e.g. photo is HDR and field is "{hdr}") -or has any value, the value following the "?" will be used to render the -template instead of the actual field value. If the template field evaluates to -False (e.g. in above example, photo is not HDR) or has no value (e.g. photo has -no title and field is "{title}") then the default value following a "," will be -used. - -e.g. if photo is an HDR image, - - • "{hdr?ISHDR,NOTHDR}" renders to "ISHDR" - -and if it is not an HDR image, - - • "{hdr?ISHDR,NOTHDR}" renders to "NOTHDR" - -,default: optional default value to use if the template name has no value. This -modifier is also used for the value if False for boolean-type fields (see above) -as well as to hold a sub-template for values like {created.strftime}. If no -default value provided, "_" is used. - -e.g., if photo has no title set, - - • "{title}" renders to "_" - • "{title,I have no title}" renders to "I have no title" - -Template fields such as created.strftime use the default value to pass the -template to use for strftime. - -e.g., if photo date is 4 February 2020, 19:07:38, - - • "{created.strftime,%Y-%m-%d-%H%M%S}" renders to "2020-02-04-190738" - -Some template fields such as "{media_type}" use the default value to allow -customization of the output. For example, "{media_type}" resolves to the special -media type of the photo such as panorama or selfie. You may use the default -value to override these in form: -"{media_type,video=vidéo;time_lapse=vidéo_accélérée}". In this example, if photo -was a time_lapse photo, media_type would resolve to vidéo_accélérée instead of -time_lapse. - -Either or both bool_value or default (False value) may be empty which would -result in empty string "" when rendered. - -If you want to include "{" or "}" in the output, use "{openbrace}" or -"{closebrace}" template substitution. - -e.g. "{created.year}/{openbrace}{title}{closebrace}" would result in -"2020/{Photo Title}". - -With the --directory and --filename options you may specify a template for the -export directory or filename, respectively. The directory will be appended to -the export path specified in the export DEST argument to export. For example, -if template is '{created.year}/{created.month}', and export destination DEST is -'/Users/maria/Pictures/export', the actual export directory for a photo would be -'/Users/maria/Pictures/export/2020/March' if the photo was created in March -2020. - -The templating system may also be used with the --keyword-template option to set -keywords on export (with --exiftool or --sidecar), for example, to set a new -keyword in format 'folder/subfolder/album' to preserve the folder/album -structure, you can use --keyword-template "{folder_album}" or in the -'folder>subfolder>album' format used in Lightroom Classic, --keyword-template -"{folder_album(>)}". - -In the template, valid template substitutions will be replaced by the -corresponding value from the table below. Invalid substitutions will result in -a an error and the script will abort. - -** Template Substitutions ** - -Substitution Description -{name} Current filename of the photo -{original_name} Photo's original filename when imported to - Photos -{title} Title of the photo -{descr} Description of the photo -{media_type} Special media type resolved in this - precedence: selfie, time_lapse, panorama, - slow_mo, screenshot, portrait, live_photo, - burst, photo, video. Defaults to 'photo' or - 'video' if no special type. Customize one or - more media types using format: '{media_type,vi - deo=vidéo;time_lapse=vidéo_accélérée}' -{photo_or_video} 'photo' or 'video' depending on what type the - image is. To customize, use default value as - in '{photo_or_video,photo=fotos;video=videos}' -{hdr} Photo is HDR?; True/False value, use in format - '{hdr?VALUE_IF_TRUE,VALUE_IF_FALSE}' -{edited} True if photo has been edited (has - adjustments), otherwise False; use in format - '{edited?VALUE_IF_TRUE,VALUE_IF_FALSE}' -{edited_version} True if template is being rendered for the - edited version of a photo, otherwise False. -{favorite} Photo has been marked as favorite?; True/False - value, use in format - '{favorite?VALUE_IF_TRUE,VALUE_IF_FALSE}' -{created.date} Photo's creation date in ISO format, e.g. - '2020-03-22' -{created.year} 4-digit year of photo creation time -{created.yy} 2-digit year of photo creation time -{created.mm} 2-digit month of the photo creation time (zero - padded) -{created.month} Month name in user's locale of the photo - creation time -{created.mon} Month abbreviation in the user's locale of the - photo creation time -{created.dd} 2-digit day of the month (zero padded) of - photo creation time -{created.dow} Day of week in user's locale of the photo - creation time -{created.doy} 3-digit day of year (e.g Julian day) of photo - creation time, starting from 1 (zero padded) -{created.hour} 2-digit hour of the photo creation time -{created.min} 2-digit minute of the photo creation time -{created.sec} 2-digit second of the photo creation time -{created.strftime} Apply strftime template to file creation - date/time. Should be used in form - {created.strftime,TEMPLATE} where TEMPLATE is - a valid strftime template, e.g. - {created.strftime,%Y-%U} would result in year- - week number of year: '2020-23'. If used with - no template will return null value. See - https://strftime.org/ for help on strftime - templates. -{modified.date} Photo's modification date in ISO format, e.g. - '2020-03-22'; uses creation date if photo is - not modified -{modified.year} 4-digit year of photo modification time; uses - creation date if photo is not modified -{modified.yy} 2-digit year of photo modification time; uses - creation date if photo is not modified -{modified.mm} 2-digit month of the photo modification time - (zero padded); uses creation date if photo is - not modified -{modified.month} Month name in user's locale of the photo - modification time; uses creation date if photo - is not modified -{modified.mon} Month abbreviation in the user's locale of the - photo modification time; uses creation date if - photo is not modified -{modified.dd} 2-digit day of the month (zero padded) of the - photo modification time; uses creation date if - photo is not modified -{modified.dow} Day of week in user's locale of the photo - modification time; uses creation date if photo - is not modified -{modified.doy} 3-digit day of year (e.g Julian day) of photo - modification time, starting from 1 (zero - padded); uses creation date if photo is not - modified -{modified.hour} 2-digit hour of the photo modification time; - uses creation date if photo is not modified -{modified.min} 2-digit minute of the photo modification time; - uses creation date if photo is not modified -{modified.sec} 2-digit second of the photo modification time; - uses creation date if photo is not modified -{modified.strftime} Apply strftime template to file modification - date/time. Should be used in form - {modified.strftime,TEMPLATE} where TEMPLATE is - a valid strftime template, e.g. - {modified.strftime,%Y-%U} would result in - year-week number of year: '2020-23'. If used - with no template will return null value. Uses - creation date if photo is not modified. See - https://strftime.org/ for help on strftime - templates. -{today.date} Current date in iso format, e.g. '2020-03-22' -{today.year} 4-digit year of current date -{today.yy} 2-digit year of current date -{today.mm} 2-digit month of the current date (zero - padded) -{today.month} Month name in user's locale of the current - date -{today.mon} Month abbreviation in the user's locale of the - current date -{today.dd} 2-digit day of the month (zero padded) of - current date -{today.dow} Day of week in user's locale of the current - date -{today.doy} 3-digit day of year (e.g Julian day) of - current date, starting from 1 (zero padded) -{today.hour} 2-digit hour of the current date -{today.min} 2-digit minute of the current date -{today.sec} 2-digit second of the current date -{today.strftime} Apply strftime template to current date/time. - Should be used in form - {today.strftime,TEMPLATE} where TEMPLATE is a - valid strftime template, e.g. - {today.strftime,%Y-%U} would result in year- - week number of year: '2020-23'. If used with - no template will return null value. See - https://strftime.org/ for help on strftime - templates. -{place.name} Place name from the photo's reverse - geolocation data, as displayed in Photos -{place.country_code} The ISO country code from the photo's reverse - geolocation data -{place.name.country} Country name from the photo's reverse - geolocation data -{place.name.state_province} State or province name from the photo's - reverse geolocation data -{place.name.city} City or locality name from the photo's reverse - geolocation data -{place.name.area_of_interest} Area of interest name (e.g. landmark or public - place) from the photo's reverse geolocation - data -{place.address} Postal address from the photo's reverse - geolocation data, e.g. '2007 18th St NW, - Washington, DC 20009, United States' -{place.address.street} Street part of the postal address, e.g. '2007 - 18th St NW' -{place.address.city} City part of the postal address, e.g. - 'Washington' -{place.address.state_province} State/province part of the postal address, - e.g. 'DC' -{place.address.postal_code} Postal code part of the postal address, e.g. - '20009' -{place.address.country} Country name of the postal address, e.g. - 'United States' -{place.address.country_code} ISO country code of the postal address, e.g. - 'US' -{searchinfo.season} Season of the year associated with a photo, - e.g. 'Summer'; (Photos 5+ only, applied - automatically by Photos' image categorization - algorithms). -{exif.camera_make} Camera make from original photo's EXIF - information as imported by Photos, e.g. - 'Apple' -{exif.camera_model} Camera model from original photo's EXIF - information as imported by Photos, e.g. - 'iPhone 6s' -{exif.lens_model} Lens model from original photo's EXIF - information as imported by Photos, e.g. - 'iPhone 6s back camera 4.15mm f/2.2' -{uuid} Photo's internal universally unique identifier - (UUID) for the photo, a 36-character string - unique to the photo, e.g. - '128FB4C6-0B16-4E7D-9108-FB2E90DA1546' -{id} A unique number for the photo based on its - primary key in the Photos database. A - sequential integer, e.g. 1, 2, 3...etc. Each - asset associated with a photo (e.g. an image - and Live Photo preview) will share the same - id. May be formatted using a python string - format code. For example, to format as a - 5-digit integer and pad with zeros, use - '{id:05d}' which results in 00001, 00002, - 00003...etc. -{album_seq} An integer, starting at 0, indicating the - photo's index (sequence) in the containing - album. Only valid when used in a '--filename' - template and only when '{album}' or - '{folder_album}' is used in the '--directory' - template. For example '--directory - "{folder_album}" --filename - "{album_seq}_{original_name}"'. To start - counting at a value other than 0, append - append a period and the starting value to the - field name. For example, to start counting at - 1 instead of 0: '{album_seq.1}'. May be - formatted using a python string format code. - For example, to format as a 5-digit integer - and pad with zeros, use '{album_seq:05d}' - which results in 00000, 00001, 00002...etc. - This may result in incorrect sequences if you - have duplicate albums with the same name; see - also '{folder_album_seq}'. -{folder_album_seq} An integer, starting at 0, indicating the - photo's index (sequence) in the containing - album and folder path. Only valid when used in - a '--filename' template and only when - '{folder_album}' is used in the '--directory' - template. For example '--directory - "{folder_album}" --filename - "{folder_album_seq}_{original_name}"'. To - start counting at a value other than 0, append - append a period and the starting value to the - field name. For example, to start counting at - 1 instead of 0: '{folder_album_seq.1}' May be - formatted using a python string format code. - For example, to format as a 5-digit integer - and pad with zeros, use - '{folder_album_seq:05d}' which results in - 00000, 00001, 00002...etc. This may result in - incorrect sequences if you have duplicate - albums with the same name in the same folder; - see also '{album_seq}'. -{comma} A comma: ',' -{semicolon} A semicolon: ';' -{questionmark} A question mark: '?' -{pipe} A vertical pipe: '|' -{openbrace} An open brace: '{' -{closebrace} A close brace: '}' -{openparens} An open parentheses: '(' -{closeparens} A close parentheses: ')' -{openbracket} An open bracket: '[' -{closebracket} A close bracket: ']' -{newline} A newline: '\n' -{lf} A line feed: '\n', alias for {newline} -{cr} A carriage return: '\r' -{crlf} a carriage return + line feed: '\r\n' -{osxphotos_version} The osxphotos version, e.g. '0.46.6' -{osxphotos_cmd_line} The full command line used to run osxphotos - -The following substitutions may result in multiple values. Thus if specified for ---directory these could result in multiple copies of a photo being being -exported, one to each directory. For example: --directory -'{created.year}/{album}' could result in the same photo being exported to each -of the following directories if the photos were created in 2019 and were in -albums 'Vacation' and 'Family': 2019/Vacation, 2019/Family - -Substitution Description -{album} Album(s) photo is contained in -{folder_album} Folder path + album photo is contained in. e.g. - 'Folder/Subfolder/Album' or just 'Album' if no - enclosing folder -{project} Project(s) photo is contained in (such as greeting - cards, calendars, slideshows) -{album_project} Album(s) and project(s) photo is contained in; treats - projects as regular albums -{folder_album_project} Folder path + album (includes projects as albums) - photo is contained in. e.g. 'Folder/Subfolder/Album' - or just 'Album' if no enclosing folder -{keyword} Keyword(s) assigned to photo -{person} Person(s) / face(s) in a photo -{label} Image categorization label associated with a photo - (Photos 5+ only). Labels are added automatically by - Photos using machine learning algorithms to - categorize images. These are not the same as - {keyword} which refers to the user-defined - keywords/tags applied in Photos. -{label_normalized} All lower case version of 'label' (Photos 5+ only) -{comment} Comment(s) on shared Photos; format is 'Person name: - comment text' (Photos 5+ only) -{exiftool} Format: '{exiftool:GROUP:TAGNAME}'; use exiftool - (https://exiftool.org) to extract metadata, in form - GROUP:TAGNAME, from image. E.g. - '{exiftool:EXIF:Make}' to get camera make, or - {exiftool:IPTC:Keywords} to extract keywords. See - https://exiftool.org/TagNames/ for list of valid tag - names. You must specify group (e.g. EXIF, IPTC, etc) - as used in `exiftool -G`. exiftool must be installed - in the path to use this template. -{searchinfo.holiday} Holiday names associated with a photo, e.g. - 'Christmas Day'; (Photos 5+ only, applied - automatically by Photos' image categorization - algorithms). -{searchinfo.activity} Activities associated with a photo, e.g. 'Sporting - Event'; (Photos 5+ only, applied automatically by - Photos' image categorization algorithms). -{searchinfo.venue} Venues associated with a photo, e.g. name of - restaurant; (Photos 5+ only, applied automatically by - Photos' image categorization algorithms). -{searchinfo.venue_type} Venue types associated with a photo, e.g. - 'Restaurant'; (Photos 5+ only, applied automatically - by Photos' image categorization algorithms). -{photo} Provides direct access to the PhotoInfo object for - the photo. Must be used in format '{photo.property}' - where 'property' represents a PhotoInfo property. For - example: '{photo.favorite}' is the same as - '{favorite}' and '{photo.place.name}' is the same as - '{place.name}'. '{photo}' provides access to - properties that are not available as separate - template fields but it assumes some knowledge of the - underlying PhotoInfo class. See - https://rhettbull.github.io/osxphotos/ for additional - documentation on the PhotoInfo class. -{detected_text} List of text strings found in the image after - performing text detection. Using '{detected_text}' - will cause osxphotos to perform text detection on - your photos using the built-in macOS text detection - algorithms which will slow down your export. The - results for each photo will be cached in the export - database so that future exports with '--update' do - not need to reprocess each photo. You may pass a - confidence threshold value between 0.0 and 1.0 after - a colon as in '{detected_text:0.5}'; The default - confidence threshold is 0.75. '{detected_text}' works - only on macOS Catalina (10.15) or later. Note: this - feature is not the same thing as Live Text in macOS - Monterey, which osxphotos does not yet support. -{shell_quote} Use in form '{shell_quote,TEMPLATE}'; quotes the - rendered TEMPLATE value(s) for safe usage in the - shell, e.g. My file.jpeg => 'My file.jpeg'; only adds - quotes if needed. -{strip} Use in form '{strip,TEMPLATE}'; strips whitespace - from begining and end of rendered TEMPLATE value(s). -{function} Execute a python function from an external file and - use return value as template substitution. Use in - format: {function:file.py::function_name} where - 'file.py' is the name of the python file and - 'function_name' is the name of the function to call. - The function will be passed the PhotoInfo object for - the photo. See https://github.com/RhetTbull/osxphotos - /blob/master/examples/template_function.py for an - example of how to implement a template function. - -The following substitutions are file or directory paths. You can access various -parts of the path using the following modifiers: - -{path.parent}: the parent directory -{path.name}: the name of the file or final sub-directory -{path.stem}: the name of the file without the extension -{path.suffix}: the suffix of the file including the leading '.' - -For example, if the field {export_dir} is '/Shared/Backup/Photos': -{export_dir.parent} is '/Shared/Backup' - -If the field {filepath} is '/Shared/Backup/Photos/IMG_1234.JPG': -{filepath.parent} is '/Shared/Backup/Photos' -{filepath.name} is 'IMG_1234.JPG' -{filepath.stem} is 'IMG_1234' -{filepath.suffix} is '.JPG' - -Substitution Description -{export_dir} The full path to the export directory -{filepath} The full path to the exported file - - -** Post Command ** -You can run commands on the exported photos for post-processing using the '-- -post-command' option. '--post-command' is passed a CATEGORY and a COMMAND. -COMMAND is an osxphotos template string which will be rendered and passed to the -shell for execution. CATEGORY is the category of file to pass to COMMAND. The -following categories are available: - -Category Description -exported All exported files -new When used with '--update', all newly exported files -updated When used with '--update', all files which were - previously exported but updated this time -skipped When used with '--update', all files which were - skipped (because they were previously exported and - didn't change) -missing All files which were not exported because they were - missing from the Photos library -exif_updated When used with '--exiftool', all files on which - exiftool updated the metadata -touched When used with '--touch-file', all files where the - date was touched -converted_to_jpeg When used with '--convert-to-jpeg', all files which - were converted to jpeg -sidecar_json_written When used with '--sidecar json', all JSON sidecar - files which were written -sidecar_json_skipped When used with '--sidecar json' and '--update', all - JSON sidecar files which were skipped -sidecar_exiftool_written When used with '--sidecar exiftool', all exiftool - sidecar files which were written -sidecar_exiftool_skipped When used with '--sidecar exiftool' and '--update, - all exiftool sidecar files which were skipped -sidecar_xmp_written When used with '--sidecar xmp', all XMP sidecar - files which were written -sidecar_xmp_skipped When used with '--sidecar xmp' and '--update', all - XMP sidecar files which were skipped -error All files which produced an error during export - -In addition to all normal template fields, the template fields '{filepath}' and -'{export_dir}' will be available to your command template. Both of these are -path-type templates which means their various parts can be accessed using the -available properties, e.g. '{filepath.name}' provides just the file name without -path and '{filepath.suffix}' is the file extension (suffix) of the file. When -using paths in your command template, it is important to properly quote the -paths as they will be passed to the shell and path names may contain spaces. -Both the '{shell_quote}' template and the '|shell_quote' template filter are -available for this purpose. For example, the following command outputs the full -path of newly exported files to file 'new.txt': - ---post-command new "echo {filepath|shell_quote} >> {shell_quote,{export_dir}/exported.txt}" - -In the above command, the 'shell_quote' filter is used to ensure '{filepath}' is -properly quoted and the '{shell_quote}' template ensures the constructed path of -'{exported_dir}/exported.txt' is properly quoted. If '{filepath}' is 'IMG -1234.jpeg' and '{export_dir}' is '/Volumes/Photo Export', the command thus -renders to: - -echo 'IMG 1234.jpeg' >> '/Volumes/Photo Export/exported.txt' - -It is highly recommended that you run osxphotos with '--dry-run --verbose' first -to ensure your commands are as expected. This will not actually run the commands -but will print out the exact command string which would be executed. - - -** Post Function ** -You can run your own python functions on the exported photos for post-processing -using the '--post-function' option. '--post-function' is passed the name a -python file and the name of the function in the file to call using format -'filename.py::function_name'. See the example function at -https://github.com/RhetTbull/osxphotos/blob/master/examples/post_function.py You -may specify multiple functions to run by repeating the --post-function option. -All post functions will be called immediately after export of each photo and -immediately before any --post-command commands. Post functions will not be -called if the --dry-run flag is set. - - ``` @@ -3645,7 +2291,7 @@ The following template field substitutions are availabe for use the templating s |{lf}|A line feed: '\n', alias for {newline}| |{cr}|A carriage return: '\r'| |{crlf}|a carriage return + line feed: '\r\n'| -|{osxphotos_version}|The osxphotos version, e.g. '0.46.6'| +|{osxphotos_version}|The osxphotos version, e.g. '0.47.0'| |{osxphotos_cmd_line}|The full command line used to run osxphotos| |{album}|Album(s) photo is contained in| |{folder_album}|Folder path + album photo is contained in. e.g. 'Folder/Subfolder/Album' or just 'Album' if no enclosing folder| diff --git a/docs/.buildinfo b/docs/.buildinfo index 2d1044f2..e856e021 100644 --- a/docs/.buildinfo +++ b/docs/.buildinfo @@ -1,4 +1,4 @@ # Sphinx build info version 1 # This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done. -config: e2d3552a863fb9f9607fd8327fe2075b +config: bb9ba387e732b6d2040728546fd3e66c tags: 645f666f9bcd5a90fca523b33c5a78b7 diff --git a/docs/_modules/index.html b/docs/_modules/index.html index 3dbe0e0a..3bf76a1a 100644 --- a/docs/_modules/index.html +++ b/docs/_modules/index.html @@ -5,7 +5,7 @@ - Overview: module code — osxphotos 0.46.6 documentation + Overview: module code — osxphotos 0.47.0 documentation diff --git a/docs/_static/documentation_options.js b/docs/_static/documentation_options.js index 9a2b7997..1d959619 100644 --- a/docs/_static/documentation_options.js +++ b/docs/_static/documentation_options.js @@ -1,6 +1,6 @@ var DOCUMENTATION_OPTIONS = { URL_ROOT: document.getElementById("documentation_options").getAttribute('data-url_root'), - VERSION: '0.46.6', + VERSION: '0.47.0', LANGUAGE: 'None', COLLAPSE_INDEX: false, BUILDER: 'html', diff --git a/docs/cli.html b/docs/cli.html index fa690519..15207026 100644 --- a/docs/cli.html +++ b/docs/cli.html @@ -6,7 +6,7 @@ - osxphotos command line interface (CLI) — osxphotos 0.46.6 documentation + osxphotos command line interface (CLI) — osxphotos 0.47.0 documentation @@ -35,2205 +35,6 @@

osxphotos command line interface (CLI)

-
-

osxphotos

-
osxphotos [OPTIONS] COMMAND [ARGS]...
-
-
-

Options

-
-
---db <Photos database path>
-

Specify Photos database path. Path to Photos library/database can be specified using either –db or directly as PHOTOS_LIBRARY positional argument. If neither –db or PHOTOS_LIBRARY provided, will attempt to find the library to use in the following order: 1. last opened library, 2. system library, 3. ~/Pictures/Photos Library.photoslibrary

-
- -
-
---json
-

Print output in JSON format.

-
- -
-
--v, --version
-

Show the version and exit.

-
- -
-

about

-

Print information about osxphotos including license.

-
osxphotos about [OPTIONS]
-
-
-
-
-

albums

-

Print out albums found in the Photos library.

-
osxphotos albums [OPTIONS] [PHOTOS_LIBRARY]...
-
-
-

Options

-
-
---db <Photos database path>
-

Specify Photos database path. Path to Photos library/database can be specified using either –db or directly as PHOTOS_LIBRARY positional argument. If neither –db or PHOTOS_LIBRARY provided, will attempt to find the library to use in the following order: 1. last opened library, 2. system library, 3. ~/Pictures/Photos Library.photoslibrary

-
- -
-
---json
-

Print output in JSON format.

-
- -

Arguments

-
-
-PHOTOS_LIBRARY
-

Optional argument(s)

-
- -
-
-

diff

-

Compare two Photos databases and print out differences

-

To use the diff command, you’ll need to install sqldiff via homebrew:

-
-
    -
  • Install homebrew (https://brew.sh/) if not already installed

  • -
  • Install sqldiff: brew install sqldiff

  • -
-
-

When run with no arguments, compares the current Photos library to the -most recent snapshot in the the OSXPHOTOS_SNAPSHOT directory.

-

If run with the –db option, compares the library specified by –db to the -most recent snapshot in the the OSXPHOTOS_SNAPSHOT directory.

-

If run with just the DB2 argument, compares the current Photos library to -the database specified by the DB2 argument.

-

If run with both the –db option and the DB2 argument, compares the -library specified by –db to the database specified by DB2

-

See also osxphotos snap

-

If the OSXPHOTOS_SNAPSHOT environment variable is not set, will use -‘/private/tmp/osxphotos_snapshots’

-

Works only on Photos library versions since Catalina (10.15) or newer.

-
osxphotos diff [OPTIONS] [DB2]...
-
-
-

Options

-
-
---db <Photos database path>
-

Specify Photos database path. Path to Photos library/database can be specified using either –db or directly as PHOTOS_LIBRARY positional argument. If neither –db or PHOTOS_LIBRARY provided, will attempt to find the library to use in the following order: 1. last opened library, 2. system library, 3. ~/Pictures/Photos Library.photoslibrary

-
- -
-
--r, --raw-output
-

Print raw output (don’t use syntax highlighting).

-
- -
-
--s, --style <STYLE>
-

Specify style/theme for syntax highlighting. Theme may be any valid pygments style (https://pygments.org/styles/). Default is ‘monokai’.

-
- -
-
--V, --verbose
-

Print verbose output.

-
- -

Arguments

-
-
-DB2
-

Optional argument(s)

-
- -
-
-

dump

-

Print list of all photos & associated info from the Photos library.

-
osxphotos dump [OPTIONS] [PHOTOS_LIBRARY]...
-
-
-

Options

-
-
---db <Photos database path>
-

Specify Photos database path. Path to Photos library/database can be specified using either –db or directly as PHOTOS_LIBRARY positional argument. If neither –db or PHOTOS_LIBRARY provided, will attempt to find the library to use in the following order: 1. last opened library, 2. system library, 3. ~/Pictures/Photos Library.photoslibrary

-
- -
-
---json
-

Print output in JSON format.

-
- -
-
---deleted
-

Include photos from the ‘Recently Deleted’ folder.

-
- -
-
---deleted-only
-

Include only photos from the ‘Recently Deleted’ folder.

-
- -

Arguments

-
-
-PHOTOS_LIBRARY
-

Optional argument(s)

-
- -
-
-

export

-

Export photos from the Photos database. -Export path DEST is required. -Optionally, query the Photos database using 1 or more search options; -if more than one option is provided, they are treated as “AND” -(e.g. search for photos matching all options). -If no query options are provided, all photos will be exported. -By default, all versions of all photos will be exported including edited -versions, live photo movies, burst photos, and associated raw images. -See –skip-edited, –skip-live, –skip-bursts, and –skip-raw options -to modify this behavior.

-
osxphotos export [OPTIONS] [PHOTOS_LIBRARY]... DEST
-
-
-

Options

-
-
---db <Photos database path>
-

Specify Photos database path. Path to Photos library/database can be specified using either –db or directly as PHOTOS_LIBRARY positional argument. If neither –db or PHOTOS_LIBRARY provided, will attempt to find the library to use in the following order: 1. last opened library, 2. system library, 3. ~/Pictures/Photos Library.photoslibrary

-
- -
-
--V, --verbose
-

Print verbose output.

-
- -
-
---timestamp
-

Add time stamp to verbose output

-
- -
-
---keyword <KEYWORD>
-

Search for photos with keyword KEYWORD. If more than one keyword, treated as “OR”, e.g. find photos matching any keyword

-
- -
-
---person <PERSON>
-

Search for photos with person PERSON. If more than one person, treated as “OR”, e.g. find photos matching any person

-
- -
-
---album <ALBUM>
-

Search for photos in album ALBUM. If more than one album, treated as “OR”, e.g. find photos matching any album

-
- -
-
---folder <FOLDER>
-

Search for photos in an album in folder FOLDER. If more than one folder, treated as “OR”, e.g. find photos in any FOLDER. Only searches top level folders (e.g. does not look at subfolders)

-
- -
-
---name <FILENAME>
-

Search for photos with filename matching FILENAME. If more than one –name options is specified, they are treated as “OR”, e.g. find photos matching any FILENAME.

-
- -
-
---uuid <UUID>
-

Search for photos with UUID(s). May be repeated to include multiple UUIDs.

-
- -
-
---uuid-from-file <FILE>
-

Search for photos with UUID(s) loaded from FILE. Format is a single UUID per line. Lines preceded with # are ignored.

-
- -
-
---title <TITLE>
-

Search for TITLE in title of photo.

-
- -
-
---no-title
-

Search for photos with no title.

-
- -
-
---description <DESC>
-

Search for DESC in description of photo.

-
- -
-
---no-description
-

Search for photos with no description.

-
- -
-
---place <PLACE>
-

Search for PLACE in photo’s reverse geolocation info

-
- -
-
---no-place
-

Search for photos with no associated place name info (no reverse geolocation info)

-
- -
-
---location
-

Search for photos with associated location info (e.g. GPS coordinates)

-
- -
-
---no-location
-

Search for photos with no associated location info (e.g. no GPS coordinates)

-
- -
-
---label <LABEL>
-

Search for photos with image classification label LABEL (Photos 5 only). If more than one label, treated as “OR”, e.g. find photos matching any label

-
- -
-
---uti <UTI>
-

Search for photos whose uniform type identifier (UTI) matches UTI

-
- -
-
--i, --ignore-case
-

Case insensitive search for title, description, place, keyword, person, or album.

-
- -
-
---edited
-

Search for photos that have been edited.

-
- -
-
---external-edit
-

Search for photos edited in external editor.

-
- -
-
---favorite
-

Search for photos marked favorite.

-
- -
-
---not-favorite
-

Search for photos not marked favorite.

-
- -
-
---hidden
-

Search for photos marked hidden.

-
- -
-
---not-hidden
-

Search for photos not marked hidden.

-
- -
-
---shared
-

Search for photos in shared iCloud album (Photos 5 only).

-
- -
-
---not-shared
-

Search for photos not in shared iCloud album (Photos 5 only).

-
- -
-
---burst
-

Search for photos that were taken in a burst.

-
- -
-
---not-burst
-

Search for photos that are not part of a burst.

-
- -
-
---live
-

Search for Apple live photos

-
- -
-
---not-live
-

Search for photos that are not Apple live photos.

-
- -
-
---portrait
-

Search for Apple portrait mode photos.

-
- -
-
---not-portrait
-

Search for photos that are not Apple portrait mode photos.

-
- -
-
---screenshot
-

Search for screenshot photos.

-
- -
-
---not-screenshot
-

Search for photos that are not screenshot photos.

-
- -
-
---slow-mo
-

Search for slow motion videos.

-
- -
-
---not-slow-mo
-

Search for photos that are not slow motion videos.

-
- -
-
---time-lapse
-

Search for time lapse videos.

-
- -
-
---not-time-lapse
-

Search for photos that are not time lapse videos.

-
- -
-
---hdr
-

Search for high dynamic range (HDR) photos.

-
- -
-
---not-hdr
-

Search for photos that are not HDR photos.

-
- -
-
---selfie
-

Search for selfies (photos taken with front-facing cameras).

-
- -
-
---not-selfie
-

Search for photos that are not selfies.

-
- -
-
---panorama
-

Search for panorama photos.

-
- -
-
---not-panorama
-

Search for photos that are not panoramas.

-
- -
-
---has-raw
-

Search for photos with both a jpeg and raw version

-
- -
-
---only-movies
-

Search only for movies (default searches both images and movies).

-
- -
-
---only-photos
-

Search only for photos/images (default searches both images and movies).

-
- -
-
---from-date <from_date>
-

Search by item start date, e.g. 2000-01-12T12:00:00, 2001-01-12T12:00:00-07:00, or 2000-12-31 (ISO 8601 with/without timezone).

-
- -
-
---to-date <to_date>
-

Search by item end date, e.g. 2000-01-12T12:00:00, 2001-01-12T12:00:00-07:00, or 2000-12-31 (ISO 8601 with/without timezone).

-
- -
-
---from-time <from_time>
-

Search by item start time of day, e.g. 12:00, or 12:00:00.

-
- -
-
---to-time <to_time>
-

Search by item end time of day, e.g. 12:00 or 12:00:00.

-
- -
-
---has-comment
-

Search for photos that have comments.

-
- -
-
---no-comment
-

Search for photos with no comments.

-
- -
-
---has-likes
-

Search for photos that have likes.

-
- -
-
---no-likes
-

Search for photos with no likes.

-
- -
-
---is-reference
-

Search for photos that were imported as referenced files (not copied into Photos library).

-
- -
-
---in-album
-

Search for photos that are in one or more albums.

-
- -
-
---not-in-album
-

Search for photos that are not in any albums.

-
- -
-
---duplicate
-

Search for photos with possible duplicates. osxphotos will compare signatures of photos, evaluating date created, size, height, width, and edited status to find possible duplicates. This does not compare images byte-for-byte nor compare hashes but should find photos imported multiple times or duplicated within Photos.

-
- -
-
---min-size <SIZE>
-

Search for photos with size >= SIZE bytes. The size evaluated is the photo’s original size (when imported to Photos). Size may be specified as integer bytes or using SI or NIST units. For example, the following are all valid and equivalent sizes: ‘1048576’ ‘1.048576MB’, ‘1 MiB’.

-
- -
-
---max-size <SIZE>
-

Search for photos with size <= SIZE bytes. The size evaluated is the photo’s original size (when imported to Photos). Size may be specified as integer bytes or using SI or NIST units. For example, the following are all valid and equivalent sizes: ‘1048576’ ‘1.048576MB’, ‘1 MiB’.

-
- -
-
---regex <REGEX TEMPLATE>
-

Search for photos where TEMPLATE matches regular expression REGEX. For example, to find photos in an album that begins with ‘Beach’: ‘–regex “^Beach” “{album}”’. You may specify more than one regular expression match by repeating ‘–regex’ with different arguments.

-
- -
-
---selected
-

Filter for photos that are currently selected in Photos.

-
- -
-
---exif <EXIF_TAG VALUE>
-

Search for photos where EXIF_TAG exists in photo’s EXIF data and contains VALUE. For example, to find photos created by Adobe Photoshop: –exif Software ‘Adobe Photoshop’ `or to find all photos shot on a Canon camera: `–exif Make Canon. EXIF_TAG can be any valid exiftool tag, with or without group name, e.g. EXIF:Make or Make. To use –exif, exiftool must be installed and in the path.

-
- -
-
---query-eval <CRITERIA>
-

Evaluate CRITERIA to filter photos. CRITERIA will be evaluated in context of the following python list comprehension: photos = [photo for photo in photos if CRITERIA] where photo represents a PhotoInfo object. For example: –query-eval photo.favorite returns all photos that have been favorited and is equivalent to –favorite. You may specify more than one CRITERIA by using –query-eval multiple times. CRITERIA must be a valid python expression. See https://rhettbull.github.io/osxphotos/ for additional documentation on the PhotoInfo class.

-
- -
-
---query-function <filename.py::function>
-

Run function to filter photos. Use this in format: –query-function filename.py::function where filename.py is a python file you’ve created and function is the name of the function in the python file you want to call. Your function will be passed a list of PhotoInfo objects and is expected to return a filtered list of PhotoInfo objects. You may use more than one function by repeating the –query-function option with a different value. Your query function will be called after all other query options have been evaluated. See https://github.com/RhetTbull/osxphotos/blob/master/examples/query_function.py for example of how to use this option.

-
- -
-
---missing
-

Export only photos missing from the Photos library; must be used with –download-missing.

-
- -
-
---deleted
-

Include photos from the ‘Recently Deleted’ folder.

-
- -
-
---deleted-only
-

Include only photos from the ‘Recently Deleted’ folder.

-
- -
-
---update
-

Only export new or updated files. See also –force-update and notes below on export and –update.

-
- -
-
---force-update
-

Only export new or updated files. Unlike –update, –force-update will re-export photos if their metadata has changed even if this would not otherwise trigger an export. See also –update and notes below on export and –update.

-
- -
-
---ignore-signature
-

When used with ‘–update’, ignores file signature when updating files. This is useful if you have processed or edited exported photos changing the file signature (size & modification date). In this case, ‘–update’ would normally re-export the processed files but with ‘–ignore-signature’, files which exist in the export directory will not be re-exported. If used with ‘–sidecar’, ‘–ignore-signature’ has the following behavior: 1) if the metadata (in Photos) that went into the sidecar did not change, the sidecar will not be updated; 2) if the metadata (in Photos) that went into the sidecar did change, a new sidecar is written but a new image file is not; 3) if a sidecar does not exist for the photo, a sidecar will be written whether or not the photo file was written or updated.

-
- -
-
---only-new
-

If used with –update, ignores any previously exported files, even if missing from the export folder and only exports new files that haven’t previously been exported.

-
- -
-
---dry-run
-

Dry run (test) the export but don’t actually export any files; most useful with –verbose.

-
- -
- -

Hardlink files instead of copying them. Cannot be used with –exiftool which creates copies of the files with embedded EXIF data. Note: on APFS volumes, files are cloned when exporting giving many of the same advantages as hardlinks without having to use –export-as-hardlink.

-
- -
-
---touch-file
-

Sets the file’s modification time to match photo date.

-
- -
-
---overwrite
-

Overwrite existing files. Default behavior is to add (1), (2), etc to filename if file already exists. Use this with caution as it may create name collisions on export. (e.g. if two files happen to have the same name)

-
- -
-
---retry <RETRY>
-

Automatically retry export up to RETRY times if an error occurs during export. This may be useful with network drives that experience intermittent errors.

-
- -
-
---export-by-date
-

Automatically create output folders to organize photos by date created (e.g. DEST/2019/12/20/photoname.jpg).

-
- -
-
---skip-edited
-

Do not export edited version of photo if an edited version exists.

-
- -
-
---skip-original-if-edited
-

Do not export original if there is an edited version (exports only the edited version).

-
- -
-
---skip-bursts
-

Do not export all associated burst images in the library if a photo is a burst photo.

-
- -
-
---skip-live
-

Do not export the associated live video component of a live photo.

-
- -
-
---skip-raw
-

Do not export associated RAW image of a RAW+JPEG pair. Note: this does not skip RAW photos if the RAW photo does not have an associated JPEG image (e.g. the RAW file was imported to Photos without a JPEG preview).

-
- -
-
---skip-uuid <UUID>
-

Skip photos with UUID(s) during export. May be repeated to include multiple UUIDs.

-
- -
-
---skip-uuid-from-file <FILE>
-

Skip photos with UUID(s) loaded from FILE. Format is a single UUID per line. Lines preceded with # are ignored.

-
- -
-
---current-name
-

Use photo’s current filename instead of original filename for export. Note: Starting with Photos 5, all photos are renamed upon import. By default, photos are exported with the the original name they had before import.

-
- -
-
---convert-to-jpeg
-

Convert all non-JPEG images (e.g. RAW, HEIC, PNG, etc) to JPEG upon export. Note: does not convert the RAW component of a RAW+JPEG pair as the associated JPEG image will be exported. You can use –skip-raw to skip exporting the associated RAW image of a RAW+JPEG pair. See also –jpeg-quality and –jpeg-ext. Only works if your Mac has a GPU (thus may not work on virtual machines).

-
- -
-
---jpeg-quality <jpeg_quality>
-

Value in range 0.0 to 1.0 to use with –convert-to-jpeg. A value of 1.0 specifies best quality, a value of 0.0 specifies maximum compression. Defaults to 1.0

-
- -
-
---preview
-

Export preview image generated by Photos. This is a lower-resolution image used by Photos to quickly preview the image. See also –preview-suffix and –preview-if-missing.

-
- -
-
---preview-if-missing
-

Export preview image generated by Photos if the actual photo file is missing from the library. This may be helpful if photos were not copied to the Photos library and the original photo is missing. See also –preview-suffix and –preview.

-
- -
-
---preview-suffix <SUFFIX>
-

Optional suffix template for naming preview photos. Default name for preview photos is in form ‘photoname_preview.ext’. For example, with ‘–preview-suffix _low_res’, the preview photo would be named ‘photoname_low_res.ext’. The default suffix is ‘_preview’. Multi-value templates (see Templating System) are not permitted with –preview-suffix. See also –preview and –preview-if-missing.

-
- -
-
---download-missing
-

Attempt to download missing photos from iCloud. The current implementation uses Applescript to interact with Photos to export the photo which will force Photos to download from iCloud if the photo does not exist on disk. This will be slow and will require internet connection. This obviously only works if the Photos library is synched to iCloud. Note: –download-missing does not currently export all burst images; only the primary photo will be exported–associated burst images will be skipped.

-
- -
-
---sidecar <FORMAT>
-

Create sidecar for each photo exported; valid FORMAT values: xmp, json, exiftool; –sidecar xmp: create XMP sidecar used by Digikam, Adobe Lightroom, etc. The sidecar file is named in format photoname.ext.xmp The XMP sidecar exports the following tags: Description, Title, Keywords/Tags, Subject (set to Keywords + PersonInImage), PersonInImage, CreateDate, ModifyDate, GPSLongitude, Face Regions (Metadata Working Group and Microsoft Photo). -–sidecar json: create JSON sidecar useable by exiftool (https://exiftool.org/) The sidecar file can be used to apply metadata to the file with exiftool, for example: “exiftool -j=photoname.jpg.json photoname.jpg” The sidecar file is named in format photoname.ext.json; format includes tag groups (equivalent to running ‘exiftool -G -j’). -–sidecar exiftool: create JSON sidecar compatible with output of ‘exiftool -j’. Unlike ‘–sidecar json’, ‘–sidecar exiftool’ does not export tag groups. Sidecar filename is in format photoname.ext.json; For a list of tags exported in the JSON and exiftool sidecar, see ‘–exiftool’. See also ‘–ignore-signature’.

-
-
Options
-

xmp | json | exiftool

-
-
-
- -
-
---sidecar-drop-ext
-

Drop the photo’s extension when naming sidecar files. By default, sidecar files are named in format ‘photo_filename.photo_ext.sidecar_ext’, e.g. ‘IMG_1234.JPG.xmp’. Use ‘–sidecar-drop-ext’ to ignore the photo extension. Resulting sidecar files will have name in format ‘IMG_1234.xmp’. Warning: this may result in sidecar filename collisions if there are files of different types but the same name in the output directory, e.g. ‘IMG_1234.JPG’ and ‘IMG_1234.MOV’.

-
- -
-
---exiftool
-

Use exiftool to write metadata directly to exported photos. To use this option, exiftool must be installed and in the path. exiftool may be installed from https://exiftool.org/. Cannot be used with –export-as-hardlink. Writes the following metadata: EXIF:ImageDescription, XMP:Description (see also –description-template); XMP:Title; XMP:TagsList, IPTC:Keywords, XMP:Subject (see also –keyword-template, –person-keyword, –album-keyword); XMP:PersonInImage; EXIF:GPSLatitudeRef; EXIF:GPSLongitudeRef; EXIF:GPSLatitude; EXIF:GPSLongitude; EXIF:GPSPosition; EXIF:DateTimeOriginal; EXIF:OffsetTimeOriginal; EXIF:ModifyDate (see –ignore-date-modified); IPTC:DateCreated; IPTC:TimeCreated; (video files only): QuickTime:CreationDate; QuickTime:CreateDate; QuickTime:ModifyDate (see also –ignore-date-modified); QuickTime:GPSCoordinates; UserData:GPSCoordinates.

-
- -
-
---exiftool-path <EXIFTOOL_PATH>
-

Optionally specify path to exiftool; if not provided, will look for exiftool in $PATH.

-
- -
-
---exiftool-option <OPTION>
-

Optional flag/option to pass to exiftool when using –exiftool. For example, –exiftool-option ‘-m’ to ignore minor warnings. Specify these as you would on the exiftool command line. See exiftool docs at https://exiftool.org/exiftool_pod.html for full list of options. More than one option may be specified by repeating the option, e.g. –exiftool-option ‘-m’ –exiftool-option ‘-F’.

-
- -
-
---exiftool-merge-keywords
-

Merge any keywords found in the original file with keywords used for ‘–exiftool’ and ‘–sidecar’.

-
- -
-
---exiftool-merge-persons
-

Merge any persons found in the original file with persons used for ‘–exiftool’ and ‘–sidecar’.

-
- -
-
---ignore-date-modified
-

If used with –exiftool or –sidecar, will ignore the photo modification date and set EXIF:ModifyDate to EXIF:DateTimeOriginal; this is consistent with how Photos handles the EXIF:ModifyDate tag.

-
- -
-
---person-keyword
-

Use person in image as keyword/tag when exporting metadata.

-
- -
-
---album-keyword
-

Use album name as keyword/tag when exporting metadata.

-
- -
-
---keyword-template <TEMPLATE>
-

For use with –exiftool, –sidecar; specify a template string to use as keyword in the form ‘{name,DEFAULT}’ This is the same format as –directory. For example, if you wanted to add the full path to the folder and album photo is contained in as a keyword when exporting you could specify –keyword-template “{folder_album}” You may specify more than one template, for example –keyword-template “{folder_album}” –keyword-template “{created.year}”. See ‘–replace-keywords’ and Templating System below.

-
- -
-
---replace-keywords
-

Replace keywords with any values specified with –keyword-template. By default, –keyword-template will add keywords to any keywords already associated with the photo. If –replace-keywords is specified, values from –keyword-template will replace any existing keywords instead of adding additional keywords.

-
- -
-
---description-template <TEMPLATE>
-

For use with –exiftool, –sidecar; specify a template string to use as description in the form ‘{name,DEFAULT}’ This is the same format as –directory. For example, if you wanted to append ‘exported with osxphotos on [today’s date]’ to the description, you could specify –description-template “{descr} exported with osxphotos on {today.date}” See Templating System below.

-
- -
-
---finder-tag-template <TEMPLATE>
-

Set MacOS Finder tags to TEMPLATE. These tags can be searched in the Finder or Spotlight with ‘tag:tagname’ format. For example, ‘–finder-tag-template “{label}”’ to set Finder tags to photo labels. You may specify multiple TEMPLATE values by using ‘–finder-tag-template’ multiple times. See also ‘–finder-tag-keywords and Extended Attributes below.’.

-
- -
-
---finder-tag-keywords
-

Set MacOS Finder tags to keywords; any keywords specified via ‘–keyword-template’, ‘–person-keyword’, etc. will also be used as Finder tags. See also ‘–finder-tag-template and Extended Attributes below.’.

-
- -
-
---xattr-template <ATTRIBUTE TEMPLATE>
-

Set extended attribute ATTRIBUTE to TEMPLATE value. Valid attributes are: ‘authors’, ‘comment’, ‘copyright’, ‘creator’, ‘description’, ‘findercomment’, ‘headline’, ‘keywords’, ‘participants’, ‘projects’, ‘rating’, ‘subject’, ‘title’, ‘version’. For example, to set Finder comment to the photo’s title and description: ‘–xattr-template findercomment “{title}; {descr}” See Extended Attributes below for additional details on this option.

-
- -
-
---directory <DIRECTORY>
-

Optional template for specifying name of output directory in the form ‘{name,DEFAULT}’. See below for additional details on templating system.

-
- -
-
---filename <FILENAME>
-

Optional template for specifying name of output file in the form ‘{name,DEFAULT}’. File extension will be added automatically–do not include an extension in the FILENAME template. See below for additional details on templating system.

-
- -
-
---jpeg-ext <EXTENSION>
-

Specify file extension for JPEG files. Photos uses .jpeg for edited images but many images are imported with .jpg or .JPG which can result in multiple different extensions used for JPEG files upon export. Use –jpeg-ext to specify a single extension to use for all exported JPEG images. Valid values are jpeg, jpg, JPEG, JPG; e.g. ‘–jpeg-ext jpg’ to use ‘.jpg’ for all JPEGs.

-
-
Options
-

jpeg | jpg | JPEG | JPG

-
-
-
- -
-
---strip
-

Optionally strip leading and trailing whitespace from any rendered templates. For example, if –filename template is “{title,} {original_name}” and image has no title, resulting file would have a leading space but if used with –strip, this will be removed.

-
- -
-
---edited-suffix <SUFFIX>
-

Optional suffix template for naming edited photos. Default name for edited photos is in form ‘photoname_edited.ext’. For example, with ‘–edited-suffix _bearbeiten’, the edited photo would be named ‘photoname_bearbeiten.ext’. The default suffix is ‘_edited’. Multi-value templates (see Templating System) are not permitted with –edited-suffix.

-
- -
-
---original-suffix <SUFFIX>
-

Optional suffix template for naming original photos. Default name for original photos is in form ‘filename.ext’. For example, with ‘–original-suffix _original’, the original photo would be named ‘filename_original.ext’. The default suffix is ‘’ (no suffix). Multi-value templates (see Templating System) are not permitted with –original-suffix.

-
- -
-
---use-photos-export
-

Force the use of AppleScript or PhotoKit to export even if not missing (see also ‘–download-missing’ and ‘–use-photokit’).

-
- -
-
---use-photokit
-

Use with ‘–download-missing’ or ‘–use-photos-export’ to use direct Photos interface instead of AppleScript to export. Highly experimental alpha feature; does not work with iTerm2 (use with Terminal.app). This is faster and more reliable than the default AppleScript interface.

-
- -
-
---report <path to export report>
-

Write a CSV formatted report of all files that were exported.

-
- -
-
---cleanup
-

Cleanup export directory by deleting any files which were not included in this export set. For example, photos which had previously been exported and were subsequently deleted in Photos. WARNING: –cleanup will delete any files in the export directory that were not exported by osxphotos, for example, your own scripts or other files. Be sure this is what you intend before using –cleanup. Use –dry-run with –cleanup first if you’re not certain.

-
- -
-
---add-exported-to-album <ALBUM>
-

Add all exported photos to album ALBUM in Photos. Album ALBUM will be created if it doesn’t exist. All exported photos will be added to this album. This only works if the Photos library being exported is the last-opened (default) library in Photos. This feature is currently experimental. I don’t know how well it will work on large export sets.

-
- -
-
---add-skipped-to-album <ALBUM>
-

Add all skipped photos to album ALBUM in Photos. Album ALBUM will be created if it doesn’t exist. All skipped photos will be added to this album. This only works if the Photos library being exported is the last-opened (default) library in Photos. This feature is currently experimental. I don’t know how well it will work on large export sets.

-
- -
-
---add-missing-to-album <ALBUM>
-

Add all missing photos to album ALBUM in Photos. Album ALBUM will be created if it doesn’t exist. All missing photos will be added to this album. This only works if the Photos library being exported is the last-opened (default) library in Photos. This feature is currently experimental. I don’t know how well it will work on large export sets.

-
- -
-
---post-command <CATEGORY COMMAND>
-

Run COMMAND on exported files of category CATEGORY. CATEGORY can be one of: exported, new, updated, skipped, missing, exif_updated, touched, converted_to_jpeg, sidecar_json_written, sidecar_json_skipped, sidecar_exiftool_written, sidecar_exiftool_skipped, sidecar_xmp_written, sidecar_xmp_skipped, error. COMMAND is an osxphotos template string, for example: ‘–post-command exported “echo {filepath|shell_quote} >> {export_dir}/exported.txt”’, which appends the full path of all exported files to the file ‘exported.txt’. You can run more than one command by repeating the ‘–post-command’ option with different arguments. See Post Command below.

-
- -
-
---post-function <filename.py::function>
-

Run function on exported files. Use this in format: –post-function filename.py::function where filename.py is a python file you’ve created and function is the name of the function in the python file you want to call. The function will be passed information about the photo that’s been exported and a list of all exported files associated with the photo. You can run more than one function by repeating the ‘–post-function’ option with different arguments. See Post Function below.

-
- -
-
---exportdb <EXPORTDB_FILE>
-

Specify alternate path for database file which stores state information for export and –update. If –exportdb is not specified, export database will be saved to ‘.osxphotos_export.db’ in the export directory. If –exportdb is specified, it will be saved to the specified file.

-
- -
-
---ramdb
-

Copy export database to memory during export; may improve performance when exporting over a network or slow disk but could result in losing update state information if the program is interrupted or crashes.

-
- -
-
---load-config <config file path>
-

Load options from file as written with –save-config. This allows you to save a complex export command to file for later reuse. For example: ‘osxphotos export <lots of options here> –save-config osxphotos.toml’ then ‘osxphotos export /path/to/export –load-config osxphotos.toml’. If any other command line options are used in conjunction with –load-config, they will override the corresponding values in the config file.

-
- -
-
---save-config <config file path>
-

Save options to file for use with –load-config. File format is TOML. See also –config-only.

-
- -
-
---config-only
-

If specified, saves the config file but does not export any files; must be used with –save-config.

-
- -

Arguments

-
-
-PHOTOS_LIBRARY
-

Optional argument(s)

-
- -
-
-DEST
-

Required argument

-
- -
-
-

help

-

Print help; for help on commands: help <command>.

-
osxphotos help [OPTIONS] [TOPIC]
-
-
-

Arguments

-
-
-TOPIC
-

Optional argument

-
- -
-
-

info

-

Print out descriptive info of the Photos library database.

-
osxphotos info [OPTIONS] [PHOTOS_LIBRARY]...
-
-
-

Options

-
-
---db <Photos database path>
-

Specify Photos database path. Path to Photos library/database can be specified using either –db or directly as PHOTOS_LIBRARY positional argument. If neither –db or PHOTOS_LIBRARY provided, will attempt to find the library to use in the following order: 1. last opened library, 2. system library, 3. ~/Pictures/Photos Library.photoslibrary

-
- -
-
---json
-

Print output in JSON format.

-
- -

Arguments

-
-
-PHOTOS_LIBRARY
-

Optional argument(s)

-
- -
-
-

install

-

Install Python packages into the same environment as osxphotos

-
osxphotos install [OPTIONS] PACKAGES...
-
-
-

Options

-
-
--U, --upgrade
-

Upgrade packages to latest version

-
- -

Arguments

-
-
-PACKAGES
-

Required argument(s)

-
- -
-
-

keywords

-

Print out keywords found in the Photos library.

-
osxphotos keywords [OPTIONS] [PHOTOS_LIBRARY]...
-
-
-

Options

-
-
---db <Photos database path>
-

Specify Photos database path. Path to Photos library/database can be specified using either –db or directly as PHOTOS_LIBRARY positional argument. If neither –db or PHOTOS_LIBRARY provided, will attempt to find the library to use in the following order: 1. last opened library, 2. system library, 3. ~/Pictures/Photos Library.photoslibrary

-
- -
-
---json
-

Print output in JSON format.

-
- -

Arguments

-
-
-PHOTOS_LIBRARY
-

Optional argument(s)

-
- -
-
-

labels

-

Print out image classification labels found in the Photos library.

-
osxphotos labels [OPTIONS] [PHOTOS_LIBRARY]...
-
-
-

Options

-
-
---db <Photos database path>
-

Specify Photos database path. Path to Photos library/database can be specified using either –db or directly as PHOTOS_LIBRARY positional argument. If neither –db or PHOTOS_LIBRARY provided, will attempt to find the library to use in the following order: 1. last opened library, 2. system library, 3. ~/Pictures/Photos Library.photoslibrary

-
- -
-
---json
-

Print output in JSON format.

-
- -

Arguments

-
-
-PHOTOS_LIBRARY
-

Optional argument(s)

-
- -
-
-

list

-

Print list of Photos libraries found on the system.

-
osxphotos list [OPTIONS]
-
-
-

Options

-
-
---json
-

Print output in JSON format.

-
- -
-
-

persons

-

Print out persons (faces) found in the Photos library.

-
osxphotos persons [OPTIONS] [PHOTOS_LIBRARY]...
-
-
-

Options

-
-
---db <Photos database path>
-

Specify Photos database path. Path to Photos library/database can be specified using either –db or directly as PHOTOS_LIBRARY positional argument. If neither –db or PHOTOS_LIBRARY provided, will attempt to find the library to use in the following order: 1. last opened library, 2. system library, 3. ~/Pictures/Photos Library.photoslibrary

-
- -
-
---json
-

Print output in JSON format.

-
- -

Arguments

-
-
-PHOTOS_LIBRARY
-

Optional argument(s)

-
- -
-
-

places

-

Print out places found in the Photos library.

-
osxphotos places [OPTIONS] [PHOTOS_LIBRARY]...
-
-
-

Options

-
-
---db <Photos database path>
-

Specify Photos database path. Path to Photos library/database can be specified using either –db or directly as PHOTOS_LIBRARY positional argument. If neither –db or PHOTOS_LIBRARY provided, will attempt to find the library to use in the following order: 1. last opened library, 2. system library, 3. ~/Pictures/Photos Library.photoslibrary

-
- -
-
---json
-

Print output in JSON format.

-
- -

Arguments

-
-
-PHOTOS_LIBRARY
-

Optional argument(s)

-
- -
-
-

query

-

Query the Photos database using 1 or more search options; -if more than one option is provided, they are treated as “AND” -(e.g. search for photos matching all options).

-
osxphotos query [OPTIONS] [PHOTOS_LIBRARY]...
-
-
-

Options

-
-
---db <Photos database path>
-

Specify Photos database path. Path to Photos library/database can be specified using either –db or directly as PHOTOS_LIBRARY positional argument. If neither –db or PHOTOS_LIBRARY provided, will attempt to find the library to use in the following order: 1. last opened library, 2. system library, 3. ~/Pictures/Photos Library.photoslibrary

-
- -
-
---json
-

Print output in JSON format.

-
- -
-
---keyword <KEYWORD>
-

Search for photos with keyword KEYWORD. If more than one keyword, treated as “OR”, e.g. find photos matching any keyword

-
- -
-
---person <PERSON>
-

Search for photos with person PERSON. If more than one person, treated as “OR”, e.g. find photos matching any person

-
- -
-
---album <ALBUM>
-

Search for photos in album ALBUM. If more than one album, treated as “OR”, e.g. find photos matching any album

-
- -
-
---folder <FOLDER>
-

Search for photos in an album in folder FOLDER. If more than one folder, treated as “OR”, e.g. find photos in any FOLDER. Only searches top level folders (e.g. does not look at subfolders)

-
- -
-
---name <FILENAME>
-

Search for photos with filename matching FILENAME. If more than one –name options is specified, they are treated as “OR”, e.g. find photos matching any FILENAME.

-
- -
-
---uuid <UUID>
-

Search for photos with UUID(s). May be repeated to include multiple UUIDs.

-
- -
-
---uuid-from-file <FILE>
-

Search for photos with UUID(s) loaded from FILE. Format is a single UUID per line. Lines preceded with # are ignored.

-
- -
-
---title <TITLE>
-

Search for TITLE in title of photo.

-
- -
-
---no-title
-

Search for photos with no title.

-
- -
-
---description <DESC>
-

Search for DESC in description of photo.

-
- -
-
---no-description
-

Search for photos with no description.

-
- -
-
---place <PLACE>
-

Search for PLACE in photo’s reverse geolocation info

-
- -
-
---no-place
-

Search for photos with no associated place name info (no reverse geolocation info)

-
- -
-
---location
-

Search for photos with associated location info (e.g. GPS coordinates)

-
- -
-
---no-location
-

Search for photos with no associated location info (e.g. no GPS coordinates)

-
- -
-
---label <LABEL>
-

Search for photos with image classification label LABEL (Photos 5 only). If more than one label, treated as “OR”, e.g. find photos matching any label

-
- -
-
---uti <UTI>
-

Search for photos whose uniform type identifier (UTI) matches UTI

-
- -
-
--i, --ignore-case
-

Case insensitive search for title, description, place, keyword, person, or album.

-
- -
-
---edited
-

Search for photos that have been edited.

-
- -
-
---external-edit
-

Search for photos edited in external editor.

-
- -
-
---favorite
-

Search for photos marked favorite.

-
- -
-
---not-favorite
-

Search for photos not marked favorite.

-
- -
-
---hidden
-

Search for photos marked hidden.

-
- -
-
---not-hidden
-

Search for photos not marked hidden.

-
- -
-
---shared
-

Search for photos in shared iCloud album (Photos 5 only).

-
- -
-
---not-shared
-

Search for photos not in shared iCloud album (Photos 5 only).

-
- -
-
---burst
-

Search for photos that were taken in a burst.

-
- -
-
---not-burst
-

Search for photos that are not part of a burst.

-
- -
-
---live
-

Search for Apple live photos

-
- -
-
---not-live
-

Search for photos that are not Apple live photos.

-
- -
-
---portrait
-

Search for Apple portrait mode photos.

-
- -
-
---not-portrait
-

Search for photos that are not Apple portrait mode photos.

-
- -
-
---screenshot
-

Search for screenshot photos.

-
- -
-
---not-screenshot
-

Search for photos that are not screenshot photos.

-
- -
-
---slow-mo
-

Search for slow motion videos.

-
- -
-
---not-slow-mo
-

Search for photos that are not slow motion videos.

-
- -
-
---time-lapse
-

Search for time lapse videos.

-
- -
-
---not-time-lapse
-

Search for photos that are not time lapse videos.

-
- -
-
---hdr
-

Search for high dynamic range (HDR) photos.

-
- -
-
---not-hdr
-

Search for photos that are not HDR photos.

-
- -
-
---selfie
-

Search for selfies (photos taken with front-facing cameras).

-
- -
-
---not-selfie
-

Search for photos that are not selfies.

-
- -
-
---panorama
-

Search for panorama photos.

-
- -
-
---not-panorama
-

Search for photos that are not panoramas.

-
- -
-
---has-raw
-

Search for photos with both a jpeg and raw version

-
- -
-
---only-movies
-

Search only for movies (default searches both images and movies).

-
- -
-
---only-photos
-

Search only for photos/images (default searches both images and movies).

-
- -
-
---from-date <from_date>
-

Search by item start date, e.g. 2000-01-12T12:00:00, 2001-01-12T12:00:00-07:00, or 2000-12-31 (ISO 8601 with/without timezone).

-
- -
-
---to-date <to_date>
-

Search by item end date, e.g. 2000-01-12T12:00:00, 2001-01-12T12:00:00-07:00, or 2000-12-31 (ISO 8601 with/without timezone).

-
- -
-
---from-time <from_time>
-

Search by item start time of day, e.g. 12:00, or 12:00:00.

-
- -
-
---to-time <to_time>
-

Search by item end time of day, e.g. 12:00 or 12:00:00.

-
- -
-
---has-comment
-

Search for photos that have comments.

-
- -
-
---no-comment
-

Search for photos with no comments.

-
- -
-
---has-likes
-

Search for photos that have likes.

-
- -
-
---no-likes
-

Search for photos with no likes.

-
- -
-
---is-reference
-

Search for photos that were imported as referenced files (not copied into Photos library).

-
- -
-
---in-album
-

Search for photos that are in one or more albums.

-
- -
-
---not-in-album
-

Search for photos that are not in any albums.

-
- -
-
---duplicate
-

Search for photos with possible duplicates. osxphotos will compare signatures of photos, evaluating date created, size, height, width, and edited status to find possible duplicates. This does not compare images byte-for-byte nor compare hashes but should find photos imported multiple times or duplicated within Photos.

-
- -
-
---min-size <SIZE>
-

Search for photos with size >= SIZE bytes. The size evaluated is the photo’s original size (when imported to Photos). Size may be specified as integer bytes or using SI or NIST units. For example, the following are all valid and equivalent sizes: ‘1048576’ ‘1.048576MB’, ‘1 MiB’.

-
- -
-
---max-size <SIZE>
-

Search for photos with size <= SIZE bytes. The size evaluated is the photo’s original size (when imported to Photos). Size may be specified as integer bytes or using SI or NIST units. For example, the following are all valid and equivalent sizes: ‘1048576’ ‘1.048576MB’, ‘1 MiB’.

-
- -
-
---regex <REGEX TEMPLATE>
-

Search for photos where TEMPLATE matches regular expression REGEX. For example, to find photos in an album that begins with ‘Beach’: ‘–regex “^Beach” “{album}”’. You may specify more than one regular expression match by repeating ‘–regex’ with different arguments.

-
- -
-
---selected
-

Filter for photos that are currently selected in Photos.

-
- -
-
---exif <EXIF_TAG VALUE>
-

Search for photos where EXIF_TAG exists in photo’s EXIF data and contains VALUE. For example, to find photos created by Adobe Photoshop: –exif Software ‘Adobe Photoshop’ `or to find all photos shot on a Canon camera: `–exif Make Canon. EXIF_TAG can be any valid exiftool tag, with or without group name, e.g. EXIF:Make or Make. To use –exif, exiftool must be installed and in the path.

-
- -
-
---query-eval <CRITERIA>
-

Evaluate CRITERIA to filter photos. CRITERIA will be evaluated in context of the following python list comprehension: photos = [photo for photo in photos if CRITERIA] where photo represents a PhotoInfo object. For example: –query-eval photo.favorite returns all photos that have been favorited and is equivalent to –favorite. You may specify more than one CRITERIA by using –query-eval multiple times. CRITERIA must be a valid python expression. See https://rhettbull.github.io/osxphotos/ for additional documentation on the PhotoInfo class.

-
- -
-
---query-function <filename.py::function>
-

Run function to filter photos. Use this in format: –query-function filename.py::function where filename.py is a python file you’ve created and function is the name of the function in the python file you want to call. Your function will be passed a list of PhotoInfo objects and is expected to return a filtered list of PhotoInfo objects. You may use more than one function by repeating the –query-function option with a different value. Your query function will be called after all other query options have been evaluated. See https://github.com/RhetTbull/osxphotos/blob/master/examples/query_function.py for example of how to use this option.

-
- -
-
---deleted
-

Include photos from the ‘Recently Deleted’ folder.

-
- -
-
---deleted-only
-

Include only photos from the ‘Recently Deleted’ folder.

-
- -
-
---missing
-

Search for photos missing from disk.

-
- -
-
---not-missing
-

Search for photos present on disk (e.g. not missing).

-
- -
-
---cloudasset
-

Search for photos that are part of an iCloud library

-
- -
-
---not-cloudasset
-

Search for photos that are not part of an iCloud library

-
- -
-
---incloud
-

Search for photos that are in iCloud (have been synched)

-
- -
-
---not-incloud
-

Search for photos that are not in iCloud (have not been synched)

-
- -
-
---add-to-album <ALBUM>
-

Add all photos from query to album ALBUM in Photos. Album ALBUM will be created if it doesn’t exist. All photos in the query results will be added to this album. This only works if the Photos library being queried is the last-opened (default) library in Photos. This feature is currently experimental. I don’t know how well it will work on large query sets.

-
- -

Arguments

-
-
-PHOTOS_LIBRARY
-

Optional argument(s)

-
- -
-
-

repl

-

Run interactive osxphotos REPL shell (useful for debugging, prototyping, and inspecting your Photos library)

-
osxphotos repl [OPTIONS]
-
-
-

Options

-
-
---db <Photos database path>
-

Specify Photos database path. Path to Photos library/database can be specified using either –db or directly as PHOTOS_LIBRARY positional argument. If neither –db or PHOTOS_LIBRARY provided, will attempt to find the library to use in the following order: 1. last opened library, 2. system library, 3. ~/Pictures/Photos Library.photoslibrary

-
- -
-
---emacs
-

Launch REPL with Emacs keybindings (default is vi bindings)

-
- -
-
---keyword <KEYWORD>
-

Search for photos with keyword KEYWORD. If more than one keyword, treated as “OR”, e.g. find photos matching any keyword

-
- -
-
---person <PERSON>
-

Search for photos with person PERSON. If more than one person, treated as “OR”, e.g. find photos matching any person

-
- -
-
---album <ALBUM>
-

Search for photos in album ALBUM. If more than one album, treated as “OR”, e.g. find photos matching any album

-
- -
-
---folder <FOLDER>
-

Search for photos in an album in folder FOLDER. If more than one folder, treated as “OR”, e.g. find photos in any FOLDER. Only searches top level folders (e.g. does not look at subfolders)

-
- -
-
---name <FILENAME>
-

Search for photos with filename matching FILENAME. If more than one –name options is specified, they are treated as “OR”, e.g. find photos matching any FILENAME.

-
- -
-
---uuid <UUID>
-

Search for photos with UUID(s). May be repeated to include multiple UUIDs.

-
- -
-
---uuid-from-file <FILE>
-

Search for photos with UUID(s) loaded from FILE. Format is a single UUID per line. Lines preceded with # are ignored.

-
- -
-
---title <TITLE>
-

Search for TITLE in title of photo.

-
- -
-
---no-title
-

Search for photos with no title.

-
- -
-
---description <DESC>
-

Search for DESC in description of photo.

-
- -
-
---no-description
-

Search for photos with no description.

-
- -
-
---place <PLACE>
-

Search for PLACE in photo’s reverse geolocation info

-
- -
-
---no-place
-

Search for photos with no associated place name info (no reverse geolocation info)

-
- -
-
---location
-

Search for photos with associated location info (e.g. GPS coordinates)

-
- -
-
---no-location
-

Search for photos with no associated location info (e.g. no GPS coordinates)

-
- -
-
---label <LABEL>
-

Search for photos with image classification label LABEL (Photos 5 only). If more than one label, treated as “OR”, e.g. find photos matching any label

-
- -
-
---uti <UTI>
-

Search for photos whose uniform type identifier (UTI) matches UTI

-
- -
-
--i, --ignore-case
-

Case insensitive search for title, description, place, keyword, person, or album.

-
- -
-
---edited
-

Search for photos that have been edited.

-
- -
-
---external-edit
-

Search for photos edited in external editor.

-
- -
-
---favorite
-

Search for photos marked favorite.

-
- -
-
---not-favorite
-

Search for photos not marked favorite.

-
- -
-
---hidden
-

Search for photos marked hidden.

-
- -
-
---not-hidden
-

Search for photos not marked hidden.

-
- -
-
---shared
-

Search for photos in shared iCloud album (Photos 5 only).

-
- -
-
---not-shared
-

Search for photos not in shared iCloud album (Photos 5 only).

-
- -
-
---burst
-

Search for photos that were taken in a burst.

-
- -
-
---not-burst
-

Search for photos that are not part of a burst.

-
- -
-
---live
-

Search for Apple live photos

-
- -
-
---not-live
-

Search for photos that are not Apple live photos.

-
- -
-
---portrait
-

Search for Apple portrait mode photos.

-
- -
-
---not-portrait
-

Search for photos that are not Apple portrait mode photos.

-
- -
-
---screenshot
-

Search for screenshot photos.

-
- -
-
---not-screenshot
-

Search for photos that are not screenshot photos.

-
- -
-
---slow-mo
-

Search for slow motion videos.

-
- -
-
---not-slow-mo
-

Search for photos that are not slow motion videos.

-
- -
-
---time-lapse
-

Search for time lapse videos.

-
- -
-
---not-time-lapse
-

Search for photos that are not time lapse videos.

-
- -
-
---hdr
-

Search for high dynamic range (HDR) photos.

-
- -
-
---not-hdr
-

Search for photos that are not HDR photos.

-
- -
-
---selfie
-

Search for selfies (photos taken with front-facing cameras).

-
- -
-
---not-selfie
-

Search for photos that are not selfies.

-
- -
-
---panorama
-

Search for panorama photos.

-
- -
-
---not-panorama
-

Search for photos that are not panoramas.

-
- -
-
---has-raw
-

Search for photos with both a jpeg and raw version

-
- -
-
---only-movies
-

Search only for movies (default searches both images and movies).

-
- -
-
---only-photos
-

Search only for photos/images (default searches both images and movies).

-
- -
-
---from-date <from_date>
-

Search by item start date, e.g. 2000-01-12T12:00:00, 2001-01-12T12:00:00-07:00, or 2000-12-31 (ISO 8601 with/without timezone).

-
- -
-
---to-date <to_date>
-

Search by item end date, e.g. 2000-01-12T12:00:00, 2001-01-12T12:00:00-07:00, or 2000-12-31 (ISO 8601 with/without timezone).

-
- -
-
---from-time <from_time>
-

Search by item start time of day, e.g. 12:00, or 12:00:00.

-
- -
-
---to-time <to_time>
-

Search by item end time of day, e.g. 12:00 or 12:00:00.

-
- -
-
---has-comment
-

Search for photos that have comments.

-
- -
-
---no-comment
-

Search for photos with no comments.

-
- -
-
---has-likes
-

Search for photos that have likes.

-
- -
-
---no-likes
-

Search for photos with no likes.

-
- -
-
---is-reference
-

Search for photos that were imported as referenced files (not copied into Photos library).

-
- -
-
---in-album
-

Search for photos that are in one or more albums.

-
- -
-
---not-in-album
-

Search for photos that are not in any albums.

-
- -
-
---duplicate
-

Search for photos with possible duplicates. osxphotos will compare signatures of photos, evaluating date created, size, height, width, and edited status to find possible duplicates. This does not compare images byte-for-byte nor compare hashes but should find photos imported multiple times or duplicated within Photos.

-
- -
-
---min-size <SIZE>
-

Search for photos with size >= SIZE bytes. The size evaluated is the photo’s original size (when imported to Photos). Size may be specified as integer bytes or using SI or NIST units. For example, the following are all valid and equivalent sizes: ‘1048576’ ‘1.048576MB’, ‘1 MiB’.

-
- -
-
---max-size <SIZE>
-

Search for photos with size <= SIZE bytes. The size evaluated is the photo’s original size (when imported to Photos). Size may be specified as integer bytes or using SI or NIST units. For example, the following are all valid and equivalent sizes: ‘1048576’ ‘1.048576MB’, ‘1 MiB’.

-
- -
-
---regex <REGEX TEMPLATE>
-

Search for photos where TEMPLATE matches regular expression REGEX. For example, to find photos in an album that begins with ‘Beach’: ‘–regex “^Beach” “{album}”’. You may specify more than one regular expression match by repeating ‘–regex’ with different arguments.

-
- -
-
---selected
-

Filter for photos that are currently selected in Photos.

-
- -
-
---exif <EXIF_TAG VALUE>
-

Search for photos where EXIF_TAG exists in photo’s EXIF data and contains VALUE. For example, to find photos created by Adobe Photoshop: –exif Software ‘Adobe Photoshop’ `or to find all photos shot on a Canon camera: `–exif Make Canon. EXIF_TAG can be any valid exiftool tag, with or without group name, e.g. EXIF:Make or Make. To use –exif, exiftool must be installed and in the path.

-
- -
-
---query-eval <CRITERIA>
-

Evaluate CRITERIA to filter photos. CRITERIA will be evaluated in context of the following python list comprehension: photos = [photo for photo in photos if CRITERIA] where photo represents a PhotoInfo object. For example: –query-eval photo.favorite returns all photos that have been favorited and is equivalent to –favorite. You may specify more than one CRITERIA by using –query-eval multiple times. CRITERIA must be a valid python expression. See https://rhettbull.github.io/osxphotos/ for additional documentation on the PhotoInfo class.

-
- -
-
---query-function <filename.py::function>
-

Run function to filter photos. Use this in format: –query-function filename.py::function where filename.py is a python file you’ve created and function is the name of the function in the python file you want to call. Your function will be passed a list of PhotoInfo objects and is expected to return a filtered list of PhotoInfo objects. You may use more than one function by repeating the –query-function option with a different value. Your query function will be called after all other query options have been evaluated. See https://github.com/RhetTbull/osxphotos/blob/master/examples/query_function.py for example of how to use this option.

-
- -
-
---deleted
-

Include photos from the ‘Recently Deleted’ folder.

-
- -
-
---deleted-only
-

Include only photos from the ‘Recently Deleted’ folder.

-
- -
-
---missing
-

Search for photos missing from disk.

-
- -
-
---not-missing
-

Search for photos present on disk (e.g. not missing).

-
- -
-
---cloudasset
-

Search for photos that are part of an iCloud library

-
- -
-
---not-cloudasset
-

Search for photos that are not part of an iCloud library

-
- -
-
---incloud
-

Search for photos that are in iCloud (have been synched)

-
- -
-
---not-incloud
-

Search for photos that are not in iCloud (have not been synched)

-
- -
-
-

run

-

Run a python file using same environment as osxphotos

-
osxphotos run [OPTIONS] PYTHON_FILE
-
-
-

Arguments

-
-
-PYTHON_FILE
-

Required argument

-
- -
-
-

snap

-

Create snapshot of Photos database to use with diff command

-

Snapshots only the database files, not the entire library. If OSXPHOTOS_SNAPSHOT -environment variable is defined, will use that as snapshot directory, otherwise -uses ‘/private/tmp/osxphotos_snapshots’

-

Works only on Photos library versions since Catalina (10.15) or newer.

-
osxphotos snap [OPTIONS]
-
-
-

Options

-
-
---db <Photos database path>
-

Specify Photos database path. Path to Photos library/database can be specified using either –db or directly as PHOTOS_LIBRARY positional argument. If neither –db or PHOTOS_LIBRARY provided, will attempt to find the library to use in the following order: 1. last opened library, 2. system library, 3. ~/Pictures/Photos Library.photoslibrary

-
- -
-
-

tutorial

-

Display osxphotos tutorial.

-
osxphotos tutorial [OPTIONS] [WIDTH]...
-
-
-

Arguments

-
-
-WIDTH
-

Optional argument(s)

-
- -
-
-

uninstall

-

Uninstall Python packages from the osxphotos environment

-
osxphotos uninstall [OPTIONS] PACKAGES...
-
-
-

Options

-
-
--y, --yes
-

Don’t ask for confirmation

-
- -

Arguments

-
-
-PACKAGES
-

Required argument(s)

-
- -
-
-

uuid

-

Print out unique IDs (UUID) of photos selected in Photos

-

Prints outs UUIDs in form suitable for –uuid-from-file and –skip-uuid-from-file

-
osxphotos uuid [OPTIONS]
-
-
-

Options

-
-
--f, --filename
-

Include filename of selected photos in output

-
- -
-
@@ -2254,32 +55,7 @@ uses ‘/private/tmp/osxphotos_snapshots’

Navigation

diff --git a/docs/genindex.html b/docs/genindex.html index 0ed7b68e..6de83466 100644 --- a/docs/genindex.html +++ b/docs/genindex.html @@ -5,7 +5,7 @@ - Index — osxphotos 0.46.6 documentation + Index — osxphotos 0.47.0 documentation @@ -34,8 +34,7 @@

Index

- Symbols - | A + A | B | C | D @@ -59,1432 +58,6 @@ | W
-

Symbols

- - - -
-

A

+ - @@ -2552,15 +331,6 @@

P

+ - @@ -2688,18 +428,11 @@
+
@@ -2733,15 +466,6 @@

W

-
  • width (osxphotos.PhotoInfo property)
  • diff --git a/docs/index.html b/docs/index.html index 7dcd1e0d..48e0b300 100644 --- a/docs/index.html +++ b/docs/index.html @@ -6,7 +6,7 @@ - Welcome to osxphotos’s documentation! — osxphotos 0.46.6 documentation + Welcome to osxphotos’s documentation! — osxphotos 0.47.0 documentation @@ -50,7 +50,7 @@ You can also easily export both the original and edited photos.

    If you have access to macOS 12 / Monterey beta and would like to help ensure osxphotos is compatible, please contact me via GitHub.

    This package will read Photos databases for any supported version on any supported macOS version. E.g. you can read a database created with Photos 5.0 on MacOS 10.15 on a machine running macOS 10.12 and vice versa.

    -

    Requires python >= 3.7.

    +

    Requires python >= 3.8.

    Installation

    @@ -281,32 +281,7 @@ Alternatively, you can also run the command line utility like this: Reference full documentation on GitHub

      -
    • osxphotos command line interface (CLI) -
    • +
    • osxphotos command line interface (CLI)
    • osxphotos package diff --git a/docs/modules.html b/docs/modules.html index c3d7bbee..95ff8003 100644 --- a/docs/modules.html +++ b/docs/modules.html @@ -6,7 +6,7 @@ - osxphotos — osxphotos 0.46.6 documentation + osxphotos — osxphotos 0.47.0 documentation diff --git a/docs/objects.inv b/docs/objects.inv index d7a11cf6b5acd3870ad7c98c56f2f8cd8a0b9f05..e4376bd45890ba70098f0da7ec462bf425c0333c 100644 GIT binary patch delta 937 zcmV;a16KU$9+L==cz>C>Zrm^shWmXA1xb+7@x%G9Zy8S2PbV}97Dnbnryn&l0 zx9;t`YPks4#ErK1eabEPoC@8=&_T@m83JzAw+au|nLO8avVUlDVOz*eurDW9eN35W zbU>A~+Y^-}QLs?!-euLHd64Klz+QrnwNbrQM6aC! zi_B8|H*HNYR4nXV{jNCYWyY z#)aN;;UUT};WSvL+5|FJp~aNYui1FmAaLQ~78ho(azc*{c>?!ojOlYD6O{wo5G~WO zoL+$wvC49oaXR>n@k*TKndpC1g>qsA#z|m}B_YWo`-M!R zNfgRR;_XS~^#*5)HZ#Lu*m__lolcWa=vH%S?kg9PwiyvOG}0-8nU8} zo8UcVcbvWFJZhZEv6-yoV5IQu?d}v7Eji|v`Ha4TbxAq!q>AjFa20jj^F2{gVxRdW zVMPOQ{-!e18^&w3+N)#coGT!y(u=^a9^(GxhKHYG?5R(g%PaVaWPL4{?CSjIIx|13 zT7OzE7sg?gvi)R(DF|H-jjL1Rs(g9U-c}AhROmCrawK29|MKnj!(t5{X|u5#GzRx5 zD#yE{)NT2@I5#_(nzZ-{j;ugMq48w*@9#gUqNaU&Jk)rzDBqE;t#$k5@xdtfJ=mUV zqS0#{1x|rxZW8iL2lkP9=oFdOLCzdW}U^1wkHV=9Yi*c`VX>PnX5cz>PElH0}=h4*@jNjZyTfvHNC-pQ5|PeqBQELkqESQw&7wgv=f z{BVX|qKXk|Pn?K)WZ|b??J}Z*DIg;rtL6OBi(S{c0_48ghK4{zU($9xqaqvp2dYDw-0j&ttiE| z69vZD)*@6a_>d&nEux2#{(wiy$5@+dZCerg4( z?@Cnqd%fGiE8xD9u#gpdwVrp+X#yN8`(A=C{C_N4`GkI0*fih1`)*wtRtY#s)UkX6 z-c^CpGNc=|q4x<{6v2M|j=*{?#nT2_FFEa5P0h$EQ_IDx*!HU@C9T}mrJmN{i^%G+ z&wnqvje6tTx~kOdE?4h4JtHi~R%$tk5v_-}yRn#c$$?wuL3#ss&T@dH@LrRAYVziS z-+zgmCHA0iIa<~L3^kRNcZ2qEs(yC%W?Ra;wky6Z>aCWjAI+2R!jtcG>irD(P4ZuJJH@}S@C3a+hbAN>d`Pl--HLV zsZh%@3TKj)2+#-#z(8o(bQl~;t$&iU zy6;YX2Ot}Y*mf87aj%E96ilscp6V9CeI{_9Z^UVCG*<0xhUwjRe+NMNQq#&2u0NiT z>r2UI*Ox#G^Ef;ZNE6$5gutzmglsUgYBFNbMt!5!dR=CUT98W&AT8DgX$PK! z=>dlXYR@D>^%RVMs>yI2SqvRTn8TpIW{`zMKGSIc(U!7Nd!o7l$1JF6cz^v;m31CM zF6J?X&{oYQYkKf=aatPeo47D^P?K<%zDCGSx`55vez%ja47w-KCa-dbv9&OXG#zUw z)`%C;*-=vqRn#rL3Mo zrx|9+?&*>h=#4)?EZBe(Y=00Z(6$HD+{hq5CXgnf%@W}UF^%?}IuP266KGv1&$@ii zivkqqnjvdar#Q5ssd-=?R+_*zTaooA_?{R6Xp5#k;`iL3PQ!JX9ETe<2|uWy;@b5g ze5_9z*!DjZZ`Db-E@Y!du(tBR4b2x1zouBp%?4B=w{X`y%3dX|ImL7Yba*5{?{E;!x; zNDEFvXEBxIe#x7vW)RZK7IP53D+7^GdB$F|5zJl3ZS zZ0j#bx8fAqHb#PID^8$0M&5i-C*iE^*$9xdK$mx3n+D^{yhxtJvsNx6K+*!9hk`hX z4reA%d;p{^d_O#F;Q>jDsAU{Ai4bWU+sqAHSa}+6J3C>#m4B!4W&NTS{5ap~lLmT6 zo7uK;)FVQWHoBmanPZCB>=NtK29QYe45D>!%Fb=q#EScsdx= zB%BqImZOo)a${gCUBI%oQ4<7h1FuUK7A36Uyd0QMb=zgW`47WKfV9P~ueR`la7>_0 z8lmC^77@I534ff)9cz<9U>5Bd(P4rhZA@otCeAsw9gpM-c-Ch=L69~oh=9cutE8b~ zFR+2P$^_Kh-n;_D43e_af5!tf(9#691A7Lnl7zPTS#T09v7R>ItvRo)H^X21f#6=8 zLZi#rr6nw5`MR`pZDk?0Ikq?S+9hySH1!Ei-p(Mj)qk@**)2A9d&c^-0iy#X)~5~N zedwT0!^6r`&12kmLa@@tXt64Y(`a+L1ZErcGTfFDb&;B96LDxm#@=yp-`IAI#M&~g zl7uohqSrQ|`uA;@A5SpdsuOTDMYxb3>}tFc?zJf}Tm|>q1i0TG@C!SVlXynw!BWpb z-wL}!e}4vdR3pH$g@26a6DYJ{0z$`n9RD+oe9gPA;T1jWA3lDl{KDClgD6k;pFTW3e7}yab%t%VG146C zT;Ck8Wz*JphgyFc$iQZ&f$V`(#+VxHl@XPdntu(;(gfvwlNVyGg^_1J)6k!9Nqcz+bsA>|uFeP^@q|BmuX6 zKpb#391h7D42Qlp6teBGSFVKf*X_E!fuVKE>DUgy^)JyQldqC9ydHjKd`v5dm7y@nQFmq$JF95Zt0O&W0F#qQpasGr=iLt;8U0OGfE%eP z_}Z(@LMInnfFY;h9FaH-H^BmD;YRHFQMkbX>`3x_x*I9ru`^c=P9C}PXe3MJ${X{X zRDiBN3gwW~lTZT?KEC0}snZ+Y0_zTPWq%l|F(`n6(+3VaKYS3N*uenDCC>$n(CZT- z5qg#p@o4x^fQ6^d1jKltX>WkfoAzS#>Ky9;o@Q7Bwty~-X{%Vk0bOE_IByX1Q1~c- zB}*Dw;d3Y1Yc_!G-#&-9R!U;w{(HwxwcmS#^{Xrko-MLG5bETxOsa#!V}TxZ3xA!r zs0ZZgii{&pYcT-`b=Nv5)miJoSo63AlfB~s47H9sFx5FefPtP2&z<*ScKwIb-k4)gXhwK-R!Hf$!)h!<3fu^j$p0{O1V4w~Z!1GGb0PgTz z65S^rqj|ff2_a>|S#2g;(PIN}Wq(06qK~lf3M0{m9>Y0{f@Bl=*Z^J}#PSp#oyf=z z_ZZBG;;}r1$GTMqKH0E3GJqO1BLk{OGd4i`m<2kq2;;n_Wf`2>gyc0Y? z(ZxV|CBV7;7jJ#EP1ouYUAkj9)}$L7kUhHI1n8!<)Oj4Zj z;JOf4@u0d8P#M8=DUkAl=#>BpFT~TUaHt*2LF;t(5o*Q?*ktB$brX<9PJ4g?ZgmTg z<4rq&Vj$W8G@ujxKh8wnDt~>)Dd4&C*K++%ck*M^HLWBz0S*Z48Vzv1VRS%ruV|== zZK6Z3t*aU2q^#yqNL9`9h@#pU3e?nM^1P%L@LHC#EQ!YgWjPC-SAXR^5-ZACDp`|@ z!Rx2R0X&-*9T+ai8FZ>17r}v)Xh6?Xq7is?F)m=IwKxwgkc(lOEAucQO=fxX44Fg1 zWjMo?B(j31STfZXut1j0QRfLZ4}}YGmYk};IXqM?Gi0h*=Ab~W%pm8bG7nsxV6?nx zZqehQvVuiYB?X7Ys()k#OBTsI7OIh1EL9>4SRl9RsPnX{gRZZS8RD!w=5aM6N+*hA z1DdzgS}2VT7U(oU7RDkhegUV-VgnpVgn9Bj6*gdjt+>a|H{$`@!FwCJAQpjHdz^)G zSY*Li;w6h=5gwb`sZv-BMW^^gAuK{O=H+A=Y=lSW=Ts3af`5Zk6j=g`uy~YC6~H1m zmY@%GGDjcdq4f8Fr!wFX9?ka#gG9U^rOcl2VEEYb~p%V_9>5z$s%Y{(M z3X{tr5?x3qSJ6;K%OdM!>JF-Bd1xwax4N2TfYV}@hpnzPd~2X zd98V^Rv)ALYB;leS-Z#x;_Q-wUT#gq&Mgnzwsve>9?9y*N0JA?Nk#=nIXneADscr8_9*=nId>xnlQ~$K$Vpj=tUbly9H&y?E1# YyxAVcb`SP3tN3Vt|EQn)f9l#^L>HKLHUIzs diff --git a/docs/reference.html b/docs/reference.html index 50a304d2..87957c71 100644 --- a/docs/reference.html +++ b/docs/reference.html @@ -6,7 +6,7 @@ - osxphotos package — osxphotos 0.46.6 documentation + osxphotos package — osxphotos 0.47.0 documentation diff --git a/docs/search.html b/docs/search.html index 8fd55c24..06587fab 100644 --- a/docs/search.html +++ b/docs/search.html @@ -5,7 +5,7 @@ - Search — osxphotos 0.46.6 documentation + Search — osxphotos 0.47.0 documentation diff --git a/docs/searchindex.js b/docs/searchindex.js index c60d2ef8..2ff9ff02 100644 --- a/docs/searchindex.js +++ b/docs/searchindex.js @@ -1 +1 @@ -Search.setIndex({docnames:["cli","index","modules","reference"],envversion:{"sphinx.domains.c":2,"sphinx.domains.changeset":1,"sphinx.domains.citation":1,"sphinx.domains.cpp":4,"sphinx.domains.index":1,"sphinx.domains.javascript":2,"sphinx.domains.math":2,"sphinx.domains.python":3,"sphinx.domains.rst":2,"sphinx.domains.std":2,"sphinx.ext.intersphinx":1,"sphinx.ext.viewcode":1,sphinx:56},filenames:["cli.rst","index.rst","modules.rst","reference.rst"],objects:{"osxphotos-albums":[[0,3,1,"cmdoption-osxphotos-albums-db","--db"],[0,3,1,"cmdoption-osxphotos-albums-json","--json"],[0,3,1,"cmdoption-osxphotos-albums-arg-PHOTOS_LIBRARY","PHOTOS_LIBRARY"]],"osxphotos-diff":[[0,3,1,"cmdoption-osxphotos-diff-db","--db"],[0,3,1,"cmdoption-osxphotos-diff-r","--raw-output"],[0,3,1,"cmdoption-osxphotos-diff-s","--style"],[0,3,1,"cmdoption-osxphotos-diff-V","--verbose"],[0,3,1,"cmdoption-osxphotos-diff-V","-V"],[0,3,1,"cmdoption-osxphotos-diff-r","-r"],[0,3,1,"cmdoption-osxphotos-diff-s","-s"],[0,3,1,"cmdoption-osxphotos-diff-arg-DB2","DB2"]],"osxphotos-dump":[[0,3,1,"cmdoption-osxphotos-dump-db","--db"],[0,3,1,"cmdoption-osxphotos-dump-deleted","--deleted"],[0,3,1,"cmdoption-osxphotos-dump-deleted-only","--deleted-only"],[0,3,1,"cmdoption-osxphotos-dump-json","--json"],[0,3,1,"cmdoption-osxphotos-dump-arg-PHOTOS_LIBRARY","PHOTOS_LIBRARY"]],"osxphotos-export":[[0,3,1,"cmdoption-osxphotos-export-add-exported-to-album","--add-exported-to-album"],[0,3,1,"cmdoption-osxphotos-export-add-missing-to-album","--add-missing-to-album"],[0,3,1,"cmdoption-osxphotos-export-add-skipped-to-album","--add-skipped-to-album"],[0,3,1,"cmdoption-osxphotos-export-album","--album"],[0,3,1,"cmdoption-osxphotos-export-album-keyword","--album-keyword"],[0,3,1,"cmdoption-osxphotos-export-burst","--burst"],[0,3,1,"cmdoption-osxphotos-export-cleanup","--cleanup"],[0,3,1,"cmdoption-osxphotos-export-config-only","--config-only"],[0,3,1,"cmdoption-osxphotos-export-convert-to-jpeg","--convert-to-jpeg"],[0,3,1,"cmdoption-osxphotos-export-current-name","--current-name"],[0,3,1,"cmdoption-osxphotos-export-db","--db"],[0,3,1,"cmdoption-osxphotos-export-deleted","--deleted"],[0,3,1,"cmdoption-osxphotos-export-deleted-only","--deleted-only"],[0,3,1,"cmdoption-osxphotos-export-description","--description"],[0,3,1,"cmdoption-osxphotos-export-description-template","--description-template"],[0,3,1,"cmdoption-osxphotos-export-directory","--directory"],[0,3,1,"cmdoption-osxphotos-export-download-missing","--download-missing"],[0,3,1,"cmdoption-osxphotos-export-dry-run","--dry-run"],[0,3,1,"cmdoption-osxphotos-export-duplicate","--duplicate"],[0,3,1,"cmdoption-osxphotos-export-edited","--edited"],[0,3,1,"cmdoption-osxphotos-export-edited-suffix","--edited-suffix"],[0,3,1,"cmdoption-osxphotos-export-exif","--exif"],[0,3,1,"cmdoption-osxphotos-export-exiftool","--exiftool"],[0,3,1,"cmdoption-osxphotos-export-exiftool-merge-keywords","--exiftool-merge-keywords"],[0,3,1,"cmdoption-osxphotos-export-exiftool-merge-persons","--exiftool-merge-persons"],[0,3,1,"cmdoption-osxphotos-export-exiftool-option","--exiftool-option"],[0,3,1,"cmdoption-osxphotos-export-exiftool-path","--exiftool-path"],[0,3,1,"cmdoption-osxphotos-export-export-as-hardlink","--export-as-hardlink"],[0,3,1,"cmdoption-osxphotos-export-export-by-date","--export-by-date"],[0,3,1,"cmdoption-osxphotos-export-exportdb","--exportdb"],[0,3,1,"cmdoption-osxphotos-export-external-edit","--external-edit"],[0,3,1,"cmdoption-osxphotos-export-favorite","--favorite"],[0,3,1,"cmdoption-osxphotos-export-filename","--filename"],[0,3,1,"cmdoption-osxphotos-export-finder-tag-keywords","--finder-tag-keywords"],[0,3,1,"cmdoption-osxphotos-export-finder-tag-template","--finder-tag-template"],[0,3,1,"cmdoption-osxphotos-export-folder","--folder"],[0,3,1,"cmdoption-osxphotos-export-force-update","--force-update"],[0,3,1,"cmdoption-osxphotos-export-from-date","--from-date"],[0,3,1,"cmdoption-osxphotos-export-from-time","--from-time"],[0,3,1,"cmdoption-osxphotos-export-has-comment","--has-comment"],[0,3,1,"cmdoption-osxphotos-export-has-likes","--has-likes"],[0,3,1,"cmdoption-osxphotos-export-has-raw","--has-raw"],[0,3,1,"cmdoption-osxphotos-export-hdr","--hdr"],[0,3,1,"cmdoption-osxphotos-export-hidden","--hidden"],[0,3,1,"cmdoption-osxphotos-export-i","--ignore-case"],[0,3,1,"cmdoption-osxphotos-export-ignore-date-modified","--ignore-date-modified"],[0,3,1,"cmdoption-osxphotos-export-ignore-signature","--ignore-signature"],[0,3,1,"cmdoption-osxphotos-export-in-album","--in-album"],[0,3,1,"cmdoption-osxphotos-export-is-reference","--is-reference"],[0,3,1,"cmdoption-osxphotos-export-jpeg-ext","--jpeg-ext"],[0,3,1,"cmdoption-osxphotos-export-jpeg-quality","--jpeg-quality"],[0,3,1,"cmdoption-osxphotos-export-keyword","--keyword"],[0,3,1,"cmdoption-osxphotos-export-keyword-template","--keyword-template"],[0,3,1,"cmdoption-osxphotos-export-label","--label"],[0,3,1,"cmdoption-osxphotos-export-live","--live"],[0,3,1,"cmdoption-osxphotos-export-load-config","--load-config"],[0,3,1,"cmdoption-osxphotos-export-location","--location"],[0,3,1,"cmdoption-osxphotos-export-max-size","--max-size"],[0,3,1,"cmdoption-osxphotos-export-min-size","--min-size"],[0,3,1,"cmdoption-osxphotos-export-missing","--missing"],[0,3,1,"cmdoption-osxphotos-export-name","--name"],[0,3,1,"cmdoption-osxphotos-export-no-comment","--no-comment"],[0,3,1,"cmdoption-osxphotos-export-no-description","--no-description"],[0,3,1,"cmdoption-osxphotos-export-no-likes","--no-likes"],[0,3,1,"cmdoption-osxphotos-export-no-location","--no-location"],[0,3,1,"cmdoption-osxphotos-export-no-place","--no-place"],[0,3,1,"cmdoption-osxphotos-export-no-title","--no-title"],[0,3,1,"cmdoption-osxphotos-export-not-burst","--not-burst"],[0,3,1,"cmdoption-osxphotos-export-not-favorite","--not-favorite"],[0,3,1,"cmdoption-osxphotos-export-not-hdr","--not-hdr"],[0,3,1,"cmdoption-osxphotos-export-not-hidden","--not-hidden"],[0,3,1,"cmdoption-osxphotos-export-not-in-album","--not-in-album"],[0,3,1,"cmdoption-osxphotos-export-not-live","--not-live"],[0,3,1,"cmdoption-osxphotos-export-not-panorama","--not-panorama"],[0,3,1,"cmdoption-osxphotos-export-not-portrait","--not-portrait"],[0,3,1,"cmdoption-osxphotos-export-not-screenshot","--not-screenshot"],[0,3,1,"cmdoption-osxphotos-export-not-selfie","--not-selfie"],[0,3,1,"cmdoption-osxphotos-export-not-shared","--not-shared"],[0,3,1,"cmdoption-osxphotos-export-not-slow-mo","--not-slow-mo"],[0,3,1,"cmdoption-osxphotos-export-not-time-lapse","--not-time-lapse"],[0,3,1,"cmdoption-osxphotos-export-only-movies","--only-movies"],[0,3,1,"cmdoption-osxphotos-export-only-new","--only-new"],[0,3,1,"cmdoption-osxphotos-export-only-photos","--only-photos"],[0,3,1,"cmdoption-osxphotos-export-original-suffix","--original-suffix"],[0,3,1,"cmdoption-osxphotos-export-overwrite","--overwrite"],[0,3,1,"cmdoption-osxphotos-export-panorama","--panorama"],[0,3,1,"cmdoption-osxphotos-export-person","--person"],[0,3,1,"cmdoption-osxphotos-export-person-keyword","--person-keyword"],[0,3,1,"cmdoption-osxphotos-export-place","--place"],[0,3,1,"cmdoption-osxphotos-export-portrait","--portrait"],[0,3,1,"cmdoption-osxphotos-export-post-command","--post-command"],[0,3,1,"cmdoption-osxphotos-export-post-function","--post-function"],[0,3,1,"cmdoption-osxphotos-export-preview","--preview"],[0,3,1,"cmdoption-osxphotos-export-preview-if-missing","--preview-if-missing"],[0,3,1,"cmdoption-osxphotos-export-preview-suffix","--preview-suffix"],[0,3,1,"cmdoption-osxphotos-export-query-eval","--query-eval"],[0,3,1,"cmdoption-osxphotos-export-query-function","--query-function"],[0,3,1,"cmdoption-osxphotos-export-ramdb","--ramdb"],[0,3,1,"cmdoption-osxphotos-export-regex","--regex"],[0,3,1,"cmdoption-osxphotos-export-replace-keywords","--replace-keywords"],[0,3,1,"cmdoption-osxphotos-export-report","--report"],[0,3,1,"cmdoption-osxphotos-export-retry","--retry"],[0,3,1,"cmdoption-osxphotos-export-save-config","--save-config"],[0,3,1,"cmdoption-osxphotos-export-screenshot","--screenshot"],[0,3,1,"cmdoption-osxphotos-export-selected","--selected"],[0,3,1,"cmdoption-osxphotos-export-selfie","--selfie"],[0,3,1,"cmdoption-osxphotos-export-shared","--shared"],[0,3,1,"cmdoption-osxphotos-export-sidecar","--sidecar"],[0,3,1,"cmdoption-osxphotos-export-sidecar-drop-ext","--sidecar-drop-ext"],[0,3,1,"cmdoption-osxphotos-export-skip-bursts","--skip-bursts"],[0,3,1,"cmdoption-osxphotos-export-skip-edited","--skip-edited"],[0,3,1,"cmdoption-osxphotos-export-skip-live","--skip-live"],[0,3,1,"cmdoption-osxphotos-export-skip-original-if-edited","--skip-original-if-edited"],[0,3,1,"cmdoption-osxphotos-export-skip-raw","--skip-raw"],[0,3,1,"cmdoption-osxphotos-export-skip-uuid","--skip-uuid"],[0,3,1,"cmdoption-osxphotos-export-skip-uuid-from-file","--skip-uuid-from-file"],[0,3,1,"cmdoption-osxphotos-export-slow-mo","--slow-mo"],[0,3,1,"cmdoption-osxphotos-export-strip","--strip"],[0,3,1,"cmdoption-osxphotos-export-time-lapse","--time-lapse"],[0,3,1,"cmdoption-osxphotos-export-timestamp","--timestamp"],[0,3,1,"cmdoption-osxphotos-export-title","--title"],[0,3,1,"cmdoption-osxphotos-export-to-date","--to-date"],[0,3,1,"cmdoption-osxphotos-export-to-time","--to-time"],[0,3,1,"cmdoption-osxphotos-export-touch-file","--touch-file"],[0,3,1,"cmdoption-osxphotos-export-update","--update"],[0,3,1,"cmdoption-osxphotos-export-use-photokit","--use-photokit"],[0,3,1,"cmdoption-osxphotos-export-use-photos-export","--use-photos-export"],[0,3,1,"cmdoption-osxphotos-export-uti","--uti"],[0,3,1,"cmdoption-osxphotos-export-uuid","--uuid"],[0,3,1,"cmdoption-osxphotos-export-uuid-from-file","--uuid-from-file"],[0,3,1,"cmdoption-osxphotos-export-V","--verbose"],[0,3,1,"cmdoption-osxphotos-export-xattr-template","--xattr-template"],[0,3,1,"cmdoption-osxphotos-export-V","-V"],[0,3,1,"cmdoption-osxphotos-export-i","-i"],[0,3,1,"cmdoption-osxphotos-export-arg-DEST","DEST"],[0,3,1,"cmdoption-osxphotos-export-arg-PHOTOS_LIBRARY","PHOTOS_LIBRARY"]],"osxphotos-help":[[0,3,1,"cmdoption-osxphotos-help-arg-TOPIC","TOPIC"]],"osxphotos-info":[[0,3,1,"cmdoption-osxphotos-info-db","--db"],[0,3,1,"cmdoption-osxphotos-info-json","--json"],[0,3,1,"cmdoption-osxphotos-info-arg-PHOTOS_LIBRARY","PHOTOS_LIBRARY"]],"osxphotos-install":[[0,3,1,"cmdoption-osxphotos-install-U","--upgrade"],[0,3,1,"cmdoption-osxphotos-install-U","-U"],[0,3,1,"cmdoption-osxphotos-install-arg-PACKAGES","PACKAGES"]],"osxphotos-keywords":[[0,3,1,"cmdoption-osxphotos-keywords-db","--db"],[0,3,1,"cmdoption-osxphotos-keywords-json","--json"],[0,3,1,"cmdoption-osxphotos-keywords-arg-PHOTOS_LIBRARY","PHOTOS_LIBRARY"]],"osxphotos-labels":[[0,3,1,"cmdoption-osxphotos-labels-db","--db"],[0,3,1,"cmdoption-osxphotos-labels-json","--json"],[0,3,1,"cmdoption-osxphotos-labels-arg-PHOTOS_LIBRARY","PHOTOS_LIBRARY"]],"osxphotos-list":[[0,3,1,"cmdoption-osxphotos-list-json","--json"]],"osxphotos-persons":[[0,3,1,"cmdoption-osxphotos-persons-db","--db"],[0,3,1,"cmdoption-osxphotos-persons-json","--json"],[0,3,1,"cmdoption-osxphotos-persons-arg-PHOTOS_LIBRARY","PHOTOS_LIBRARY"]],"osxphotos-places":[[0,3,1,"cmdoption-osxphotos-places-db","--db"],[0,3,1,"cmdoption-osxphotos-places-json","--json"],[0,3,1,"cmdoption-osxphotos-places-arg-PHOTOS_LIBRARY","PHOTOS_LIBRARY"]],"osxphotos-query":[[0,3,1,"cmdoption-osxphotos-query-add-to-album","--add-to-album"],[0,3,1,"cmdoption-osxphotos-query-album","--album"],[0,3,1,"cmdoption-osxphotos-query-burst","--burst"],[0,3,1,"cmdoption-osxphotos-query-cloudasset","--cloudasset"],[0,3,1,"cmdoption-osxphotos-query-db","--db"],[0,3,1,"cmdoption-osxphotos-query-deleted","--deleted"],[0,3,1,"cmdoption-osxphotos-query-deleted-only","--deleted-only"],[0,3,1,"cmdoption-osxphotos-query-description","--description"],[0,3,1,"cmdoption-osxphotos-query-duplicate","--duplicate"],[0,3,1,"cmdoption-osxphotos-query-edited","--edited"],[0,3,1,"cmdoption-osxphotos-query-exif","--exif"],[0,3,1,"cmdoption-osxphotos-query-external-edit","--external-edit"],[0,3,1,"cmdoption-osxphotos-query-favorite","--favorite"],[0,3,1,"cmdoption-osxphotos-query-folder","--folder"],[0,3,1,"cmdoption-osxphotos-query-from-date","--from-date"],[0,3,1,"cmdoption-osxphotos-query-from-time","--from-time"],[0,3,1,"cmdoption-osxphotos-query-has-comment","--has-comment"],[0,3,1,"cmdoption-osxphotos-query-has-likes","--has-likes"],[0,3,1,"cmdoption-osxphotos-query-has-raw","--has-raw"],[0,3,1,"cmdoption-osxphotos-query-hdr","--hdr"],[0,3,1,"cmdoption-osxphotos-query-hidden","--hidden"],[0,3,1,"cmdoption-osxphotos-query-i","--ignore-case"],[0,3,1,"cmdoption-osxphotos-query-in-album","--in-album"],[0,3,1,"cmdoption-osxphotos-query-incloud","--incloud"],[0,3,1,"cmdoption-osxphotos-query-is-reference","--is-reference"],[0,3,1,"cmdoption-osxphotos-query-json","--json"],[0,3,1,"cmdoption-osxphotos-query-keyword","--keyword"],[0,3,1,"cmdoption-osxphotos-query-label","--label"],[0,3,1,"cmdoption-osxphotos-query-live","--live"],[0,3,1,"cmdoption-osxphotos-query-location","--location"],[0,3,1,"cmdoption-osxphotos-query-max-size","--max-size"],[0,3,1,"cmdoption-osxphotos-query-min-size","--min-size"],[0,3,1,"cmdoption-osxphotos-query-missing","--missing"],[0,3,1,"cmdoption-osxphotos-query-name","--name"],[0,3,1,"cmdoption-osxphotos-query-no-comment","--no-comment"],[0,3,1,"cmdoption-osxphotos-query-no-description","--no-description"],[0,3,1,"cmdoption-osxphotos-query-no-likes","--no-likes"],[0,3,1,"cmdoption-osxphotos-query-no-location","--no-location"],[0,3,1,"cmdoption-osxphotos-query-no-place","--no-place"],[0,3,1,"cmdoption-osxphotos-query-no-title","--no-title"],[0,3,1,"cmdoption-osxphotos-query-not-burst","--not-burst"],[0,3,1,"cmdoption-osxphotos-query-not-cloudasset","--not-cloudasset"],[0,3,1,"cmdoption-osxphotos-query-not-favorite","--not-favorite"],[0,3,1,"cmdoption-osxphotos-query-not-hdr","--not-hdr"],[0,3,1,"cmdoption-osxphotos-query-not-hidden","--not-hidden"],[0,3,1,"cmdoption-osxphotos-query-not-in-album","--not-in-album"],[0,3,1,"cmdoption-osxphotos-query-not-incloud","--not-incloud"],[0,3,1,"cmdoption-osxphotos-query-not-live","--not-live"],[0,3,1,"cmdoption-osxphotos-query-not-missing","--not-missing"],[0,3,1,"cmdoption-osxphotos-query-not-panorama","--not-panorama"],[0,3,1,"cmdoption-osxphotos-query-not-portrait","--not-portrait"],[0,3,1,"cmdoption-osxphotos-query-not-screenshot","--not-screenshot"],[0,3,1,"cmdoption-osxphotos-query-not-selfie","--not-selfie"],[0,3,1,"cmdoption-osxphotos-query-not-shared","--not-shared"],[0,3,1,"cmdoption-osxphotos-query-not-slow-mo","--not-slow-mo"],[0,3,1,"cmdoption-osxphotos-query-not-time-lapse","--not-time-lapse"],[0,3,1,"cmdoption-osxphotos-query-only-movies","--only-movies"],[0,3,1,"cmdoption-osxphotos-query-only-photos","--only-photos"],[0,3,1,"cmdoption-osxphotos-query-panorama","--panorama"],[0,3,1,"cmdoption-osxphotos-query-person","--person"],[0,3,1,"cmdoption-osxphotos-query-place","--place"],[0,3,1,"cmdoption-osxphotos-query-portrait","--portrait"],[0,3,1,"cmdoption-osxphotos-query-query-eval","--query-eval"],[0,3,1,"cmdoption-osxphotos-query-query-function","--query-function"],[0,3,1,"cmdoption-osxphotos-query-regex","--regex"],[0,3,1,"cmdoption-osxphotos-query-screenshot","--screenshot"],[0,3,1,"cmdoption-osxphotos-query-selected","--selected"],[0,3,1,"cmdoption-osxphotos-query-selfie","--selfie"],[0,3,1,"cmdoption-osxphotos-query-shared","--shared"],[0,3,1,"cmdoption-osxphotos-query-slow-mo","--slow-mo"],[0,3,1,"cmdoption-osxphotos-query-time-lapse","--time-lapse"],[0,3,1,"cmdoption-osxphotos-query-title","--title"],[0,3,1,"cmdoption-osxphotos-query-to-date","--to-date"],[0,3,1,"cmdoption-osxphotos-query-to-time","--to-time"],[0,3,1,"cmdoption-osxphotos-query-uti","--uti"],[0,3,1,"cmdoption-osxphotos-query-uuid","--uuid"],[0,3,1,"cmdoption-osxphotos-query-uuid-from-file","--uuid-from-file"],[0,3,1,"cmdoption-osxphotos-query-i","-i"],[0,3,1,"cmdoption-osxphotos-query-arg-PHOTOS_LIBRARY","PHOTOS_LIBRARY"]],"osxphotos-repl":[[0,3,1,"cmdoption-osxphotos-repl-album","--album"],[0,3,1,"cmdoption-osxphotos-repl-burst","--burst"],[0,3,1,"cmdoption-osxphotos-repl-cloudasset","--cloudasset"],[0,3,1,"cmdoption-osxphotos-repl-db","--db"],[0,3,1,"cmdoption-osxphotos-repl-deleted","--deleted"],[0,3,1,"cmdoption-osxphotos-repl-deleted-only","--deleted-only"],[0,3,1,"cmdoption-osxphotos-repl-description","--description"],[0,3,1,"cmdoption-osxphotos-repl-duplicate","--duplicate"],[0,3,1,"cmdoption-osxphotos-repl-edited","--edited"],[0,3,1,"cmdoption-osxphotos-repl-emacs","--emacs"],[0,3,1,"cmdoption-osxphotos-repl-exif","--exif"],[0,3,1,"cmdoption-osxphotos-repl-external-edit","--external-edit"],[0,3,1,"cmdoption-osxphotos-repl-favorite","--favorite"],[0,3,1,"cmdoption-osxphotos-repl-folder","--folder"],[0,3,1,"cmdoption-osxphotos-repl-from-date","--from-date"],[0,3,1,"cmdoption-osxphotos-repl-from-time","--from-time"],[0,3,1,"cmdoption-osxphotos-repl-has-comment","--has-comment"],[0,3,1,"cmdoption-osxphotos-repl-has-likes","--has-likes"],[0,3,1,"cmdoption-osxphotos-repl-has-raw","--has-raw"],[0,3,1,"cmdoption-osxphotos-repl-hdr","--hdr"],[0,3,1,"cmdoption-osxphotos-repl-hidden","--hidden"],[0,3,1,"cmdoption-osxphotos-repl-i","--ignore-case"],[0,3,1,"cmdoption-osxphotos-repl-in-album","--in-album"],[0,3,1,"cmdoption-osxphotos-repl-incloud","--incloud"],[0,3,1,"cmdoption-osxphotos-repl-is-reference","--is-reference"],[0,3,1,"cmdoption-osxphotos-repl-keyword","--keyword"],[0,3,1,"cmdoption-osxphotos-repl-label","--label"],[0,3,1,"cmdoption-osxphotos-repl-live","--live"],[0,3,1,"cmdoption-osxphotos-repl-location","--location"],[0,3,1,"cmdoption-osxphotos-repl-max-size","--max-size"],[0,3,1,"cmdoption-osxphotos-repl-min-size","--min-size"],[0,3,1,"cmdoption-osxphotos-repl-missing","--missing"],[0,3,1,"cmdoption-osxphotos-repl-name","--name"],[0,3,1,"cmdoption-osxphotos-repl-no-comment","--no-comment"],[0,3,1,"cmdoption-osxphotos-repl-no-description","--no-description"],[0,3,1,"cmdoption-osxphotos-repl-no-likes","--no-likes"],[0,3,1,"cmdoption-osxphotos-repl-no-location","--no-location"],[0,3,1,"cmdoption-osxphotos-repl-no-place","--no-place"],[0,3,1,"cmdoption-osxphotos-repl-no-title","--no-title"],[0,3,1,"cmdoption-osxphotos-repl-not-burst","--not-burst"],[0,3,1,"cmdoption-osxphotos-repl-not-cloudasset","--not-cloudasset"],[0,3,1,"cmdoption-osxphotos-repl-not-favorite","--not-favorite"],[0,3,1,"cmdoption-osxphotos-repl-not-hdr","--not-hdr"],[0,3,1,"cmdoption-osxphotos-repl-not-hidden","--not-hidden"],[0,3,1,"cmdoption-osxphotos-repl-not-in-album","--not-in-album"],[0,3,1,"cmdoption-osxphotos-repl-not-incloud","--not-incloud"],[0,3,1,"cmdoption-osxphotos-repl-not-live","--not-live"],[0,3,1,"cmdoption-osxphotos-repl-not-missing","--not-missing"],[0,3,1,"cmdoption-osxphotos-repl-not-panorama","--not-panorama"],[0,3,1,"cmdoption-osxphotos-repl-not-portrait","--not-portrait"],[0,3,1,"cmdoption-osxphotos-repl-not-screenshot","--not-screenshot"],[0,3,1,"cmdoption-osxphotos-repl-not-selfie","--not-selfie"],[0,3,1,"cmdoption-osxphotos-repl-not-shared","--not-shared"],[0,3,1,"cmdoption-osxphotos-repl-not-slow-mo","--not-slow-mo"],[0,3,1,"cmdoption-osxphotos-repl-not-time-lapse","--not-time-lapse"],[0,3,1,"cmdoption-osxphotos-repl-only-movies","--only-movies"],[0,3,1,"cmdoption-osxphotos-repl-only-photos","--only-photos"],[0,3,1,"cmdoption-osxphotos-repl-panorama","--panorama"],[0,3,1,"cmdoption-osxphotos-repl-person","--person"],[0,3,1,"cmdoption-osxphotos-repl-place","--place"],[0,3,1,"cmdoption-osxphotos-repl-portrait","--portrait"],[0,3,1,"cmdoption-osxphotos-repl-query-eval","--query-eval"],[0,3,1,"cmdoption-osxphotos-repl-query-function","--query-function"],[0,3,1,"cmdoption-osxphotos-repl-regex","--regex"],[0,3,1,"cmdoption-osxphotos-repl-screenshot","--screenshot"],[0,3,1,"cmdoption-osxphotos-repl-selected","--selected"],[0,3,1,"cmdoption-osxphotos-repl-selfie","--selfie"],[0,3,1,"cmdoption-osxphotos-repl-shared","--shared"],[0,3,1,"cmdoption-osxphotos-repl-slow-mo","--slow-mo"],[0,3,1,"cmdoption-osxphotos-repl-time-lapse","--time-lapse"],[0,3,1,"cmdoption-osxphotos-repl-title","--title"],[0,3,1,"cmdoption-osxphotos-repl-to-date","--to-date"],[0,3,1,"cmdoption-osxphotos-repl-to-time","--to-time"],[0,3,1,"cmdoption-osxphotos-repl-uti","--uti"],[0,3,1,"cmdoption-osxphotos-repl-uuid","--uuid"],[0,3,1,"cmdoption-osxphotos-repl-uuid-from-file","--uuid-from-file"],[0,3,1,"cmdoption-osxphotos-repl-i","-i"]],"osxphotos-run":[[0,3,1,"cmdoption-osxphotos-run-arg-PYTHON_FILE","PYTHON_FILE"]],"osxphotos-snap":[[0,3,1,"cmdoption-osxphotos-snap-db","--db"]],"osxphotos-tutorial":[[0,3,1,"cmdoption-osxphotos-tutorial-arg-WIDTH","WIDTH"]],"osxphotos-uninstall":[[0,3,1,"cmdoption-osxphotos-uninstall-y","--yes"],[0,3,1,"cmdoption-osxphotos-uninstall-y","-y"],[0,3,1,"cmdoption-osxphotos-uninstall-arg-PACKAGES","PACKAGES"]],"osxphotos-uuid":[[0,3,1,"cmdoption-osxphotos-uuid-f","--filename"],[0,3,1,"cmdoption-osxphotos-uuid-f","-f"]],"osxphotos.PhotoInfo":[[3,1,1,"","adjustments"],[3,1,1,"","album_info"],[3,1,1,"","albums"],[3,2,1,"","asdict"],[3,1,1,"","burst"],[3,1,1,"","burst_album_info"],[3,1,1,"","burst_albums"],[3,1,1,"","burst_default_pick"],[3,1,1,"","burst_key"],[3,1,1,"","burst_photos"],[3,1,1,"","burst_selected"],[3,1,1,"","comments"],[3,1,1,"","date"],[3,1,1,"","date_added"],[3,1,1,"","date_modified"],[3,1,1,"","date_trashed"],[3,1,1,"","description"],[3,2,1,"","detected_text"],[3,1,1,"","duplicates"],[3,1,1,"","exif_info"],[3,1,1,"","exiftool"],[3,2,1,"","export"],[3,1,1,"","external_edit"],[3,1,1,"","face_info"],[3,1,1,"","favorite"],[3,1,1,"","filename"],[3,1,1,"","has_raw"],[3,1,1,"","hasadjustments"],[3,1,1,"","hdr"],[3,1,1,"","height"],[3,1,1,"","hidden"],[3,1,1,"","import_info"],[3,1,1,"","incloud"],[3,1,1,"","intrash"],[3,1,1,"","iscloudasset"],[3,1,1,"","ismissing"],[3,1,1,"","ismovie"],[3,1,1,"","isphoto"],[3,1,1,"","israw"],[3,1,1,"","isreference"],[3,2,1,"","json"],[3,1,1,"","keywords"],[3,1,1,"","labels"],[3,1,1,"","labels_normalized"],[3,1,1,"","likes"],[3,1,1,"","live_photo"],[3,1,1,"","location"],[3,1,1,"","moment"],[3,1,1,"","orientation"],[3,1,1,"","original_filename"],[3,1,1,"","original_filesize"],[3,1,1,"","original_height"],[3,1,1,"","original_orientation"],[3,1,1,"","original_width"],[3,1,1,"","owner"],[3,1,1,"","panorama"],[3,1,1,"","path"],[3,1,1,"","path_derivatives"],[3,1,1,"","path_edited"],[3,1,1,"","path_edited_live_photo"],[3,1,1,"","path_live_photo"],[3,1,1,"","path_raw"],[3,1,1,"","person_info"],[3,1,1,"","persons"],[3,1,1,"","place"],[3,1,1,"","portrait"],[3,1,1,"","project_info"],[3,1,1,"","raw_original"],[3,2,1,"","render_template"],[3,1,1,"","score"],[3,1,1,"","screenshot"],[3,1,1,"","search_info"],[3,1,1,"","search_info_normalized"],[3,1,1,"","selfie"],[3,1,1,"","shared"],[3,1,1,"","slow_mo"],[3,1,1,"","time_lapse"],[3,1,1,"","title"],[3,1,1,"","tzoffset"],[3,1,1,"","uti"],[3,1,1,"","uti_edited"],[3,1,1,"","uti_original"],[3,1,1,"","uti_raw"],[3,1,1,"","uuid"],[3,1,1,"","visible"],[3,1,1,"","width"]],"osxphotos.PhotosDB":[[3,1,1,"","album_info"],[3,1,1,"","album_info_shared"],[3,1,1,"","albums"],[3,1,1,"","albums_as_dict"],[3,1,1,"","albums_shared"],[3,1,1,"","albums_shared_as_dict"],[3,1,1,"","db_path"],[3,1,1,"","db_version"],[3,2,1,"","execute"],[3,1,1,"","folder_info"],[3,1,1,"","folders"],[3,2,1,"","get_db_connection"],[3,2,1,"","get_photo"],[3,1,1,"","import_info"],[3,1,1,"","keywords"],[3,1,1,"","keywords_as_dict"],[3,1,1,"","labels"],[3,1,1,"","labels_as_dict"],[3,1,1,"","labels_normalized"],[3,1,1,"","labels_normalized_as_dict"],[3,1,1,"","library_path"],[3,1,1,"","person_info"],[3,1,1,"","persons"],[3,1,1,"","persons_as_dict"],[3,2,1,"","photos"],[3,2,1,"","photos_by_uuid"],[3,1,1,"","project_info"],[3,2,1,"","query"]],osxphotos:[[3,0,1,"","PhotoInfo"],[3,0,1,"","PhotosDB"],[0,3,1,"cmdoption-osxphotos-db","--db"],[0,3,1,"cmdoption-osxphotos-json","--json"],[0,3,1,"cmdoption-osxphotos-v","--version"],[0,3,1,"cmdoption-osxphotos-v","-v"]]},objnames:{"0":["py","class","Python class"],"1":["py","property","Python property"],"2":["py","method","Python method"],"3":["std","cmdoption","program option"]},objtypes:{"0":"py:class","1":"py:property","2":"py:method","3":"std:cmdoption"},terms:{"0":[0,1,3],"00":0,"01":0,"048576mb":0,"07":0,"1":[0,1,3],"10":[0,1],"1048576":0,"11":1,"12":[0,1],"120":3,"12t12":0,"15":[0,1],"1gb":1,"2":[0,1],"20":0,"2000":0,"2001":0,"2019":0,"3":[0,1],"31":0,"4":3,"5":[0,3],"6":1,"7":1,"75":3,"8601":0,"boolean":3,"byte":[0,3],"case":[0,3],"class":[0,3],"default":[0,3],"do":[0,1,3],"export":3,"float":3,"function":0,"import":[0,1,3],"int":3,"long":3,"new":[0,1],"public":3,"return":[0,3],"true":[1,3],A:0,AND:[0,3],Be:0,By:0,For:[0,3],If:[0,1,3],In:[0,3],OR:[0,3],The:[0,1,3],Then:1,These:0,To:[0,1],__main__:1,__name__:1,_bearbeiten:0,_edit:0,_low_r:0,_origin:0,_preview:0,abbrevi:[],abil:1,abl:1,about:[1,3],abov:1,absolut:3,access:[1,3],accord:1,activ:[],actual:[0,3],ad:[0,3],add:0,addit:0,adjust:3,adjustmentsinfo:3,adob:0,advanc:1,advantag:0,after:0,against:3,ahead:3,aka:1,album:3,album_info:3,album_info_shar:3,album_nam:1,albuminfo:3,albums_as_dict:[1,3],albums_shar:3,albums_shared_as_dict:3,alic:1,all:[0,3],all_fil:[],allow:[0,1],alpha:0,alreadi:[0,3],also:[0,1,3],altern:[0,1],an:[0,3],ani:[0,1,3],apertur:[],apf:0,app:[0,1,3],append:0,appl:[0,1,3],applescript:[0,3],appli:[0,3],applic:1,ar:[0,3],aren:[1,3],arg:[0,1,3],argument:[0,1],asdict:3,ask:0,asset:3,associ:[0,1,3],assum:3,asynchroun:3,attempt:[0,1,3],attribut:0,author:0,auto:1,automat:0,avail:3,awar:3,back:3,bar:1,base:3,beach:0,becaus:1,been:[0,1,3],befor:[0,1],begin:0,behavior:0,being:0,belong:3,below:[0,1,3],best:0,beta:1,between:3,bind:0,bit:[],bit_rat:[],blob:0,bodi:[],bodies_of_wat:[],bool:[],both:[0,1],brew:[0,1],built:1,burst:[0,3],burst_album:3,burst_album_info:3,burst_default_pick:3,burst_kei:3,burst_photo:3,burst_select:3,call:[0,1,3],callabl:[],camera:[0,3],camera_mak:[],camera_model:[],can:[0,1],cannot:[0,3],canon:[0,3],care:1,catalina:0,categor:3,categori:0,caution:0,cd:1,certain:0,chang:[0,3],charact:1,citi:[],classif:[0,1],cleanup:0,cli:1,click:1,clone:[0,1],cloud:3,cloudasset:0,code:1,codec:[],collis:0,com:[0,1,3],comfort:1,command_nam:1,comment:[0,3],compar:0,compat:[0,1],complex:0,compon:0,comprehens:0,compress:0,comput:3,confid:3,confidence_threshold:3,config:0,confirm:0,conform:[],conjunct:0,connect:[0,3],consist:0,contact:1,contain:[0,1,3],context:0,convert:0,convert_to_jpeg:[],converted_to_jpeg:0,coordin:0,copi:[0,3],copyright:0,correct:3,correspond:0,could:[0,1],count:3,countri:[],cr2:3,crash:0,creat:0,created:0,creation:3,creationd:0,creator:0,criteria:[0,3],csv:0,curat:[],current:[0,3],cursor:3,dai:0,data:[0,3],databas:[0,1,3],date:[0,3],date_ad:3,date_modifi:3,date_trash:3,datecr:0,datetim:3,datetimeorigin:0,db2:0,db:[0,1,3],db_path:3,db_version:3,dbfile:3,debug:0,def:1,default_album:1,defin:0,degre:3,delet:[0,3],deleted_directori:[],deleted_fil:[],deriv:3,desc:0,descend:3,descr:0,describ:1,descript:[0,1,3],description_templ:3,dest:[0,3],dest_dir:1,destin:[1,3],detail:[0,3],detect:3,detected_text:3,determin:3,dict:3,did:0,diff:1,differ:[0,1,3],digikam:0,dir:1,direct:0,directli:[0,1],directori:0,disabl:1,disk:[0,3],displai:[0,1],doc:0,document:0,doe:[0,1,3],doesn:0,don:0,download:[0,1,3],drive:0,drop:0,dry:0,dry_run:[],dump:1,duplic:[0,1,3],durat:[],dure:0,dynam:0,e:[0,1,3],each:[0,3],earlier:3,easiest:1,easili:1,echo:[0,1],edit:[0,1,3],edited_filenam:[],edited_nam:1,editor:[0,3],either:[0,1,3],els:[1,3],emac:0,embed:0,empti:3,end:0,ensur:[1,3],entir:[0,3],environ:[0,1],equival:0,error:[0,3],error_str:[],etc:[0,1,3],eval:0,evalu:0,even:0,exact:3,exampl:[0,3],except:3,execut:[1,3],exif:[0,3],exif_info:3,exif_tag:0,exif_upd:0,exifinfo:3,exiftool:[0,1,3],exiftool_error:[],exiftool_flag:[],exiftool_path:0,exiftool_pod:0,exiftool_warn:[],exiftoolcach:3,exist:[0,1,3],exit:[0,1],expandus:1,expect:0,experi:0,experiment:0,export2:[],export_as_hardlink:3,export_db:[],export_dir:0,export_path:1,exportdb:0,exportdb_abc:[],exportdb_fil:0,exportdbinmemori:[],exported_album:[],exportresult:[],exposure_bia:[],express:0,ext:0,extend:[0,3],extens:[0,3],extern:[0,3],external_edit:3,extract:3,f:[0,1],face:[0,1,3],face_info:3,faceinfo:3,fail:3,failur:[],fall:3,fals:3,familiar:1,faster:[0,3],favorit:[0,3],featur:0,field:3,file:[0,3],filenam:[0,1,3],filename_origin:0,filepath:[0,1],files:3,fileutil:[],fileutilabc:[],fileutilnoop:[],filter:0,find:0,finder:0,findercom:0,first:[0,3],flag:0,flash_fir:[],flexibl:1,focal_length:[],folder:[0,3],folder_album:0,folder_info:3,folderinfo:3,follow:[0,1],foo:1,forc:[0,3],form:0,format:[0,1,3],found:[0,1,3],fp:[],from:[0,3],from_dat:[0,3],from_tim:0,front:[0,3],full:[0,3],g:[0,1,3],gener:[0,3],geoloc:[0,3],get:[1,3],get_db_connect:3,get_photo:3,github:[0,1],give:0,gp:0,gpscoordin:0,gpslatitud:0,gpslatituderef:0,gpslongitud:0,gpslongituderef:0,gpsposit:0,gpu:0,group:[0,3],h:1,ha:[0,1,3],had:0,handl:0,happen:0,hardlink:[0,3],harmonious_color:[],has_raw:3,hasadjust:[1,3],hash:0,have:[0,1,3],haven:0,hdr:[0,3],headlin:0,heic:0,height:[0,3],help:1,here:0,hidden:[0,3],high:0,highli:0,highlight:0,highlight_vis:[],hold:[],holidai:[],homebrew:[0,1],how:0,html:0,http:[0,1,3],i:[0,1,3],icloud:[0,3],id:0,identifi:[0,3],ignor:[0,3],ignore_date_modifi:[],ignore_signatur:[],imag:[0,1,3],imagedescript:0,img_1234:0,immedi:3,immers:[],implement:0,import_info:3,importinfo:3,improv:0,incloud:[0,3],includ:[0,1,3],incorrect:3,increment:3,index:1,info:[1,3],inform:[0,1,3],initi:3,insensit:0,inspect:0,instal:3,instanc:3,instead:[0,3],instruct:1,integ:0,intend:0,interact:[0,1,3],interesting_subject:[],intermitt:0,internet:0,interrupt:0,intrash:3,intrusive_object_pres:[],invalid:[1,3],io:0,iptc:[0,3],is_valid_filepath:1,iscloudasset:3,isdir:1,ismiss:[1,3],ismovi:3,iso:0,isphoto:3,israw:3,isrefer:3,item:[0,3],iterm2:0,j:[0,3],john:1,join:1,jpeg:[0,3],jpeg_ext:[],jpeg_qual:0,jpg:0,json:[0,3],just:[0,1],kei:3,keybind:0,keyword:3,keyword_templ:3,keywords_as_dict:[1,3],know:0,label:3,labels_as_dict:3,labels_norm:3,labels_normalized_as_dict:3,laps:[0,3],larg:[0,1],largest:3,last:[0,1],later:0,latest:[0,1],latitud:3,launch:0,lead:0,learn:[],lens_model:[],level:[0,3],librari:[0,3],library_path:[1,3],licens:[0,1],lightroom:0,liglob:3,like:[0,1,3],list:[1,3],live:[0,3],live_photo:3,lively_color:[],ll:0,load:0,local:3,locality_nam:[],locat:[0,3],log:3,longitud:3,look:[0,1],lose:0,lot:0,low_light:[],lower:0,m:[0,1],mac:[0,1],machin:[0,1],maco:[0,1],mai:[0,3],main:1,make:[0,1],makedir:1,mangl:3,mani:0,mark:[0,3],master:0,match:[0,3],max:0,maximum:0,me:1,mean:3,media:[],media_typ:1,memori:0,merg:0,merge_exif_keyword:[],merge_exif_person:[],messag:1,metadata:[0,3],metering_mod:[],method:[],mib:0,microsoft:0,might:3,min:[0,1],minor:0,miss:[0,1,3],missing_album:[],mo:0,mode:0,modif:[0,3],modifi:0,modifyd:0,modul:1,moment:3,monokai:0,monterei:1,month:[],more:[0,1,3],most:0,motion:[0,3],mov:[0,3],movi:[0,1,3],multi:0,multipl:[0,1],must:[0,3],mysteri:3,naiv:3,name:[0,3],need:[0,1],neighborhood:[],neither:[0,1,3],network:0,newer:0,nist:0,nois:[],non:[0,3],none:[1,3],nor:0,normal:[0,3],note:[0,1,3],notic:3,now:1,object:[0,3],obvious:0,occur:[0,3],offset:3,offsettimeorigin:0,older:3,one:[0,3],onli:[0,3],op:[],open:[0,1],option:[0,1,3],order:[0,1,3],org:[0,3],organ:0,orient:3,origin:[0,1,3],original_filenam:[1,3],original_files:3,original_height:3,original_nam:0,original_orient:3,original_width:3,os:1,osxphotos_export:0,osxphotos_snapshot:0,other:[0,1],otherwis:[0,1,3],out:[0,1],output:0,outsid:3,over:0,overal:[],overrid:0,overwrit:[0,3],own:[0,1],owner:3,p:1,packag:0,page:1,pair:[0,3],panorama:[0,3],paramet:[1,3],part:[0,3],particip:0,particular:3,pass:[0,3],path:[0,1,3],path_deriv:3,path_edit:[1,3],path_edited_live_photo:3,path_live_photo:3,path_raw:3,pathlib:1,pathvalid:1,per:0,perform:0,permit:0,person:3,person_info:3,personinfo:3,personinimag:0,persons_as_dict:[1,3],photo:[0,3],photo_ext:0,photo_filenam:0,photoinfo:[0,3],photokit:0,photonam:0,photoname_bearbeiten:0,photoname_edit:0,photoname_low_r:0,photoname_preview:0,photos_by_uuid:3,photos_librari:[0,1],photosdb:[1,3],photoshop:0,photoslibrari:[0,1],phototempl:3,pictur:[0,1,3],pixel:3,place:[1,3],place_nam:[],placeinfo:3,platform:1,pleas:1,pleasant_camera_tilt:[],pleasant_composit:[],pleasant_light:[],pleasant_pattern:[],pleasant_perspect:[],pleasant_post_process:[],pleasant_reflect:[],pleasant_symmetri:[],png:0,portrait:[0,3],posit:[0,1],possibl:[0,3],post:0,pre:1,preced:0,present:0,preview:[0,3],preview_suffix:[],previous:0,primari:0,print:[0,3],privat:0,process:[0,3],produc:3,program:0,project:[0,1,3],project_info:3,promot:[],properti:3,prototyp:0,provid:[0,1,3],py:[0,1],pygment:0,pylint:1,pypi:1,python3:1,python:[0,1],python_fil:0,qualiti:0,queri:[1,3],query_funct:0,queryopt:3,quickli:0,quicktim:[0,3],r:0,rais:3,ramdb:0,rang:0,rate:0,raw:[0,3],raw_origin:3,raw_photo:3,re:0,read:[1,3],readabl:3,recent:[0,3],recommend:1,refer:[0,1,3],referenc:0,regardless:3,regex:0,region:0,regular:0,relat:[],releas:1,reliabl:0,remov:0,renam:0,render:[0,3],render_opt:3,render_templ:3,rendered_str:3,renderopt:3,repeat:0,repl:1,replac:0,replace_keyword:[],repo:1,report:0,repres:[0,3],represent:3,requir:[0,1,3],resolut:0,result:[0,3],retri:0,reus:0,revers:[0,3],rhettbul:[0,1],run:[1,3],s:[0,3],same:[0,3],sample_r:[],sanitize_filepath:1,save:0,score:3,scoreinfo:3,screenshot:[0,3],script:0,search:[0,1,3],search_info:3,search_info_norm:3,searchinfo:3,season:[],second:3,see:[0,1,3],select:[0,3],self:3,selfi:[0,3],session:3,set:[0,3],setup:1,setuptool:1,sh:[0,1],share:[0,3],sharply_focused_subject:[],shell:[0,1],shell_quot:0,shot:0,should:[0,1],show:[0,1,3],shutter_spe:[],si:0,sidecar:[0,3],sidecar_drop_ext:[],sidecar_exiftool:3,sidecar_exiftool_skip:0,sidecar_exiftool_written:0,sidecar_ext:0,sidecar_json:3,sidecar_json_skip:0,sidecar_json_written:0,sidecar_xmp:3,sidecar_xmp_skip:0,sidecar_xmp_written:0,sierra:1,signatur:[0,3],silent:3,simpl:1,simpli:1,sinc:0,singl:[0,3],size:[0,1,3],skip:[0,1],skipped_album:[],slow:[0,3],slow_mo:3,smith:1,snap:1,snapshot:0,so:3,softwar:0,some:3,someth:3,sort:3,sourc:3,space:0,specif:[1,3],specifi:0,spotlight:[0,1],sql:3,sqldiff:0,sqlite3:3,stack:3,stamp:0,start:[0,1],state:[0,3],state_abbrevi:[],statement:3,statu:[0,3],still:3,storat:3,store:[0,3],str:3,street:[],string:[0,3],strip:0,style:0,subfold:0,subject:0,subsequ:0,suffix:[0,3],suitabl:0,suppli:3,sur:1,sure:[0,1],sy:1,synch:[0,3],syntax:0,system:0,t:[0,1,3],tabl:3,tag:[0,1,3],tagnam:0,tagslist:0,take:1,taken:0,tastefully_blur:[],templat:[0,1,3],template_str:3,term:[],termin:[0,1],test:[0,1],text:3,text_detection_confidence_threshold:3,than:[0,3],thei:[0,3],them:[0,3],theme:0,thi:[0,1,3],threshold:3,through:1,thu:[0,1],time:[0,3],time_laps:3,timecr:0,timeout:3,timestamp:0,timezon:[0,3],titl:[0,1,3],tmp:0,to_dat:[0,3],to_tim:0,todai:0,toml:0,top:[0,3],topic:0,touch:0,touch_fil:[],town:[],track_format:[],trail:0,trash:3,treat:[0,3],trigger:0,tupl:3,tutori:1,two:0,txt:0,type:[0,3],tzoffset:3,u:0,unedit:1,unfil:1,uniform:[0,3],uninstal:1,uniqu:0,unit:0,unless:3,unlik:0,unmatch:3,until:3,up:0,updat:[0,3],upgrad:0,upon:[0,3],us:[0,3],use_albums_as_keyword:3,use_persons_as_keyword:3,use_photokit:[],use_photos_export:3,useabl:0,user:3,userdata:0,utc:3,uti:[0,3],uti_edit:3,uti_origin:3,uti_raw:3,util:1,uuid:[1,3],v:[0,1],vacat:3,valid:[0,1,3],valu:[0,1,3],variabl:0,variou:[],ve:[0,3],venu:[],venue_typ:[],verbos:[0,3],veri:1,verifi:1,versa:1,version:[0,1,3],vi:0,via:[0,1,3],vice:1,video:[0,3],virtual:[0,1],visbl:3,visibl:3,volum:0,wa:[0,3],wai:1,want:[0,1],warn:[0,1,3],water:[],wed:3,well:[0,1,3],well_chosen_subject:[],well_framed_subject:[],well_timed_shot:[],went:0,were:[0,3],what:[0,3],when:[0,3],where:0,whether:0,which:[0,1,3],white_bal:[],whitespac:0,whose:0,width:[0,3],within:0,without:0,work:[0,1,3],would:[0,1],write:[0,3],written:[0,3],x:1,xattr:0,xattr_skip:[],xattr_written:[],xmp:[0,3],y:0,ye:0,year:0,yet:3,you:[0,1,3],your:[0,1]},titles:["osxphotos command line interface (CLI)","Welcome to osxphotos\u2019s documentation!","osxphotos","osxphotos package"],titleterms:{"200mb":1,"4":1,"5":1,"default":1,"export":[0,1],about:0,add:1,album:[0,1],all:1,ar:1,awail:1,base:1,big:1,chang:1,cli:0,command:[0,1],countri:1,creat:1,creation:1,date:1,desktop:1,diff:0,digit:1,directori:1,document:1,dump:0,exampl:1,exif:1,file:1,find:1,folder:1,from:1,full:1,git:1,group:1,help:0,higher:1,indic:1,info:0,instal:[0,1],interfac:[0,1],json:1,keyword:[0,1],kid:1,label:[0,1],larger:1,librari:1,line:[0,1],list:0,media:1,metadata:1,modul:3,month:1,name:1,necessari:1,nocountri:1,onli:1,oper:1,osxphoto:[0,1,2,3],ouput:1,output:1,packag:[1,3],person:[0,1],photo:1,pip:1,pipx:1,place:0,print:1,queri:0,repl:0,repositori:1,result:1,run:0,s:1,snap:0,specifi:1,structur:1,support:1,system:1,tabl:1,than:1,them:1,tutori:0,type:1,uninstal:0,updat:1,us:1,usag:1,uuid:0,verbos:1,video:1,welcom:1,what:1,when:1,write:1,year:1}}) \ No newline at end of file +Search.setIndex({docnames:["cli","index","modules","reference"],envversion:{"sphinx.domains.c":2,"sphinx.domains.changeset":1,"sphinx.domains.citation":1,"sphinx.domains.cpp":4,"sphinx.domains.index":1,"sphinx.domains.javascript":2,"sphinx.domains.math":2,"sphinx.domains.python":3,"sphinx.domains.rst":2,"sphinx.domains.std":2,"sphinx.ext.intersphinx":1,"sphinx.ext.viewcode":1,sphinx:56},filenames:["cli.rst","index.rst","modules.rst","reference.rst"],objects:{"osxphotos.PhotoInfo":[[3,1,1,"","adjustments"],[3,1,1,"","album_info"],[3,1,1,"","albums"],[3,2,1,"","asdict"],[3,1,1,"","burst"],[3,1,1,"","burst_album_info"],[3,1,1,"","burst_albums"],[3,1,1,"","burst_default_pick"],[3,1,1,"","burst_key"],[3,1,1,"","burst_photos"],[3,1,1,"","burst_selected"],[3,1,1,"","comments"],[3,1,1,"","date"],[3,1,1,"","date_added"],[3,1,1,"","date_modified"],[3,1,1,"","date_trashed"],[3,1,1,"","description"],[3,2,1,"","detected_text"],[3,1,1,"","duplicates"],[3,1,1,"","exif_info"],[3,1,1,"","exiftool"],[3,2,1,"","export"],[3,1,1,"","external_edit"],[3,1,1,"","face_info"],[3,1,1,"","favorite"],[3,1,1,"","filename"],[3,1,1,"","has_raw"],[3,1,1,"","hasadjustments"],[3,1,1,"","hdr"],[3,1,1,"","height"],[3,1,1,"","hidden"],[3,1,1,"","import_info"],[3,1,1,"","incloud"],[3,1,1,"","intrash"],[3,1,1,"","iscloudasset"],[3,1,1,"","ismissing"],[3,1,1,"","ismovie"],[3,1,1,"","isphoto"],[3,1,1,"","israw"],[3,1,1,"","isreference"],[3,2,1,"","json"],[3,1,1,"","keywords"],[3,1,1,"","labels"],[3,1,1,"","labels_normalized"],[3,1,1,"","likes"],[3,1,1,"","live_photo"],[3,1,1,"","location"],[3,1,1,"","moment"],[3,1,1,"","orientation"],[3,1,1,"","original_filename"],[3,1,1,"","original_filesize"],[3,1,1,"","original_height"],[3,1,1,"","original_orientation"],[3,1,1,"","original_width"],[3,1,1,"","owner"],[3,1,1,"","panorama"],[3,1,1,"","path"],[3,1,1,"","path_derivatives"],[3,1,1,"","path_edited"],[3,1,1,"","path_edited_live_photo"],[3,1,1,"","path_live_photo"],[3,1,1,"","path_raw"],[3,1,1,"","person_info"],[3,1,1,"","persons"],[3,1,1,"","place"],[3,1,1,"","portrait"],[3,1,1,"","project_info"],[3,1,1,"","raw_original"],[3,2,1,"","render_template"],[3,1,1,"","score"],[3,1,1,"","screenshot"],[3,1,1,"","search_info"],[3,1,1,"","search_info_normalized"],[3,1,1,"","selfie"],[3,1,1,"","shared"],[3,1,1,"","slow_mo"],[3,1,1,"","time_lapse"],[3,1,1,"","title"],[3,1,1,"","tzoffset"],[3,1,1,"","uti"],[3,1,1,"","uti_edited"],[3,1,1,"","uti_original"],[3,1,1,"","uti_raw"],[3,1,1,"","uuid"],[3,1,1,"","visible"],[3,1,1,"","width"]],"osxphotos.PhotosDB":[[3,1,1,"","album_info"],[3,1,1,"","album_info_shared"],[3,1,1,"","albums"],[3,1,1,"","albums_as_dict"],[3,1,1,"","albums_shared"],[3,1,1,"","albums_shared_as_dict"],[3,1,1,"","db_path"],[3,1,1,"","db_version"],[3,2,1,"","execute"],[3,1,1,"","folder_info"],[3,1,1,"","folders"],[3,2,1,"","get_db_connection"],[3,2,1,"","get_photo"],[3,1,1,"","import_info"],[3,1,1,"","keywords"],[3,1,1,"","keywords_as_dict"],[3,1,1,"","labels"],[3,1,1,"","labels_as_dict"],[3,1,1,"","labels_normalized"],[3,1,1,"","labels_normalized_as_dict"],[3,1,1,"","library_path"],[3,1,1,"","person_info"],[3,1,1,"","persons"],[3,1,1,"","persons_as_dict"],[3,2,1,"","photos"],[3,2,1,"","photos_by_uuid"],[3,1,1,"","project_info"],[3,2,1,"","query"]],osxphotos:[[3,0,1,"","PhotoInfo"],[3,0,1,"","PhotosDB"]]},objnames:{"0":["py","class","Python class"],"1":["py","property","Python property"],"2":["py","method","Python method"]},objtypes:{"0":"py:class","1":"py:property","2":"py:method"},terms:{"0":[1,3],"00":[],"01":[],"048576mb":[],"07":[],"1":[1,3],"10":1,"1048576":[],"11":1,"12":1,"120":3,"12t12":[],"15":1,"1gb":1,"2":1,"20":[],"2000":[],"2001":[],"2019":[],"3":1,"31":[],"4":3,"5":3,"6":1,"7":[],"75":3,"8":1,"8601":[],"boolean":3,"byte":3,"case":3,"class":3,"default":3,"do":[1,3],"export":3,"float":3,"function":[],"import":[1,3],"int":3,"long":3,"new":1,"public":3,"return":3,"true":[1,3],A:[],AND:3,Be:[],By:[],For:3,If:[1,3],In:3,OR:3,The:[1,3],Then:1,These:[],To:1,__main__:1,__name__:1,_bearbeiten:[],_edit:[],_low_r:[],_origin:[],_preview:[],abbrevi:[],abil:1,abl:1,about:[1,3],abov:1,absolut:3,access:[1,3],accord:1,activ:[],actual:3,ad:3,add:[],addit:[],adjust:3,adjustmentsinfo:3,adob:[],advanc:1,advantag:[],after:[],against:3,ahead:3,aka:1,album:3,album_info:3,album_info_shar:3,album_nam:1,albuminfo:3,albums_as_dict:[1,3],albums_shar:3,albums_shared_as_dict:3,alic:1,all:3,all_fil:[],allow:1,alpha:[],alreadi:3,also:[1,3],altern:1,an:3,ani:[1,3],apertur:[],apf:[],app:[1,3],append:[],appl:[1,3],applescript:3,appli:3,applic:1,ar:3,aren:[1,3],arg:[1,3],argument:1,asdict:3,ask:[],asset:3,associ:[1,3],assum:3,asynchroun:3,attempt:[1,3],attribut:[],author:[],auto:1,automat:[],avail:3,awar:3,back:3,bar:1,base:3,beach:[],becaus:1,been:[1,3],befor:1,begin:[],behavior:[],being:[],belong:3,below:[1,3],best:[],beta:1,between:3,bind:[],bit:[],bit_rat:[],blob:[],bodi:[],bodies_of_wat:[],bool:[],both:1,brew:1,built:1,burst:3,burst_album:3,burst_album_info:3,burst_default_pick:3,burst_kei:3,burst_photo:3,burst_select:3,call:[1,3],callabl:[],camera:3,camera_mak:[],camera_model:[],can:1,cannot:3,canon:3,care:1,catalina:[],categor:3,categori:[],caution:[],cd:1,certain:[],chang:3,charact:1,citi:[],classif:1,cleanup:[],cli:1,click:1,clone:1,cloud:3,cloudasset:[],code:1,codec:[],collis:[],com:[1,3],comfort:1,command_nam:1,comment:3,compar:[],compat:1,complex:[],compon:[],comprehens:[],compress:[],comput:3,confid:3,confidence_threshold:3,config:[],confirm:[],conform:[],conjunct:[],connect:3,consist:[],contact:1,contain:[1,3],context:[],convert:[],convert_to_jpeg:[],converted_to_jpeg:[],coordin:[],copi:3,copyright:[],correct:3,correspond:[],could:1,count:3,countri:[],cr2:3,crash:[],creat:[],created:[],creation:3,creationd:[],creator:[],criteria:3,csv:[],curat:[],current:3,cursor:3,dai:[],data:3,databas:[1,3],date:3,date_ad:3,date_modifi:3,date_trash:3,datecr:[],datetim:3,datetimeorigin:[],db2:[],db:[1,3],db_path:3,db_version:3,dbfile:3,debug:[],def:1,default_album:1,defin:[],degre:3,delet:3,deleted_directori:[],deleted_fil:[],deriv:3,desc:[],descend:3,descr:[],describ:1,descript:[1,3],description_templ:3,dest:3,dest_dir:1,destin:[1,3],detail:3,detect:3,detected_text:3,determin:3,dict:3,did:[],diff:[],differ:[1,3],digikam:[],dir:1,direct:[],directli:1,directori:[],disabl:1,disk:3,displai:1,doc:[],document:[],doe:[1,3],doesn:[],don:[],download:[1,3],drive:[],drop:[],dry:[],dry_run:[],dump:1,duplic:[1,3],durat:[],dure:[],dynam:[],e:[1,3],each:3,earlier:3,easiest:1,easili:1,echo:1,edit:[1,3],edited_filenam:[],edited_nam:1,editor:3,either:[1,3],els:[1,3],emac:[],embed:[],empti:3,end:[],ensur:[1,3],entir:3,environ:1,equival:[],error:3,error_str:[],etc:[1,3],eval:[],evalu:[],even:[],exact:3,exampl:3,except:3,execut:[1,3],exif:3,exif_info:3,exif_tag:[],exif_upd:[],exifinfo:3,exiftool:[1,3],exiftool_error:[],exiftool_flag:[],exiftool_path:[],exiftool_pod:[],exiftool_warn:[],exiftoolcach:3,exist:[1,3],exit:1,expandus:1,expect:[],experi:[],experiment:[],export2:[],export_as_hardlink:3,export_db:[],export_dir:[],export_path:1,exportdb:[],exportdb_abc:[],exportdb_fil:[],exportdbinmemori:[],exported_album:[],exportresult:[],exposure_bia:[],express:[],ext:[],extend:3,extens:3,extern:3,external_edit:3,extract:3,f:1,face:[1,3],face_info:3,faceinfo:3,fail:3,failur:[],fall:3,fals:3,familiar:1,faster:3,favorit:3,featur:[],field:3,file:3,filenam:[1,3],filename_origin:[],filepath:1,files:3,fileutil:[],fileutilabc:[],fileutilnoop:[],filter:[],find:[],finder:[],findercom:[],first:3,flag:[],flash_fir:[],flexibl:1,focal_length:[],folder:3,folder_album:[],folder_info:3,folderinfo:3,follow:1,foo:1,forc:3,form:[],format:[1,3],found:[1,3],fp:[],from:3,from_dat:3,from_tim:[],front:3,full:3,g:[1,3],gener:3,geoloc:3,get:[1,3],get_db_connect:3,get_photo:3,github:1,give:[],gp:[],gpscoordin:[],gpslatitud:[],gpslatituderef:[],gpslongitud:[],gpslongituderef:[],gpsposit:[],gpu:[],group:3,h:1,ha:[1,3],had:[],handl:[],happen:[],hardlink:3,harmonious_color:[],has_raw:3,hasadjust:[1,3],hash:[],have:[1,3],haven:[],hdr:3,headlin:[],heic:[],height:3,help:1,here:[],hidden:3,high:[],highli:[],highlight:[],highlight_vis:[],hold:[],holidai:[],homebrew:1,how:[],html:[],http:[1,3],i:[1,3],icloud:3,id:[],identifi:3,ignor:3,ignore_date_modifi:[],ignore_signatur:[],imag:[1,3],imagedescript:[],img_1234:[],immedi:3,immers:[],implement:[],import_info:3,importinfo:3,improv:[],incloud:3,includ:[1,3],incorrect:3,increment:3,index:1,info:[1,3],inform:[1,3],initi:3,insensit:[],inspect:[],instal:3,instanc:3,instead:3,instruct:1,integ:[],intend:[],interact:[1,3],interesting_subject:[],intermitt:[],internet:[],interrupt:[],intrash:3,intrusive_object_pres:[],invalid:[1,3],io:[],iptc:3,is_valid_filepath:1,iscloudasset:3,isdir:1,ismiss:[1,3],ismovi:3,iso:[],isphoto:3,israw:3,isrefer:3,item:3,iterm2:[],j:3,john:1,join:1,jpeg:3,jpeg_ext:[],jpeg_qual:[],jpg:[],json:3,just:1,kei:3,keybind:[],keyword:3,keyword_templ:3,keywords_as_dict:[1,3],know:[],label:3,labels_as_dict:3,labels_norm:3,labels_normalized_as_dict:3,laps:3,larg:1,largest:3,last:1,later:[],latest:1,latitud:3,launch:[],lead:[],learn:[],lens_model:[],level:3,librari:3,library_path:[1,3],licens:1,lightroom:[],liglob:3,like:[1,3],list:[1,3],live:3,live_photo:3,lively_color:[],ll:[],load:[],local:3,locality_nam:[],locat:3,log:3,longitud:3,look:1,lose:[],lot:[],low_light:[],lower:[],m:1,mac:1,machin:1,maco:1,mai:3,main:1,make:1,makedir:1,mangl:3,mani:[],mark:3,master:[],match:3,max:[],maximum:[],me:1,mean:3,media:[],media_typ:1,memori:[],merg:[],merge_exif_keyword:[],merge_exif_person:[],messag:1,metadata:3,metering_mod:[],method:[],mib:[],microsoft:[],might:3,min:1,minor:[],miss:[1,3],missing_album:[],mo:[],mode:[],modif:3,modifi:[],modifyd:[],modul:1,moment:3,monokai:[],monterei:1,month:[],more:[1,3],most:[],motion:3,mov:3,movi:[1,3],multi:[],multipl:1,must:3,mysteri:3,naiv:3,name:3,need:1,neighborhood:[],neither:[1,3],network:[],newer:[],nist:[],nois:[],non:3,none:[1,3],nor:[],normal:3,note:[1,3],notic:3,now:1,object:3,obvious:[],occur:3,offset:3,offsettimeorigin:[],older:3,one:3,onli:3,op:[],open:1,option:[1,3],order:[1,3],org:3,organ:[],orient:3,origin:[1,3],original_filenam:[1,3],original_files:3,original_height:3,original_nam:[],original_orient:3,original_width:3,os:1,osxphotos_export:[],osxphotos_snapshot:[],other:1,otherwis:[1,3],out:1,output:[],outsid:3,over:[],overal:[],overrid:[],overwrit:3,own:1,owner:3,p:1,packag:[],page:1,pair:3,panorama:3,paramet:[1,3],part:3,particip:[],particular:3,pass:3,path:[1,3],path_deriv:3,path_edit:[1,3],path_edited_live_photo:3,path_live_photo:3,path_raw:3,pathlib:1,pathvalid:1,per:[],perform:[],permit:[],person:3,person_info:3,personinfo:3,personinimag:[],persons_as_dict:[1,3],photo:3,photo_ext:[],photo_filenam:[],photoinfo:3,photokit:[],photonam:[],photoname_bearbeiten:[],photoname_edit:[],photoname_low_r:[],photoname_preview:[],photos_by_uuid:3,photos_librari:1,photosdb:[1,3],photoshop:[],photoslibrari:1,phototempl:3,pictur:[1,3],pixel:3,place:[1,3],place_nam:[],placeinfo:3,platform:1,pleas:1,pleasant_camera_tilt:[],pleasant_composit:[],pleasant_light:[],pleasant_pattern:[],pleasant_perspect:[],pleasant_post_process:[],pleasant_reflect:[],pleasant_symmetri:[],png:[],portrait:3,posit:1,possibl:3,post:[],pre:1,preced:[],present:[],preview:3,preview_suffix:[],previous:[],primari:[],print:3,privat:[],process:3,produc:3,program:[],project:[1,3],project_info:3,promot:[],properti:3,prototyp:[],provid:[1,3],py:1,pygment:[],pylint:1,pypi:1,python3:1,python:1,python_fil:[],qualiti:[],queri:[1,3],query_funct:[],queryopt:3,quickli:[],quicktim:3,r:[],rais:3,ramdb:[],rang:[],rate:[],raw:3,raw_origin:3,raw_photo:3,re:[],read:[1,3],readabl:3,recent:3,recommend:1,refer:[1,3],referenc:[],regardless:3,regex:[],region:[],regular:[],relat:[],releas:1,reliabl:[],remov:[],renam:[],render:3,render_opt:3,render_templ:3,rendered_str:3,renderopt:3,repeat:[],repl:1,replac:[],replace_keyword:[],repo:1,report:[],repres:3,represent:3,requir:[1,3],resolut:[],result:3,retri:[],reus:[],revers:3,rhettbul:1,run:[1,3],s:3,same:3,sample_r:[],sanitize_filepath:1,save:[],score:3,scoreinfo:3,screenshot:3,script:[],search:[1,3],search_info:3,search_info_norm:3,searchinfo:3,season:[],second:3,see:[1,3],select:3,self:3,selfi:3,session:3,set:3,setup:1,setuptool:1,sh:1,share:3,sharply_focused_subject:[],shell:1,shell_quot:[],shot:[],should:1,show:[1,3],shutter_spe:[],si:[],sidecar:3,sidecar_drop_ext:[],sidecar_exiftool:3,sidecar_exiftool_skip:[],sidecar_exiftool_written:[],sidecar_ext:[],sidecar_json:3,sidecar_json_skip:[],sidecar_json_written:[],sidecar_xmp:3,sidecar_xmp_skip:[],sidecar_xmp_written:[],sierra:1,signatur:3,silent:3,simpl:1,simpli:1,sinc:[],singl:3,size:[1,3],skip:1,skipped_album:[],slow:3,slow_mo:3,smith:1,snap:[],snapshot:[],so:3,softwar:[],some:3,someth:3,sort:3,sourc:3,space:[],specif:[1,3],specifi:[],spotlight:1,sql:3,sqldiff:[],sqlite3:3,stack:3,stamp:[],start:1,state:3,state_abbrevi:[],statement:3,statu:3,still:3,storat:3,store:3,str:3,street:[],string:3,strip:[],style:[],subfold:[],subject:[],subsequ:[],suffix:3,suitabl:[],suppli:3,sur:1,sure:1,sy:1,synch:3,syntax:[],system:[],t:[1,3],tabl:3,tag:[1,3],tagnam:[],tagslist:[],take:1,taken:[],tastefully_blur:[],templat:[1,3],template_str:3,term:[],termin:1,test:1,text:3,text_detection_confidence_threshold:3,than:3,thei:3,them:3,theme:[],thi:[1,3],threshold:3,through:1,thu:1,time:3,time_laps:3,timecr:[],timeout:3,timestamp:[],timezon:3,titl:[1,3],tmp:[],to_dat:3,to_tim:[],todai:[],toml:[],top:3,topic:[],touch:[],touch_fil:[],town:[],track_format:[],trail:[],trash:3,treat:3,trigger:[],tupl:3,tutori:1,two:[],txt:[],type:3,tzoffset:3,u:[],unedit:1,unfil:1,uniform:3,uninstal:[],uniqu:[],unit:[],unless:3,unlik:[],unmatch:3,until:3,up:[],updat:3,upgrad:[],upon:3,us:3,use_albums_as_keyword:3,use_persons_as_keyword:3,use_photokit:[],use_photos_export:3,useabl:[],user:3,userdata:[],utc:3,uti:3,uti_edit:3,uti_origin:3,uti_raw:3,util:1,uuid:[1,3],v:1,vacat:3,valid:[1,3],valu:[1,3],variabl:[],variou:[],ve:3,venu:[],venue_typ:[],verbos:3,veri:1,verifi:1,versa:1,version:[1,3],vi:[],via:[1,3],vice:1,video:3,virtual:1,visbl:3,visibl:3,volum:[],wa:3,wai:1,want:1,warn:[1,3],water:[],wed:3,well:[1,3],well_chosen_subject:[],well_framed_subject:[],well_timed_shot:[],went:[],were:3,what:3,when:3,where:[],whether:[],which:[1,3],white_bal:[],whitespac:[],whose:[],width:3,within:[],without:[],work:[1,3],would:1,write:3,written:3,x:1,xattr:[],xattr_skip:[],xattr_written:[],xmp:3,y:[],ye:[],year:[],yet:3,you:[1,3],your:1},titles:["osxphotos command line interface (CLI)","Welcome to osxphotos\u2019s documentation!","osxphotos","osxphotos package"],titleterms:{"200mb":1,"4":1,"5":1,"default":1,"export":1,about:[],add:1,album:1,all:1,ar:1,awail:1,base:1,big:1,chang:1,cli:0,command:[0,1],countri:1,creat:1,creation:1,date:1,desktop:1,diff:[],digit:1,directori:1,document:1,dump:[],exampl:1,exif:1,file:1,find:1,folder:1,from:1,full:1,git:1,group:1,help:[],higher:1,indic:1,info:[],instal:1,interfac:[0,1],json:1,keyword:1,kid:1,label:1,larger:1,librari:1,line:[0,1],list:[],media:1,metadata:1,modul:3,month:1,name:1,necessari:1,nocountri:1,onli:1,oper:1,osxphoto:[0,1,2,3],ouput:1,output:1,packag:[1,3],person:1,photo:1,pip:1,pipx:1,place:[],print:1,queri:[],repl:[],repositori:1,result:1,run:[],s:1,snap:[],specifi:1,structur:1,support:1,system:1,tabl:1,than:1,them:1,tutori:[],type:1,uninstal:[],updat:1,us:1,usag:1,uuid:[],verbos:1,video:1,welcom:1,what:1,when:1,write:1,year:1}}) \ No newline at end of file