Features
immichpy's core is a thin, schema-driven layer over the Immich API. On top of that core, a small set of hand-written convenience features cover common operations that are awkward to do with the raw endpoints. These are preferred over the auto-generated equivalents for the operations they cover.
Upload
Upload files or directories with a single call, with recursive scanning, SHA1 duplicate detection, album assignment, sidecar support, and a dry-run mode. (CLI, Client)
Choosing the right tool
immichpy's upload is built for scripted ingestion from Python. For migrating Google Photos or iCloud takeouts — with metadata preservation, stacking, and folder-derived albums — use immich-go. The two are complementary: automation versus migration.
Downloads
- Download an asset (original file) directly to disk. (CLI, Client)
- Download an asset thumbnail directly to disk. (CLI, Client)
- Download an asset video stream directly to disk. (CLI, Client)
- Download asset archives (ZIP files) directly to disk. You can download whole albums or user-specified assets in a single request. (CLI, Client)
- Download a user's profile image directly to disk. (CLI, Client)
Resumable Downloads
All of the asset download methods support automatic resumable downloads. Archive downloads (ZIP files) do not, due to the nature of streaming archives.