Download photos and videos from iCloud
Project description
Gimme-iPhotos
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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
57ba5794f041af9a162c73b6e85d8b49b18d6cce26ebd687e12d95251d105f3a
|
|
| MD5 |
2739be19b59a03911d91fa6e91c30ae8
|
|
| BLAKE2b-256 |
36349c2b14e16e0ac1ba4ce6bb8bb96de0f4200dc3368faee34d5db25b3d41c0
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
df902e9247a7a7790f4482e30debe595e52643a8407911b0b47579a549d7a0c0
|
|
| MD5 |
84ce7ae29cbdb9f64298ca5cd049f3a2
|
|
| BLAKE2b-256 |
97bf8ea4e2124ff597f537249c199d9a68f6d1f402cfe7b52abfd6d281044111
|