Nice to hear from someone else with a huge iCloud Photo Library--we've got about 1.2 TB! After a lot of experimentation with Google Photos, Synology's photo APP, etc. we finally settled on going all in on the Apple ecosystem (we're an all-Apple family). The game-changer for us was when Apple finally supported shared photo libraries between users.
The ability to search the photo library has been steadily improving (in my experience, Google still has an edge over Apple in this area) and with the advent of new AI technology I only expect it to get better. Except for special occasions I don't even attempt to "organize" or "tag" my photos. It reminds me of how Google Search surpassed early 'library catalog' style indexes like Yahoo.
The biggest downside of iCloud is the lack of an API to access the data programmatically for backups etc. I've experimented with `icloudpd` and it worked OK, but I'm not sure about the long-term stability as it's basically just "screen scraping" iCloud.com to download the photos from the web which is not officially supported by Apple and is sensitive to any changes to the website as well as the (remote?) possibility of getting your account banned. The performance is also bad as it has to download all photos even the ones that are already stored locally.
There’s also `osxphotos` (https://github.com/RhetTbull/osxphotos) which works by reverse engineering the undocumented sqlite database in the photos library that Apple uses for storing the photos metadata. This avoids the performance problems of accessing the library through iCloud.com like `icloudp` does and enables many more features like searching by faces, places, etc. and they have an export function with a ton of options to backup your library.
Finally, I have a side-project working on a simple set-it-and-forget Mac app for backing up your entire photo library (including iCloud Photos) to a local disk, network share, NAS, etc. Unlike the above options, it uses the official Apple PhotoKit library to access the photos and doesn’t require setting up a Python environment, running command-line tools, etc. If you’re interested check it out here: https://www.ibeni.net
The ability to search the photo library has been steadily improving (in my experience, Google still has an edge over Apple in this area) and with the advent of new AI technology I only expect it to get better. Except for special occasions I don't even attempt to "organize" or "tag" my photos. It reminds me of how Google Search surpassed early 'library catalog' style indexes like Yahoo.
The biggest downside of iCloud is the lack of an API to access the data programmatically for backups etc. I've experimented with `icloudpd` and it worked OK, but I'm not sure about the long-term stability as it's basically just "screen scraping" iCloud.com to download the photos from the web which is not officially supported by Apple and is sensitive to any changes to the website as well as the (remote?) possibility of getting your account banned. The performance is also bad as it has to download all photos even the ones that are already stored locally.
There’s also `osxphotos` (https://github.com/RhetTbull/osxphotos) which works by reverse engineering the undocumented sqlite database in the photos library that Apple uses for storing the photos metadata. This avoids the performance problems of accessing the library through iCloud.com like `icloudp` does and enables many more features like searching by faces, places, etc. and they have an export function with a ton of options to backup your library.
Finally, I have a side-project working on a simple set-it-and-forget Mac app for backing up your entire photo library (including iCloud Photos) to a local disk, network share, NAS, etc. Unlike the above options, it uses the official Apple PhotoKit library to access the photos and doesn’t require setting up a Python environment, running command-line tools, etc. If you’re interested check it out here: https://www.ibeni.net