{ "info": { "author": "Giles Knap", "author_email": "gilesknap@gmail.com", "bugtrack_url": null, "classifiers": [ "License :: OSI Approved :: Apache Software License", "Programming Language :: Python :: 3.8", "Programming Language :: Python :: 3.9", "Programming Language :: Python :: 3.10" ], "description": "Google Photos Sync (gphotos-sync)\n=================================\n\n|code_ci| |docs_ci| |coverage| |pypi_version| |license|\n\nGoogle Photos Sync is a backup tool for your Google Photos cloud storage.\n\n============== ==============================================================\nPyPI ``pip install gphotos-sync``\nSource code https://github.com/gilesknap/gphotos-sync\nDocumentation https://gilesknap.github.io/gphotos-sync\nReleases https://github.com/gilesknap/gphotos-sync/releases\n============== ==============================================================\n\nIntro\n=====\nGoogle Photos Sync downloads all photos and videos the user has uploaded to \nGoogle Photos. It also organizes the media in the local file system using \nalbum information. Additional Google Photos 'Creations' such as \nanimations, panoramas, movies, effects and collages are also backed up.\n\nThis software is read only and never modifies your cloud library in any way,\nso there is no risk of damaging your data. \n\nQuick Start\n===========\n\nTo get started see `Tutorial `_\n\n\n.. |code_ci| image:: https://github.com/gilesknap/gphotos-sync/workflows/Code%20CI/badge.svg?branch=main\n :target: https://github.com/gilesknap/gphotos-sync/actions?query=workflow%3A%22Code+CI%22\n :alt: Code CI\n\n.. |docs_ci| image:: https://github.com/gilesknap/gphotos-sync/workflows/Docs%20CI/badge.svg?branch=main\n :target: https://github.com/gilesknap/gphotos-sync/actions?query=workflow%3A%22Docs+CI%22\n :alt: Docs CI\n\n.. |coverage| image:: https://codecov.io/gh/gilesknap/gphotos-sync/branch/main/graph/badge.svg\n :target: https://codecov.io/gh/gilesknap/gphotos-sync\n :alt: Test Coverage\n\n.. |pypi_version| image:: https://img.shields.io/pypi/v/gphotos-sync.svg\n :target: https://pypi.org/project/gphotos-sync\n :alt: Latest PyPI version\n\n.. |license| image:: https://img.shields.io/badge/License-Apache%202.0-blue.svg\n :target: https://opensource.org/licenses/Apache-2.0\n :alt: Apache License\n\n..\n Anything below this line is used when viewing README.rst and will be replaced\n when included in index.rst\n\nSee https://gilesknap.github.io/gphotos-sync for more detailed documentation.\n\n\n", "description_content_type": "text/x-rst", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/gilesknap/gphotos-sync", "keywords": "", "license": "Apache License 2.0", "maintainer": "", "maintainer_email": "", "name": "gphotos-sync", "package_url": "https://pypi.org/project/gphotos-sync/", "platform": null, "project_url": "https://pypi.org/project/gphotos-sync/", "project_urls": { "Homepage": "https://github.com/gilesknap/gphotos-sync" }, "release_url": "https://pypi.org/project/gphotos-sync/3.0.0/", "requires_dist": [ "attrs", "exif", "appdirs", "requests-oauthlib", "pyyaml (>=4.2b1)", "types-PyYAML", "psutil", "google-auth-oauthlib", "types-requests", "black (==22.3.0) ; extra == 'dev'", "flake8-isort ; extra == 'dev'", "isort (>5.0) ; extra == 'dev'", "mypy ; extra == 'dev'", "pre-commit ; extra == 'dev'", "pytest-cov ; extra == 'dev'", "sphinx-rtd-theme-github-versions ; extra == 'dev'", "tox ; extra == 'dev'", "setuptools-scm[toml] (>=6.2) ; extra == 'dev'", "mock ; extra == 'dev'", "types-setuptools ; extra == 'dev'" ], "requires_python": ">=3.7", "summary": "Google Photos and Albums backup tool", "version": "3.0.0", "yanked": false, "yanked_reason": null }, "last_serial": 13823826, "releases": { "2.10": [ { "comment_text": "", "digests": { "md5": "a905bf48a7e66f04880ac074cfe83740", "sha256": "c9b494ba56d0072e598394a29a60cf82367ea51cb024478f3f58eb08bc908521" }, "downloads": -1, "filename": "gphotos-sync-2.10.tar.gz", "has_sig": false, "md5_digest": "a905bf48a7e66f04880ac074cfe83740", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 46987, "upload_time": "2019-09-10T21:28:22", "upload_time_iso_8601": "2019-09-10T21:28:22.528881Z", "url": "https://files.pythonhosted.org/packages/cc/85/c846201df6eaa38482a423d9793b80ed78f3802eff62b5d224c8b96a483a/gphotos-sync-2.10.tar.gz", "yanked": false, "yanked_reason": null } ], "2.10.1": [ { "comment_text": "", "digests": { "md5": "63989f5e6535a39dcd5b77ce96ac389d", "sha256": "182dcc49c2a15bcdfc7a9d50c6171da9443aadf8bca3bde22277bb3d06edc2e1" }, "downloads": -1, "filename": "gphotos-sync-2.10.1.tar.gz", "has_sig": false, "md5_digest": "63989f5e6535a39dcd5b77ce96ac389d", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 44038, "upload_time": "2019-09-11T06:47:57", "upload_time_iso_8601": "2019-09-11T06:47:57.930888Z", "url": "https://files.pythonhosted.org/packages/55/df/abc39d278d921efa370dc6a93ac95d3a2907185ad16717910ced0cce4e43/gphotos-sync-2.10.1.tar.gz", "yanked": false, "yanked_reason": null } ], "2.10.2": [ { "comment_text": "", "digests": { "md5": "f32dcccf98544c59d21962997a5e9c0f", "sha256": "bf3dcfbc818ecc48d746c4fbedf0a9acb9ead294905ea578adcfea536a4f5fe9" }, "downloads": -1, "filename": "gphotos-sync-2.10.2.tar.gz", "has_sig": false, "md5_digest": "f32dcccf98544c59d21962997a5e9c0f", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 49129, "upload_time": "2019-10-30T07:25:25", "upload_time_iso_8601": "2019-10-30T07:25:25.135914Z", "url": "https://files.pythonhosted.org/packages/2f/98/11bc95e11c7347a07db73d2c85c58b12715537c4a616142ffc75a1e5daac/gphotos-sync-2.10.2.tar.gz", "yanked": false, "yanked_reason": null } ], "2.10.3": [ { "comment_text": "", "digests": { "md5": "ad7df0728bdf85eb51f57ceeb73aa73a", "sha256": "ca3a5e15df61e2790e6653dfd963eb74b43dc04fd4bcadb13dd3e6385f9b3058" }, "downloads": -1, "filename": "gphotos-sync-2.10.3.tar.gz", "has_sig": false, "md5_digest": "ad7df0728bdf85eb51f57ceeb73aa73a", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 49327, "upload_time": "2019-11-03T09:41:55", "upload_time_iso_8601": "2019-11-03T09:41:55.480619Z", "url": "https://files.pythonhosted.org/packages/46/24/ea0aa4311b8526be294fcb3e8c04a1a41b4984c00148ba79cd87ca959a3c/gphotos-sync-2.10.3.tar.gz", "yanked": false, "yanked_reason": null } ], "2.10.4": [ { "comment_text": "", "digests": { "md5": "cde3cf4536871a8382c081cdc30047b0", "sha256": "853f84358b56188a28053e759cd25d7d36d31e9e6d90422b943bc7137649545c" }, "downloads": -1, "filename": "gphotos-sync-2.10.4.tar.gz", "has_sig": false, "md5_digest": "cde3cf4536871a8382c081cdc30047b0", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 47163, "upload_time": "2019-12-29T13:44:56", "upload_time_iso_8601": "2019-12-29T13:44:56.483631Z", "url": "https://files.pythonhosted.org/packages/61/cc/f93c1a9050ca0c4ee23920f7b2aa13f74f30bffd76166f524fc2bd8d1921/gphotos-sync-2.10.4.tar.gz", "yanked": false, "yanked_reason": null } ], "2.14.0": [ { "comment_text": "", "digests": { "md5": "dbadc502428ffb9db506de9692758b26", "sha256": "bd88a1e37396dbdc9997c3f6a49879c0289aa659f9ceefc1943b01fa6b66c9c9" }, "downloads": -1, "filename": "gphotos-sync-2.14.0.tar.gz", "has_sig": false, "md5_digest": "dbadc502428ffb9db506de9692758b26", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 58473, "upload_time": "2020-02-17T21:29:37", "upload_time_iso_8601": "2020-02-17T21:29:37.819659Z", "url": "https://files.pythonhosted.org/packages/52/2a/bd31970dc27e264d578bac90475bc234198c126f74c042014118d174ebea/gphotos-sync-2.14.0.tar.gz", "yanked": false, "yanked_reason": null } ], "2.14.0b4": [ { "comment_text": "", "digests": { "md5": "9cbdc27fea18dfff2ced8e4030fa2df7", "sha256": "249fcfe54691b7660a08b5adb296addb1cdcd98da15133ca58696c3e0a86adf3" }, "downloads": -1, "filename": "gphotos_sync-2.14.0b4-py3-none-any.whl", "has_sig": false, "md5_digest": "9cbdc27fea18dfff2ced8e4030fa2df7", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 51246, "upload_time": "2020-02-14T13:43:34", "upload_time_iso_8601": "2020-02-14T13:43:34.212992Z", "url": "https://files.pythonhosted.org/packages/1e/8e/08d99c7c24ea9c2be1bba3883b17a23ee7e21617e5c960327aea25c36f50/gphotos_sync-2.14.0b4-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "9d54d5196ef806f200feb5613608918e", "sha256": "e4d24fd3e612c1338178a25410f96af3738b99bc6bdd67245a412f89573641ab" }, "downloads": -1, "filename": "gphotos-sync-2.14.0b4.tar.gz", "has_sig": false, "md5_digest": "9d54d5196ef806f200feb5613608918e", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 58228, "upload_time": "2020-02-14T13:43:35", "upload_time_iso_8601": "2020-02-14T13:43:35.758184Z", "url": "https://files.pythonhosted.org/packages/a2/a5/01a1e2ecb45745ac197f80902b1dca979bc80339ff800dd64edfe4ac53ca/gphotos-sync-2.14.0b4.tar.gz", "yanked": false, "yanked_reason": null } ], "2.14.0b5": [ { "comment_text": "", "digests": { "md5": "4da36d58cc427c21c04a561b922bd922", "sha256": "47f7441651d3bd001507c3b8d163b636428a247aa1c3a5ae65867debd0c437cd" }, "downloads": -1, "filename": "gphotos-sync-2.14.0b5.tar.gz", "has_sig": false, "md5_digest": "4da36d58cc427c21c04a561b922bd922", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 58307, "upload_time": "2020-02-17T08:23:40", "upload_time_iso_8601": "2020-02-17T08:23:40.311603Z", "url": "https://files.pythonhosted.org/packages/10/b4/c32ba1312a1fc949db0d29fea83131d8d2a374db437d419ae50a47c1f39a/gphotos-sync-2.14.0b5.tar.gz", "yanked": false, "yanked_reason": null } ], "2.14.1b1": [ { "comment_text": "", "digests": { "md5": "adff51a85064bb8c58f49aaf02268f97", "sha256": "b020992f2e30a3e4ab84399a81cdafc932be743cca14bf0384f9d5a3fb947f9d" }, "downloads": -1, "filename": "gphotos-sync-2.14.1b1.tar.gz", "has_sig": false, "md5_digest": "adff51a85064bb8c58f49aaf02268f97", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 59463, "upload_time": "2020-02-23T20:11:09", "upload_time_iso_8601": "2020-02-23T20:11:09.483876Z", "url": "https://files.pythonhosted.org/packages/3c/b8/151274eda3675c2670b5ed514e71a96668ea8ff996b05a90c2309a65fb72/gphotos-sync-2.14.1b1.tar.gz", "yanked": false, "yanked_reason": null } ], "2.14.2": [ { "comment_text": "", "digests": { "md5": "be52b2bf99d62a0c5165c825be7263d9", "sha256": "713773dfb7798636382b1efa3efda6d812794ed8d8eaa38e7ec30522ccaa02f7" }, "downloads": -1, "filename": "gphotos-sync-2.14.2.tar.gz", "has_sig": false, "md5_digest": "be52b2bf99d62a0c5165c825be7263d9", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 60627, "upload_time": "2020-05-12T19:48:55", "upload_time_iso_8601": "2020-05-12T19:48:55.582185Z", "url": "https://files.pythonhosted.org/packages/97/46/750ab2d52918c2610fa080e76e5e3914219466a7b7216f9dd7ed6e51d668/gphotos-sync-2.14.2.tar.gz", "yanked": false, "yanked_reason": null } ], "2.8.3": [ { "comment_text": "", "digests": { "md5": "6b077d6b3436512aff6fa9d024fb4f30", "sha256": "d439d9beadd460b8b79257c3eb0986bcd7305497dd8136b011496314dfb31a7d" }, "downloads": -1, "filename": "gphotos-sync-2.8.3.tar.gz", "has_sig": false, "md5_digest": "6b077d6b3436512aff6fa9d024fb4f30", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 36778, "upload_time": "2019-02-25T23:40:55", "upload_time_iso_8601": "2019-02-25T23:40:55.756166Z", "url": "https://files.pythonhosted.org/packages/62/81/43faaf2be7df80ccba739111209680d9d84a2b2a651bec15c2db5249f5d9/gphotos-sync-2.8.3.tar.gz", "yanked": false, "yanked_reason": null } ], "2.8.4": [ { "comment_text": "", "digests": { "md5": "d31589b1cc42c6128d2669c6ab6b4e45", "sha256": "38e141e0491c61fb27819d9c1dd5f9ed4c849ad8a89a5e1d7b306e9b49cd29c0" }, "downloads": -1, "filename": "gphotos-sync-2.8.4.tar.gz", "has_sig": false, "md5_digest": "d31589b1cc42c6128d2669c6ab6b4e45", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 38845, "upload_time": "2019-03-04T23:44:05", "upload_time_iso_8601": "2019-03-04T23:44:05.728537Z", "url": "https://files.pythonhosted.org/packages/f2/f4/2d4bc35a09405de5d743b27f28d1f56c439b51e49f21b7f039c80e182405/gphotos-sync-2.8.4.tar.gz", "yanked": false, "yanked_reason": null } ], "2.8.5": [ { "comment_text": "", "digests": { "md5": "135998d5e3781e39703eaddc1271ede8", "sha256": "f2ce0fb85c17fa807e0b085105af77a0d079287490277b949108a295d4c82f4f" }, "downloads": -1, "filename": "gphotos-sync-2.8.5.tar.gz", "has_sig": false, "md5_digest": "135998d5e3781e39703eaddc1271ede8", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7", "size": 41131, "upload_time": "2019-03-14T21:24:58", "upload_time_iso_8601": "2019-03-14T21:24:58.856507Z", "url": "https://files.pythonhosted.org/packages/0e/4f/0f146b915e28c0629c545111d187c973816501f0eed2d209d7cfc549c864/gphotos-sync-2.8.5.tar.gz", "yanked": false, "yanked_reason": null } ], "2.8.6": [ { "comment_text": "", "digests": { "md5": "8ce4431e0dd1a76aafaaee5478ebf406", "sha256": "ee183913ef3b5a703b064cac07d4f39cbaf87331b30677962fa4c42e8b036848" }, "downloads": -1, "filename": "gphotos-sync-2.8.6.tar.gz", "has_sig": false, "md5_digest": "8ce4431e0dd1a76aafaaee5478ebf406", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7", "size": 41436, "upload_time": "2019-05-20T11:44:48", "upload_time_iso_8601": "2019-05-20T11:44:48.175592Z", "url": "https://files.pythonhosted.org/packages/56/15/d121d994c21322bc06f62ed279454af6b184e338f844d066c66d0328ceee/gphotos-sync-2.8.6.tar.gz", "yanked": false, "yanked_reason": null } ], "2.9": [ { "comment_text": "", "digests": { "md5": "5e427f6ab3171a3eeb86cf5f07913c10", "sha256": "cbee59466bd965c333f801b2dab836afcf3c4e22ac55380ca5867e7a9c587d7c" }, "downloads": -1, "filename": "gphotos-sync-2.9.tar.gz", "has_sig": false, "md5_digest": "5e427f6ab3171a3eeb86cf5f07913c10", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 44287, "upload_time": "2019-07-10T20:50:44", "upload_time_iso_8601": "2019-07-10T20:50:44.302784Z", "url": "https://files.pythonhosted.org/packages/8c/1a/42389acdad2b41c3a85cfca0008e229ac3796644a22f3d5d5bcc0e7d1d2b/gphotos-sync-2.9.tar.gz", "yanked": false, "yanked_reason": null } ], "2.9.1": [ { "comment_text": "", "digests": { "md5": "966147a36d4f3aec60e47078f7e20269", "sha256": "ff7448ddc5976dae76f572c6ac11407513069c9308bc4459e412b024be835764" }, "downloads": -1, "filename": "gphotos-sync-2.9.1.tar.gz", "has_sig": false, "md5_digest": "966147a36d4f3aec60e47078f7e20269", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 46390, "upload_time": "2019-07-31T11:09:50", "upload_time_iso_8601": "2019-07-31T11:09:50.044681Z", "url": "https://files.pythonhosted.org/packages/d1/ae/6182f99acd445014dd6da656166aeec0747f98bab04bf15b1bbe9d8c86a2/gphotos-sync-2.9.1.tar.gz", "yanked": false, "yanked_reason": null } ], "2.9.2": [ { "comment_text": "", "digests": { "md5": "114bffa0bc46b65d1b4426e5120620d0", "sha256": "c596fb2dd309cac309ea0fbab04041cbf322d7d4b02b7cab5271bde4b9d45ee4" }, "downloads": -1, "filename": "gphotos-sync-2.9.2.tar.gz", "has_sig": false, "md5_digest": "114bffa0bc46b65d1b4426e5120620d0", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 45815, "upload_time": "2019-07-31T11:43:23", "upload_time_iso_8601": "2019-07-31T11:43:23.484574Z", "url": "https://files.pythonhosted.org/packages/40/32/4bf5c9346f660bf07d2427223ccb78d6b0c86e8e89ba2c91889b0a926030/gphotos-sync-2.9.2.tar.gz", "yanked": false, "yanked_reason": null } ], "3.0.0": [ { "comment_text": "", "digests": { "md5": "b2cece1633545d5a95cd63d2f165360a", "sha256": "ce8722fa818758dfc6a24e1598e7b2c577332a44ec7f90cbc5d9cb2d61db6da9" }, "downloads": -1, "filename": "gphotos_sync-3.0.0-py3-none-any.whl", "has_sig": false, "md5_digest": "b2cece1633545d5a95cd63d2f165360a", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.7", "size": 53366, "upload_time": "2022-05-15T20:16:17", "upload_time_iso_8601": "2022-05-15T20:16:17.407031Z", "url": "https://files.pythonhosted.org/packages/39/5e/13907e5d53c6eaeccfcfe2da2a23d0852cbd38c31dda1e7c136e3c133898/gphotos_sync-3.0.0-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "f97bf3d12af9cfd001467f3febdd7ebb", "sha256": "b78106710c8269b8eb3736ff3e2462e5ef42d3599a2c1fde92157dd81f4c43a9" }, "downloads": -1, "filename": "gphotos-sync-3.0.0.tar.gz", "has_sig": false, "md5_digest": "f97bf3d12af9cfd001467f3febdd7ebb", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7", "size": 12573798, "upload_time": "2022-05-15T20:16:19", "upload_time_iso_8601": "2022-05-15T20:16:19.539222Z", "url": "https://files.pythonhosted.org/packages/19/a2/1f39f6bc17dbbb0e2a439ecb938e0c51da78c16066891fc44526f315e1bb/gphotos-sync-3.0.0.tar.gz", "yanked": false, "yanked_reason": null } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "b2cece1633545d5a95cd63d2f165360a", "sha256": "ce8722fa818758dfc6a24e1598e7b2c577332a44ec7f90cbc5d9cb2d61db6da9" }, "downloads": -1, "filename": "gphotos_sync-3.0.0-py3-none-any.whl", "has_sig": false, "md5_digest": "b2cece1633545d5a95cd63d2f165360a", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.7", "size": 53366, "upload_time": "2022-05-15T20:16:17", "upload_time_iso_8601": "2022-05-15T20:16:17.407031Z", "url": "https://files.pythonhosted.org/packages/39/5e/13907e5d53c6eaeccfcfe2da2a23d0852cbd38c31dda1e7c136e3c133898/gphotos_sync-3.0.0-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "f97bf3d12af9cfd001467f3febdd7ebb", "sha256": "b78106710c8269b8eb3736ff3e2462e5ef42d3599a2c1fde92157dd81f4c43a9" }, "downloads": -1, "filename": "gphotos-sync-3.0.0.tar.gz", "has_sig": false, "md5_digest": "f97bf3d12af9cfd001467f3febdd7ebb", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7", "size": 12573798, "upload_time": "2022-05-15T20:16:19", "upload_time_iso_8601": "2022-05-15T20:16:19.539222Z", "url": "https://files.pythonhosted.org/packages/19/a2/1f39f6bc17dbbb0e2a439ecb938e0c51da78c16066891fc44526f315e1bb/gphotos-sync-3.0.0.tar.gz", "yanked": false, "yanked_reason": null } ], "vulnerabilities": [] }