A command-line tool to download photos from iCloud
Go to file
Andrey Nikiforov 745967117a
split npm compatibility tests into npm/npx tests (#818)
2024-04-15 20:14:42 -07:00
.devcontainer fix tag in dev container 2023-11-29 07:31:16 -08:00
.github split npm compatibility tests into npm/npx tests (#818) 2024-04-15 20:14:42 -07:00
binary_dist normalize eol (#815) 2024-04-11 22:22:08 -07:00
examples folder structure cleanup (#649) 2023-07-01 14:05:24 -07:00
jq fix npm package (#639) 2023-06-14 23:32:49 -07:00
npm split npm compatibility tests into npm/npx tests (#818) 2024-04-15 20:14:42 -07:00
scripts split npm compatibility tests into npm/npx tests (#818) 2024-04-15 20:14:42 -07:00
src normalize eol (#815) 2024-04-11 22:22:08 -07:00
tests normalize eol (#815) 2024-04-11 22:22:08 -07:00
.codeclimate.yml Set up pylint in CI 2018-08-01 19:24:37 +07:00
.dockerignore normalize eol (#815) 2024-04-11 22:22:08 -07:00
.gitattributes normalize eol (#815) 2024-04-11 22:22:08 -07:00
.gitignore normalize eol (#815) 2024-04-11 22:22:08 -07:00
CHANGELOG.md normalize eol (#815) 2024-04-11 22:22:08 -07:00
CODE_OF_CONDUCT.md update documentation 2020-12-02 22:30:54 +01:00
CONTRIBUTING.md normalize eol (#815) 2024-04-11 22:22:08 -07:00
Dockerfile normalize eol (#815) 2024-04-11 22:22:08 -07:00
EXPERIMENTAL.md normalize eol (#815) 2024-04-11 22:22:08 -07:00
FAQ.md normalize eol (#815) 2024-04-11 22:22:08 -07:00
LICENSE.md add experimental npm distribution (#635) 2023-06-10 10:40:43 -07:00
README.md Add README_AUR.md (#783) 2024-02-01 13:16:45 -08:00
README_AUR.md Add README_AUR.md (#783) 2024-02-01 13:16:45 -08:00
README_DOCKER.md Fix asset file date when using docker image #714 (#723) 2023-12-02 13:05:32 -08:00
README_NPM.md fix npm package (#639) 2023-06-14 23:32:49 -07:00
README_PYPI.md fix pypi publishing for macos 2023-07-06 08:35:14 -07:00
pyproject.toml normalize eol (#815) 2024-04-11 22:22:08 -07:00
requirements-pip.txt update deps (#578) 2023-02-09 22:09:52 -08:00

README.md

iCloud Photos Downloader Quality Checks Multi Platform Docker Build MIT License

  • A command-line tool to download all your iCloud photos.
  • Works on Linux, Windows, and MacOS; laptop, desktop, and NAS
  • Available as an executable for direct downloading and through package managers/ecosystems (Docker, PyPI, AUR, Experimental: Npm)
  • Developed and maintained by volunteers (we are always looking for help).

We aim to release new versions once a week (Friday), if there is something worth delivering.

Install and Run

There are three ways to run icloudpd:

  1. Download executable for your platform from the Github Releases and run it
  2. Use package manager to install, update, and, in some cases, run (Docker, PyPI, AUR, Experimental: Npm)
  3. Build and run from the source

Features

  • Three modes of operation:
    • Copy - download new photos from iCloud (default mode)
    • Sync - download new photos from iCloud and delete local files that were removed in iCloud (--auto-delete option)
    • Move - download new photos from iCloud and delete photos in iCloud (--delete-after-download option)
  • Support for Live Photos (image and video as separate files)
  • Automatic de-duplication of photos with the same name
  • One time download and an option to monitor for iCloud changes continuously (--watch-with-interval option)
  • Optimizations for incremental runs (--until-found and --recent options)
  • Photo meta data (EXIF) updates (--set-exif-datetime option)
  • ... and many more (use --help option to get full list)

Experimental Mode

Some changes are added to the experimental mode before they graduate into the main package. Details

Usage

To keep your iCloud photo collection synchronized to your local system:

icloudpd --directory /data --username my@email.address --watch-with-interval 3600
  • Synchronization logic can be adjusted with command-line parameters. Run icloudpd --help to get full list.

To independently create and authorize a session (and complete 2SA/2FA validation if needed) on your local system:

icloudpd --username my@email.address --password my_password --auth-only
  • This feature can also be used to check and verify that the session is still authenticated.

FAQ

Nuances of working with the iCloud or a specific operating system are collected in the FAQ. Also, check Issues.

Contributing

Want to contribute to iCloud Photos Downloader? Awesome! Check out the contributing guidelines to get involved.