Web application for iCloud Photos Downloader, based on icloudpd
Project description
icloudpd-web
Release
Overview
- Warning: This is a public software from personal project that comes without any warranties. You may use it for personal usages at your own risk. You can contribute to the project by submitting a feature request or a bug report via Github issues.
- icloud-photos-downloader is a CLI tool for downloading iCloud photos and videos.
icloudpd-webis an application that provides a web UI wrapper around the icloudpd Python library.- The application allows managing multiple icloudpd settings ("policies" in
icloupd-web) through the web UI and monitoring the progress of the downloads. - The application bundles a static next.js application in a fastapi server. Therefore, you can spin up the server and use the web UI using the python distribution.
Screenshots
Installation
The application is available on pypi and requires python 3.12 or later.
Usage
pip install icloudpd-web
icloudpd-web
run icloudpd-web --help to see the available options.
User Flow
- Log in with server password, reset it or continue as a guest.
- View all loaded policies on landing. These policies are from the toml files provided when starting up the server.
- Authenticate a policy with password or create a new one.
- Handle 2FA when required.
- Work with policies that are ready.
- Monitor the status of a policies for download progress through logs.
Details
- The user can add, edit, duplicate, delete, start and stop a policy.
- Download progress of a policy can be viewed through the logs that can be downloaded when policy is not running.
- On the Web UI, the user can upload a toml file to replace the currently loaded policies or download the currently loaded policies as a toml file.
- The user can update the server settings or reset the server password through the settings page.
- Refer to the example_policy/example.toml for the policy format.
- Refer to the icloudpd docs for the policy options. Note that even though this app is built on top of icloudpd, the policy options are not exactly the same. More detailed documentation on this will be provided in the future.
Technical Details
Architecture
- [ Next.js web ] <--Websocket--> [ FastAPI server ] <--wrapper--> [ icloudpd Python code ]
- The next.js application provides a web UI and the python server handles the logic and interaction with icloudpd.
- The user can manage the policy states on the web UI.
- The server stores policy specs in toml files at designated path as well upon changes.
Term of Use
The copyright of icloudpd-web ("the software") fully belongs to the author(s). The software is free to use for personal, educational, or non-commercial purposes only. Unauthorized use to generate revenue is not allowed.
License
This project is licensed under CC BY-NC-4.0. This means:
You can:
- Use this package for personal projects
- Modify and distribute the code
- Use it for academic or research purposes
You cannot:
- Use this package for commercial purposes
- Sell the code or any modifications
- Include it in commercial products
For full license details, see the LICENSE file.
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 icloudpd_web-2026.2.27.tar.gz.
File metadata
- Download URL: icloudpd_web-2026.2.27.tar.gz
- Upload date:
- Size: 610.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.18 {"installer":{"name":"uv","version":"0.9.18","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
21835faf6d91cbe6b15343b810e45f9e4750782f68fad11df1967944e9df005f
|
|
| MD5 |
0b23681cd5251941053ca676e2a4a1e6
|
|
| BLAKE2b-256 |
ca828615104c8d31ea6aba7c7f276a183cfd3750a7ee4cc40fe252d99e856eb3
|
File details
Details for the file icloudpd_web-2026.2.27-py3-none-any.whl.
File metadata
- Download URL: icloudpd_web-2026.2.27-py3-none-any.whl
- Upload date:
- Size: 667.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.18 {"installer":{"name":"uv","version":"0.9.18","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f3046353e52f5f1991b544352298bc9223c434fe55edb720970a0b2311f45c70
|
|
| MD5 |
5abd3d148dae9f7a2c08fc0b523d3252
|
|
| BLAKE2b-256 |
14aa90ed95cd198751262bf8b1aaa01255ee7a00346667bf105a5326a6f300ef
|