Skip to main content

A package to copy Gravatar profile pictures to your Google Contacts.

Project description

Gravatar to Google Contacts

This is a Python package to copy Gravatar profile pictures to your Google Contacts.

GitHub issues GitHub license

Description

When run as a script (by running __main__.py) the program will first ask a user to grant the Google Cloud Platform app access to their contacts in their Google Account. It will then download all of their contacts and remove those that don't have an email address and a name.

For each email address in each contact it will attempt to download the corresponding Gravatar photo. If a Gravatar photo is found for that contact then it will update the contact with that photo. If there are multiple possible Gravatar photos (due to a contact having multiple email addresses) then a GUI will be presented to choose one. The user is notified which contacts have been updated, and those contacts have the custom Gravatar Photo field set to "True" (so that the program can safely update them in the future).

This program will not update contacts that already have a user-supplied photo that didn't previously come from Gravatar.

Installation & Setup

You can install it using pip install gravatarcontacts-cmenon12.

Dependencies

Note that the versions specified here are what I have been running it on, it may well work on older versions.

  • Python>=3.7
  • requests>=2.23.0
  • google_api_python_client>=1.8.3
  • google_auth_oauthlib>=0.4.1
  • libgravatar>=0.2.3
  • Pillow>=7.1.2
  • protobuf>=3.11.0

Creating a Google Cloud Platform Project and enabling the People API

You will need to create your own Google Cloud Platform Project, enable the People API, and create & download some OAuth 2.0 Client ID credentials as credentials.json.

If you've not used Google Cloud Platform before then you can do all of this really easily by clicking on the large blue button labelled Enable the People API here. Choose to create a Desktop app and as per the instructions there in the resulting dialog click DOWNLOAD CLIENT CONFIGURATION and save the file credentials.json to where you're working. You mustn't share credentials.json or token.pickle with anyone.

Use of the Google People API is (at the time of writing) free.

Creating your own project helps to keep your contacts safe because you control the app that is asking to access them (and you can see my all of my source code here). You can stop your app accessing your contacts by revoking it at https://myaccount.google.com/permissions.

Usage

python -m gravatarcontacts will run the program after installation. Where necessary, the browser window and GUI will open automatically so this program should be run locally (and not over SSH for example).

License

GNU GPLv3

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

gravatarcontacts-cmenon12-1.0.5.tar.gz (8.0 kB view details)

Uploaded Source

Built Distribution

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

gravatarcontacts_cmenon12-1.0.5-py3-none-any.whl (22.5 kB view details)

Uploaded Python 3

File details

Details for the file gravatarcontacts-cmenon12-1.0.5.tar.gz.

File metadata

  • Download URL: gravatarcontacts-cmenon12-1.0.5.tar.gz
  • Upload date:
  • Size: 8.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.7.7

File hashes

Hashes for gravatarcontacts-cmenon12-1.0.5.tar.gz
Algorithm Hash digest
SHA256 0954f575f1eb8eb6684ea106a2d108516e1b57db2d21292ccf42c1e2665a3cc9
MD5 7616025ad60d452417fd1ed94ad5592e
BLAKE2b-256 9722e46c56473d18481f1eb8c34fad811dbc9b6b53337ccb85efb89b3eda572b

See more details on using hashes here.

File details

Details for the file gravatarcontacts_cmenon12-1.0.5-py3-none-any.whl.

File metadata

  • Download URL: gravatarcontacts_cmenon12-1.0.5-py3-none-any.whl
  • Upload date:
  • Size: 22.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.7.7

File hashes

Hashes for gravatarcontacts_cmenon12-1.0.5-py3-none-any.whl
Algorithm Hash digest
SHA256 9f1e61aa896b2e9dde218e21d093048870a0db755ad912800c6ffcff4fd4b220
MD5 8ff4ebc2906a4346e50f9932c835a50c
BLAKE2b-256 b1578e85d6ac055adb260fca074001436c166e37aa7f4152de92ea277138990d

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