Name | icloudpd-web JSON |
Version |
2025.1.17
JSON |
| download |
home_page | None |
Summary | Web application for iCloud Photos Downloader, based on icloudpd |
upload_time | 2025-01-17 09:04:39 |
maintainer | None |
docs_url | None |
author | None |
requires_python | >=3.12 |
license | Creative Commons Attribution-NonCommercial 4.0 International This work is licensed under the Creative Commons Attribution-NonCommercial 4.0 International License. To view a copy of this license, visit http://creativecommons.org/licenses/by-nc/4.0/ or send a letter to Creative Commons, PO Box 1866, Mountain View, CA 94042, USA. You are free to: - Share: copy and redistribute the material in any medium or format - Adapt: remix, transform, and build upon the material Under the following terms: - Attribution: You must give appropriate credit, provide a link to the license, and indicate if changes were made. - NonCommercial: You may not use the material for commercial purposes. |
keywords |
downloader
icloud
photos
webapp
|
VCS |
|
bugtrack_url |
|
requirements |
No requirements were recorded.
|
Travis-CI |
No Travis.
|
coveralls test coverage |
No coveralls.
|
# icloudpd-web
## Release
- [Python Package](https://pypi.org/project/icloudpd-web/)
- [Docker Image](https://hub.docker.com/r/spicadust/icloudpd-web)
## Overview
- **Warning**: This is a personal project under active development. You can contribute to the project by submitting a feature request or a bug report via Github issues.
- [icloud-photos-downloader](https://github.com/icloud-photos-downloader/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
<img width="1509" alt="main" src="https://github.com/user-attachments/assets/2faec712-01bd-4eff-bdff-cdbdfd8ee728" />
<img width="1509" alt="edit" src="https://github.com/user-attachments/assets/d613ddd8-5d5f-4209-8bbe-0586d7fd500f" />
## Installation
The application is available on pypi and requires python 3.12 or later.
### Usage
```bash
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](example_policy/example.toml) for the policy format.
- Refer to the [icloudpd docs](https://icloud-photos-downloader.github.io/icloud_photos_downloader/) 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](LICENSE) file.
Raw data
{
"_id": null,
"home_page": null,
"name": "icloudpd-web",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.12",
"maintainer_email": null,
"keywords": "downloader, icloud, photos, webapp",
"author": null,
"author_email": "Qian Zhang <contact@qzsh.email>",
"download_url": "https://files.pythonhosted.org/packages/60/05/69f5d0e02167eedf5f965d0bcbb70349e63f1cfa5e895152a963d759a778/icloudpd_web-2025.1.17.tar.gz",
"platform": null,
"description": "# icloudpd-web\n\n## Release\n\n- [Python Package](https://pypi.org/project/icloudpd-web/)\n- [Docker Image](https://hub.docker.com/r/spicadust/icloudpd-web)\n\n## Overview\n\n- **Warning**: This is a personal project under active development. You can contribute to the project by submitting a feature request or a bug report via Github issues.\n- [icloud-photos-downloader](https://github.com/icloud-photos-downloader/icloud_photos_downloader) is a CLI tool for downloading iCloud photos and videos.\n- `icloudpd-web` is an application that provides a web UI wrapper around the icloudpd Python library.\n- The application allows managing multiple icloudpd settings (\"policies\" in `icloupd-web`) through the web UI and monitoring the progress of the downloads.\n- 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.\n\n## Screenshots\n\n<img width=\"1509\" alt=\"main\" src=\"https://github.com/user-attachments/assets/2faec712-01bd-4eff-bdff-cdbdfd8ee728\" />\n<img width=\"1509\" alt=\"edit\" src=\"https://github.com/user-attachments/assets/d613ddd8-5d5f-4209-8bbe-0586d7fd500f\" />\n\n## Installation\n\nThe application is available on pypi and requires python 3.12 or later.\n\n### Usage\n\n```bash\npip install icloudpd-web\nicloudpd-web\n```\n\nrun `icloudpd-web --help` to see the available options.\n\n## User Flow\n\n- Log in with server password, reset it or continue as a guest.\n- View all loaded policies on landing. These policies are from the toml files provided when starting up the server.\n- Authenticate a policy with password or create a new one.\n- Handle 2FA when required.\n- Work with policies that are ready.\n- Monitor the status of a policies for download progress through logs.\n\n### Details\n\n- The user can add, edit, duplicate, delete, start and stop a policy.\n- Download progress of a policy can be viewed through the logs that can be downloaded when policy is not running.\n- 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.\n- The user can update the server settings or reset the server password through the settings page.\n- Refer to the [example_policy/example.toml](example_policy/example.toml) for the policy format.\n- Refer to the [icloudpd docs](https://icloud-photos-downloader.github.io/icloud_photos_downloader/) 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.\n\n## Technical Details\n\n### Architecture\n\n- [ Next.js web ] <--Websocket--> [ FastAPI server ] <--wrapper--> [ icloudpd Python code ]\n- The next.js application provides a web UI and the python server handles the logic and interaction with icloudpd.\n- The user can manage the policy states on the web UI.\n- The server stores policy specs in toml files at designated path as well upon changes.\n\n## Term of Use\n\nThe 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.\n\n## License\n\nThis project is licensed under CC BY-NC-4.0. This means:\n\nYou can:\n\n- Use this package for personal projects\n- Modify and distribute the code\n- Use it for academic or research purposes\n\nYou cannot:\n\n- Use this package for commercial purposes\n- Sell the code or any modifications\n- Include it in commercial products\n\nFor full license details, see the [LICENSE](LICENSE) file.\n",
"bugtrack_url": null,
"license": "Creative Commons Attribution-NonCommercial 4.0 International This work is licensed under the Creative Commons Attribution-NonCommercial 4.0 International License. To view a copy of this license, visit http://creativecommons.org/licenses/by-nc/4.0/ or send a letter to Creative Commons, PO Box 1866, Mountain View, CA 94042, USA. You are free to: - Share: copy and redistribute the material in any medium or format - Adapt: remix, transform, and build upon the material Under the following terms: - Attribution: You must give appropriate credit, provide a link to the license, and indicate if changes were made. - NonCommercial: You may not use the material for commercial purposes.",
"summary": "Web application for iCloud Photos Downloader, based on icloudpd",
"version": "2025.1.17",
"project_urls": {
"Homepage": "https://github.com/AirswitchAsa/icloudpd-web"
},
"split_keywords": [
"downloader",
" icloud",
" photos",
" webapp"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "0b71cbf84939a2e6f7267be7c1ff42518623091cb275a04c0c4dbf7a55a81dd3",
"md5": "ebe8819679414d91fbefd2090d5b82c2",
"sha256": "8842c779f13bd98ecaa9c4366f36df4ff1f481fa6be99b849d2b68543f78cb30"
},
"downloads": -1,
"filename": "icloudpd_web-2025.1.17-py3-none-any.whl",
"has_sig": false,
"md5_digest": "ebe8819679414d91fbefd2090d5b82c2",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.12",
"size": 650390,
"upload_time": "2025-01-17T09:04:35",
"upload_time_iso_8601": "2025-01-17T09:04:35.444904Z",
"url": "https://files.pythonhosted.org/packages/0b/71/cbf84939a2e6f7267be7c1ff42518623091cb275a04c0c4dbf7a55a81dd3/icloudpd_web-2025.1.17-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "600569f5d0e02167eedf5f965d0bcbb70349e63f1cfa5e895152a963d759a778",
"md5": "bcf6a9ad7644ef74d1b56434ca3f257d",
"sha256": "e33679368a4565aab0d38ec3c57fb2c9bf5d77901ef76707e538d1210999d38e"
},
"downloads": -1,
"filename": "icloudpd_web-2025.1.17.tar.gz",
"has_sig": false,
"md5_digest": "bcf6a9ad7644ef74d1b56434ca3f257d",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.12",
"size": 595390,
"upload_time": "2025-01-17T09:04:39",
"upload_time_iso_8601": "2025-01-17T09:04:39.135380Z",
"url": "https://files.pythonhosted.org/packages/60/05/69f5d0e02167eedf5f965d0bcbb70349e63f1cfa5e895152a963d759a778/icloudpd_web-2025.1.17.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-01-17 09:04:39",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "AirswitchAsa",
"github_project": "icloudpd-web",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"lcname": "icloudpd-web"
}