Google Photos and Albums backup with Google Photos Library API
So long and thanks for all the contributions! =============================================
This project was archived on Oct 4th 2024
For the details behind this decision please see https://github.com/gilesknap/gphotos-sync-discussion/discussions/1
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Google Photos Sync (gphotos-sync) =================================
|codeci| |docsci| |coverage| |pypi_version| |license|
Google Photos Sync is a backup tool for your Google Photos cloud storage.
============== ============================================================== PyPI `pip install gphotos-sync Source code https://github.com/gilesknap/gphotos-sync Documentation https://gilesknap.github.io/gphotos-sync Releases https://github.com/gilesknap/gphotos-sync/releases ============== ==============================================================
Intro ===== Google Photos Sync downloads all photos and videos the user has uploaded to Google Photos. It also organizes the media in the local file system using album information. Additional Google Photos 'Creations' such as animations, panoramas, movies, effects and collages are also backed up.
This software is read only and never modifies your cloud library in any way, so there is no risk of damaging your data.
WARNING: Index DB Schema Change ===============================
3.2.4 introduces a change to the index database schema in order to distinguish between private albums and shared albums. You will be required to rebuild your index database when upgrading to this version or later.
Please use the command line option --flush-index to rebuild the index database.
This need only be done for the first invocation of the new version.
If you have not done so you will see the error message:
sqlite3.OperationalError: no such column: IsSharedAlbum
Warning: Google API Issues ==========================
There are a number of long standing issues with the Google Photos API that mean it is not possible to make a true backup of your media. In particular:
- Videos are transcoded to lower quality
- Raw or Original photos are converted to 'High Quality'
- GPS info is removed from photos metadata
To join in a discussion on this issue see https://github.com/gilesknap/gphotos-sync/discussions/347.
Quick Start ===========
To get started see Tutorial
.. |code_ci| image:: https://github.com/gilesknap/gphotos-sync/workflows/Code%20CI/badge.svg?branch=main :target: https://github.com/gilesknap/gphotos-sync/actions?query=workflow%3A%22Code+CI%22 :alt: Code CI
.. |docs_ci| image:: https://github.com/gilesknap/gphotos-sync/workflows/Docs%20CI/badge.svg?branch=main :target: https://github.com/gilesknap/gphotos-sync/actions?query=workflow%3A%22Docs+CI%22 :alt: Docs CI
.. |coverage| image:: https://codecov.io/gh/gilesknap/gphotos-sync/branch/main/graph/badge.svg :target: https://codecov.io/gh/gilesknap/gphotos-sync :alt: Test Coverage
.. |pypi_version| image:: https://img.shields.io/pypi/v/gphotos-sync.svg :target: https://pypi.org/project/gphotos-sync :alt: Latest PyPI version
.. |license| image:: https://img.shields.io/badge/License-Apache%202.0-blue.svg :target: https://opensource.org/licenses/Apache-2.0 :alt: Apache License
.. Anything below this line is used when viewing README.rst and will be replaced when included in index.rst
See https://gilesknap.github.io/gphotos-sync for more detailed documentation.
Alternatives ============
For a commercial product that backs up your library to the cloud see: See https://photovaultone.com/