Import photos without losing your place.
Python command-line tools for moving large photo libraries into Apple Photos. Every step is recorded in a manifest, so a crash or timeout resumes instead of starting over or duplicating files.
What it does
resumable_photos_import.py: restartable importer withinit,run,status,preflightandverifycommands; JPEG and RAW keep separate manifests.photos_import_watchdog.pysupervises the import phases, andphotos_import_errors.pyclassifies failures and picks a recovery action.sd_offload.pycopies from removable storage;--verify hashcompares SHA-256 so a same-size corrupted copy is caught.verifyreads every manifest file back and exits 1 if any is missing, empty or unreadable, before you retire a source copy.- Status and report files are written atomically, so a reader never sees a half-written file.
Status
Prototype. It runs on your Mac and talks to Photos.app; defaults reflect one machine's folder layout, so pass your own paths as the README describes.
Run it yourself
git clone https://github.com/Duncan-Haywood/oss-monorepo cd oss-monorepo/ventures/photos-import-tools
The README in that folder has the full steps.
Privacy and usage
This page has no scripts, cookies or analytics, and records nothing about you.
Disclaimer
Always keep your original files until verify passes and you have checked the result in Photos. Importing can fail partway; back up first.
No warranty. This software is provided free and as-is, without warranty of any kind, express or implied. You are responsible for reviewing and verifying its output before relying on it. To the maximum extent permitted by law, the authors accept no liability for any loss or damage arising from its use.