Skip to main content

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-web is 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

main edit

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


Download files

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

Source Distribution

icloudpd_web-2026.2.27.tar.gz (610.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

icloudpd_web-2026.2.27-py3-none-any.whl (667.4 kB view details)

Uploaded Python 3

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

Hashes for icloudpd_web-2026.2.27.tar.gz
Algorithm Hash digest
SHA256 21835faf6d91cbe6b15343b810e45f9e4750782f68fad11df1967944e9df005f
MD5 0b23681cd5251941053ca676e2a4a1e6
BLAKE2b-256 ca828615104c8d31ea6aba7c7f276a183cfd3750a7ee4cc40fe252d99e856eb3

See more details on using hashes here.

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

Hashes for icloudpd_web-2026.2.27-py3-none-any.whl
Algorithm Hash digest
SHA256 f3046353e52f5f1991b544352298bc9223c434fe55edb720970a0b2311f45c70
MD5 5abd3d148dae9f7a2c08fc0b523d3252
BLAKE2b-256 14aa90ed95cd198751262bf8b1aaa01255ee7a00346667bf105a5326a6f300ef

See more details on using hashes here.

Supported by

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