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.
Metadata
Release files for gimme-iphotos 1.1.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| gimme-iphotos-1.1.3.tar.gz | 8.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| gimme_iphotos-1.1.3-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 18.3 kB
Release files / gimme-iphotos-1.1.3.tar.gz
| Download URL | gimme-iphotos-1.1.3.tar.gz |
|---|---|
| Size | 8.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
57ba5794f041af9a162c73b6e85d8b49b18d6cce26ebd687e12d95251d105f3a
|
|
BLAKE2b-256 checksum How to use checksums |
36349c2b14e16e0ac1ba4ce6bb8bb96de0f4200dc3368faee34d5db25b3d41c0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/1.1.8 CPython/3.9.8 Linux/5.11.0-1021-azure
|
Release files / gimme_iphotos-1.1.3-py3-none-any.whl
| Download URL | gimme_iphotos-1.1.3-py3-none-any.whl |
|---|---|
| Size | 9.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
df902e9247a7a7790f4482e30debe595e52643a8407911b0b47579a549d7a0c0
|
|
BLAKE2b-256 checksum How to use checksums |
97bf8ea4e2124ff597f537249c199d9a68f6d1f402cfe7b52abfd6d281044111
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/1.1.8 CPython/3.9.8 Linux/5.11.0-1021-azure
|