Skip to main content
PyCon US is happening May 14th-22nd in Pittsburgh, PA USA.  Learn more

User friendly wrapper for Google APIs

Project description

gwrappy

https://img.shields.io/pypi/v/gwrappy.svg Documentation Status

User friendly wrapper for Google APIs.

Features

  • Easily connect to the following Google APIs (more to come eventually)
    • BigQuery

    • Cloud Storage

    • Drive

    • Gmail

    • Compute Engine

# BigQuery
from gwrappy.bigquery import BigqueryUtility
bq_obj = BigqueryUtility()
results = bq_obj.sync_query('my_project', 'SELECT * FROM [foo.bar]')

# Cloud Storage
from gwrappy.storage import GcsUtility
gcs_obj = GcsUtility()
gcs_obj.download_object('bucket_name', 'object_name', 'path/to/write')
gcs_obj.upload_object('bucket_name', 'object_name', 'path/to/read')

# Drive
from gwrappy.drive import DriveUtility
drive_obj = DriveUtility(json_credentials_path, client_id)
drive_obj.download_object('file_id', 'path/to/write')
drive_obj.upload_file('path/to/read')

# Gmail
from gwrappy.gmail import GmailUtility
gmail_obj = GmailUtility(json_credentials_path, client_id)
gmail_obj.send_email(sender='Daniel Poon', to=['recipient_1@xx.com', 'recipient_2@yy.com'], subject='Hello World!', message_text='My First Email')

Installation

$ pip install gwrappy

History

0.4.3 (2016-12-16)

  • Bugfix in gwrappy.drive.DriveUtility.upload_file()

0.4.2 (2016-12-16)

  • Bugfix in gwrappy.dataproc.DataprocUtility.delete_cluster()

0.4.1 (2016-12-14)

  • Breaking Changes:
    • gwrappy.dataproc.DataprocUtility takes project_id in its constructor rather than a method parameter.

  • gwrappy.dataproc.DataprocUtility operation/job methods return Response objects when wait_finish=True

  • pandas dependency removed from requirements.txt as its functionality is limited to specific functions and largely unnecessary otherwise.

0.4.0 (2016-11-21)

  • Added gwrappy.dataproc for Google Dataproc

  • Minor Changes
    • gwrappy.storage.GcsUtility.update_object() added

    • Added ability to set object Acl on upload with gwrappy.storage.GcsUtility.upload_object()

0.3.0 (2016-10-31)

  • Python 3 compatibility
    • Most API functions were already compatible, most changes were done for the utilities functions.

  • Minor Bugfixes/Changes
    • BigqueryUtility().poll_resp_list() now doesn’t break once an exception is encountered. The respective Error object is returned and job checking is uninterrupted.

    • Fixed int columns being interpreted as float for pandas 0.19.0 when querying to dataframe.

0.2.1 (2016-10-20)

  • Minor Bugfixes:
    • bigquery.utils.read_sql properly checks kwargs.

    • BigqueryUtility queries with return_type=’dataframe’ uses inferred dtypes for integer columns to stop pandas from breaking if column contains NaN.

0.2.0 (2016-09-27)

  • Added gwrappy.compute for Google Compute Engine.

  • Minor Bugfixes:
    • drive.DriveUtility.list_files(): Removed fields, added orderBy and filter_exp.

    • bigquery.utils.JobResponse: time_taken in __repr__ for some job types fixed.

0.1.6 (2016-09-08)

  • Added more utilities
    • utils.month_range: Chunk dates into months.

    • utils.simple_mail: Send basic emails for alerts or testing. Note: For greater security and flexibility, do still use the gmail functionality within this package.

    • utils.StringLogger: Simply wrapper for logging with a string handler and convenience functions for retrieving logs as a string.

  • Added dateutil as a dependency

0.1.5 (2016-08-30)

  • list methods now return a generator for memory efficiency

  • BigQuery:
    • list_jobs takes 2 new args projection and earliest_date

  • Documentation updates

0.1.4 (2016-08-29)

  • gwrappy.errors no longer imports service specific error objects. To access JobError, import it from gwrappy.bigquery.errors

  • simple date range generator function added to gwrappy.utils

0.1.3 (2016-08-23)

  • BigQuery:
    • JobResponse now only sets time_taken if data is available.
      • Fixed bug that raised KeyError when wait_finish=False, since endTime was unavailable in the API response.

    • poll_resp_list returns JobReponse objects. Also propagates ‘description’ attribute if available.

0.1.2 (2016-08-19)

  • Bug Fixes

  • Documentation updates

0.1.1 (2016-08-16)

  • Completed docstrings and amendments to documentation

  • Added list_to_html under gwrappy.gmail.utils

  • Added tabulate as a dependency

0.1.0 (2016-08-15)

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page