michael-gracie / gslides

Wrapper around Google APIs to create charts in Google Slides with python
https://michael-gracie.github.io/gslides
MIT License
31 stars 6 forks source link

Features Brainstorming #1

Closed michael-gracie closed 3 years ago

michael-gracie commented 3 years ago

Features

In this issue I will be capturing some of the brainstorming as to possible features

Configurable Styling

A yaml config file can be stored in the home directory which specifies the base configuration of the styling.

Configurable Attributes

TODO

Automated Spacing

The automated spacing of charts on slides.

Custom spacing

Enable users to use customer spacings for their charts

Create New Slides/Sheets & Overwrite

The module can both create new slides & sheet objects to utilize but alternative can overwrite existing slides & sheets objects.

There are 3 possible use cases:

  1. I create a new presentation to output my charts. I then copy and paste them into an existing presentation.
  2. I have an existing presentation and I wish to update the charts in that presentations with up to date data
  3. I have an existing presentation and I wish to add slides with chart to that presentation

Functionality

Overwrite Error

Have an overwrite boolean that allows you to overwrite existing data, but if it's false throw an error.

Pull Current Information From Slide / Charts

Enable the user to pull information from existing deck so that they can understand styling, spacing and which object id's to overwrite

Visualize existing slides / information

Display png to help user visualize existing objects in sheets / slides so that they can make decisions on what to do

Chart Types & Styling

Combo charts?

There are some options that are not supported by the sheets API and might require the charts API However there are many options supported by the sheets API and we will determine which ones to build

TODO create spreasheet on what is configurable for each chart type

Tables

Enable convenience functions that allow users to create styled table with data in a presentation

Custom Body

Enable users to input custom API calls along with the convenience calls to add objects to the slides as they please

Date Handling

Accept the following type of datetimes

Validate Scope

Ensure that when the connection is passed the user has both spreadsheets and sheets permissions

X Axis / Y Axis / Legend Ordering

Provide ability to order the axis

Validation of Data

Grouping into other

For series that are small enough, group them into an other series

Pivot Column

Allow user to pivot on a column

Draw

Allow user to draw a line on the chart