Skip to main content

Wrapper around Google APIs to create charts in Google Slides with python

Project description

gslides is a Python package that helps analysts turn pandas dataframes into Google slides & sheets charts by configuring and executing Google API calls.

The package provides a set of classes that enable the user full control over the creation of new visualizations through configurable parameters while eliminating the complexity of working directly with the Google API.

Quick Installation

pip install gslides

Usage

Below is an example that only showcases a simple workflow. Full discussion around features can be found in the docs.

1. Initialize package and connection

import gslides
from gslides import (
    Frame,
    Presentation,
    Spreadsheet,
    Table,
    Series, Chart
)
from sklearn import datasets
gslides.initialize_credentials(creds) #BringYourOwnCredentials

2. Create a presentation

prs = Presentation.create(name = 'demo pres')

3. Create a spreadsheet

spr = Spreadsheet.create(
    title = 'demo spreadsheet',
    sheet_names = ['demo sheet']
)

4. Load the data to the spreadsheet

plt_df = #Iris data
frame = Frame.create(df = plt_df,
          spreadsheet_id = spr.spreadsheet_id,
          sheet_id = spr.sheet_names['demo sheet'],
          sheet_name = 'demo sheet',
          overwrite_data = True
)

5. Create a scatterplot

sc = Series.scatter(series_columns = target_names)
ch = Chart(
    data = frame.data,
    x_axis_column = 'sepal length (cm)',
    series = [sc],
    title = f'Demo Chart',
    x_axis_label = 'Sepal Length',
    y_axis_label = 'Petal Width',
    legend_position = 'RIGHT_LEGEND',
)

6. Create a table

tbl = Table(
    data = plt_df.head()
)

7. Create a slide with the scatterplot

prs.add_slide(
  objects = [ch, tbl],
  layout = (1,2),
  title = "Investigation into Fischer's Iris dataset",
  notes = "Data from 1936"
)

8. Preview the slide you have just created in your notebook

prs.show_slide(prs.slide_ids[-1])
img/usage.png

gslides also supports basic templating functionality. See this notebook for an example.

Advanced Usage

Find this Jupyter notebook detailing advanced usage of gslides.

Developer Instructions

To install the package with development dependencies run the command

pip install -e .[dev]

This will enable the following

  • Unit testing using pytest - Run pytest in root package directory

  • Pre commit hooks ensuring codes style using black and isort

  • Sphinx documentation - To create sphinx run make html in package docs folder - To view locally run python -m http.server

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

gslides-0.1.1.tar.gz (240.9 kB view details)

Uploaded Source

Built Distribution

gslides-0.1.1-py37-none-any.whl (42.5 kB view details)

Uploaded Python 3.7

File details

Details for the file gslides-0.1.1.tar.gz.

File metadata

  • Download URL: gslides-0.1.1.tar.gz
  • Upload date:
  • Size: 240.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.10.0 pkginfo/1.8.2 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.9

File hashes

Hashes for gslides-0.1.1.tar.gz
Algorithm Hash digest
SHA256 920fe9c3e74c07c48ad7d6862964961f408ed12ec8f893c23bc7f3a49cd65280
MD5 f0a346289712fe4deee8d63b035fed94
BLAKE2b-256 305bd4212ec8cf3fd3f10af66c330ab01f75d9fd30dbb4f60d96b9c36a466992

See more details on using hashes here.

File details

Details for the file gslides-0.1.1-py37-none-any.whl.

File metadata

  • Download URL: gslides-0.1.1-py37-none-any.whl
  • Upload date:
  • Size: 42.5 kB
  • Tags: Python 3.7
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.10.0 pkginfo/1.8.2 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.9

File hashes

Hashes for gslides-0.1.1-py37-none-any.whl
Algorithm Hash digest
SHA256 99d07186b8c5bbee401a8ac3d8749d7d0c7349962c7354b70fa19fe1eadc5468
MD5 279d590aa968bf130db914d9afb252c0
BLAKE2b-256 f8f3af78ea7a78917ee8001898b9bf57ee7a85025c253dc3c728e72aa1e7b7ad

See more details on using hashes here.

Supported by

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