Skip to main content

Download photos and videos from iCloud

Project description

Gimme-iPhotos

PyPI PyPI

Download media files from iCloud.

This tool uses pyicloud to synchronize photos and videos from iCloud to your local machine.

Features

  • Downloads media files from iCloud in parallel (might be beneficial on small files and wide bandwidth)
  • Keeps local collection in sync with iCloud by:
    • skipping files which exist locally
    • removing local files which were removed from the cloud
  • Reads configuration from ini-file
  • Stores password in keychain (provided by pyicloud)
  • Supports two-factor authentication
  • Shows nice progress bars (thanks to tqdm)

Installation

$ pip3 install gimme-iphotos

or

$ docker pull zebradil/gimme-iphotos

Usage

$ gimme-iphotos --help
usage: gimme-iphotos [-h] [-c CONFIG] [-v] [-u USERNAME] [-p PASSWORD] [-d DESTINATION] [-o] [-r] [-n PARALLEL] [-g] [--zero-pad]

Downloads media files from iCloud

optional arguments:
  -h, --help            show this help message and exit
  -c CONFIG, --config CONFIG
                        Configuration file.
                        It's ini-like file (see configparser module docs), must contain [main] section.
                        Keys are fully-named arguments, except help, config and verbose.
                        Values specified using command line arguments take precedence over values from a provided config file.
  -v, --verbose         Increase verbosity. Can be specified multiple times.
                        Use -vvvv to get maximum verbosity.
  -u USERNAME, --username USERNAME
                        iCloud username (email). Can be specified interactively if not set.
  -p PASSWORD, --password PASSWORD
                        iCloud password. Can be specified interactively if not set.
  -d DESTINATION, --destination DESTINATION
                        Destination directory. Can be specified interactively if not set.
  -o, --overwrite       Overwrite existing files. Default: false.
  -r, --remove          Remove missing files. Default: false.
  -n PARALLEL, --num-parallel-downloads PARALLEL
                        Max number of concurrent downloads.
                        Increase this number if bandwidth is not fully utilized. Default: 3
  -g, --group           Group the photos into year and month directories.
  --zero-pad            Zero pad months when grouping photos.

Using config file:

$ cat john.cfg
[main]
username = john.doe@example.com
password = not-secure123
destination = /home/john/Photos
remove = True

$ gimme-iphotos -c john.cfg

Overriding config file:

$ gimme-iphotos -c john.cfg --destination /tmp/icloud

Without config file:

$ # Password will be requested interactively
$ gimme-iphotos -u john.doe@rexample.com --destination /tmp/icloud
Enter iCloud password for john.doe@rexample.com:

Docker

The CLI is the same but requires mounting destination directory and config file (if needed).

$ docker run -it \
    -v <destination>:/somedir \
    -v ${PWD}/john.cfg:/app/john.cfg \
    zebradil/gimme-iphotos -c john.cfg

License

Licensed under the MIT License.

By German Lashevich.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

gimme-iphotos-1.1.3.tar.gz (8.9 kB view details)

Uploaded Source

Built Distribution

gimme_iphotos-1.1.3-py3-none-any.whl (9.5 kB view details)

Uploaded Python 3

File details

Details for the file gimme-iphotos-1.1.3.tar.gz.

File metadata

  • Download URL: gimme-iphotos-1.1.3.tar.gz
  • Upload date:
  • Size: 8.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.8 CPython/3.9.8 Linux/5.11.0-1021-azure

File hashes

Hashes for gimme-iphotos-1.1.3.tar.gz
Algorithm Hash digest
SHA256 57ba5794f041af9a162c73b6e85d8b49b18d6cce26ebd687e12d95251d105f3a
MD5 2739be19b59a03911d91fa6e91c30ae8
BLAKE2b-256 36349c2b14e16e0ac1ba4ce6bb8bb96de0f4200dc3368faee34d5db25b3d41c0

See more details on using hashes here.

File details

Details for the file gimme_iphotos-1.1.3-py3-none-any.whl.

File metadata

  • Download URL: gimme_iphotos-1.1.3-py3-none-any.whl
  • Upload date:
  • Size: 9.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.8 CPython/3.9.8 Linux/5.11.0-1021-azure

File hashes

Hashes for gimme_iphotos-1.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 df902e9247a7a7790f4482e30debe595e52643a8407911b0b47579a549d7a0c0
MD5 84ce7ae29cbdb9f64298ca5cd049f3a2
BLAKE2b-256 97bf8ea4e2124ff597f537249c199d9a68f6d1f402cfe7b52abfd6d281044111

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page