Skip to main content

Simple API wrapper for Google Products

Project description

googlewrapper

PyPI Latest Release Code style: black

General Connector Classes for Google Products

Current Wrappers Available

Wrappers In the Pipeline

STEPS

  1. Acquire Google Credentials from API Console
  2. Install this package
  3. Create Connection in Python
  4. Use product wrapper to make API calls (see links to individual docs above)

Acquire Google Credentials from API Console

First we will need to get our own Google Project set up so we can get our credentials. If you don't have experience, you can do so here Google API Console

After you have your project set up, oAuth configured, and the optional service account (only for Google Big Query connections), you are good to install this package.

Make sure to download your oAuth credentials and save them to your working directory as 'client_secret.json'.

Installation

pip install googlewrapper

OR

python -m pip install googlewrapper

Virtual Environment

For each project it is reccomended to create a virtualenv. Here is a simple guide on virtual environments.

Combining Products Examples

Example 1

Take a list of URLs from Sheets, grab Search Console Data, and import it into Big Query.

from googlewrapper import GoogleSearchConsole, GoogleSheets, GoogleBigQuery
import datetime as dt

# init our objects
sheets = GoogleSheets(YOUR_URL_HERE)
gsc = GoogleSearchConsole()
gbq = GoogleBigQuery()

# get our urls we want to pull
# remember that sheet1 is default
sites = sheets.get_column(1)

'''
this one is a bit more technical
we can pull our column Branded Words right 
from sheets then assign it to a dictionary to use
in our GSC object.

Make sure that your url column is the index for 
your df. This will happen by default if the urls
are in the first column in google sheets
'''
branded_list = sheets.df()['Branded Words'].to_dict()

# assign those sheets to GSC
gsc.set_sites(sites)
# assign other GSC variables
gsc.set_date(dt.date(2021,1,1))
gsc.set_dims(['page','date','query'])

# get our data
gsc_data = gsc.get_data()

# print the total clicks/impressions and avg position
# for all the sites we just pulled data for
# send them to Big Query
for site in gsc_data:
  print(f"{site}'s Data\n"\
      f"Clicks: {gsc_data[site]['Clicks'].sum()}\n"\
      f"Impressions: {gsc_data[site]['Impressions'].sum()}\n"\
      f"Avg Position: {gsc_data[site]['Position'].mean()}\n\n")
  # now we will send our data into our GBQ tables for storage
  # we will assign the dataset name to be our url
  # we will assign table to be gsc
  gbq.set_dataset(site)
  gbq.set_table('gsc')
  # send the data to GBQ
  gbq.send(gsc_data[site])

Pull Requests/Suggestions

I'd love to hear your feedback and suggestions. If you see something and you want to give it a shot and fix it, feel free to clone and make a pull request. OR you can submit and issue/feature request on GitHub.

Thanks for using my code

If you found this library useful, I'd appreciate a coffee. Thanks.

Buy Me A Coffee

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

googlewrapper-0.2.11.tar.gz (26.4 kB view details)

Uploaded Source

Built Distribution

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

googlewrapper-0.2.11-py3-none-any.whl (28.2 kB view details)

Uploaded Python 3

File details

Details for the file googlewrapper-0.2.11.tar.gz.

File metadata

  • Download URL: googlewrapper-0.2.11.tar.gz
  • Upload date:
  • Size: 26.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.5

File hashes

Hashes for googlewrapper-0.2.11.tar.gz
Algorithm Hash digest
SHA256 fd31a2abe39165547930ca3cb935f12c01df7ea11bb819ec5632f923f37caa9c
MD5 8f5bde76342d2462bb22f90d966fcc1d
BLAKE2b-256 a5a1e8674ccac89dbc930b7ef837277325a080e3e79c12c3418d75a76eea1ee9

See more details on using hashes here.

File details

Details for the file googlewrapper-0.2.11-py3-none-any.whl.

File metadata

  • Download URL: googlewrapper-0.2.11-py3-none-any.whl
  • Upload date:
  • Size: 28.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.5

File hashes

Hashes for googlewrapper-0.2.11-py3-none-any.whl
Algorithm Hash digest
SHA256 189460116ef8dc8303fe00eed06fda5cdd9f7ae6f40d30e5bc296226a1d668cd
MD5 1f3ce8dc5c22c66bff290c377b775db9
BLAKE2b-256 6e0c5903342fa8eb22cc113c081cc826219be6d4faad700a30e94a8b91805b65

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