Skip to main content

Small utility to automate the generation of think-cell graphs.

Project description

thinkcell 📊

Build Status codecov PyPI version shields.io Supported Python versions Code style: black PyPI downloads GitHub license

thinkcell is a simple unofficial python library that helps you generate presentations in a quick and automated way.

In order to use it you will need a valid and working think-cell license and installation.

Installation

thinkcell is available on PyPi.

 $ pip install thinkcell

Tutorial and usage

Let us say you have generated a template according to think-cell's automation guidelines called simple-template.pptx with the following chart called Chart1:

The thinkcell library helps you generate a .ppttc file so that you can generate presentations based on that template using python:

from thinkcell import Thinkcell

template_name = "simple-template.pptx"
categories = ["Ads", "Revenue", "Losses"]
chart_name = "Chart1"
field_name = "chart_caption"
text = "Some relevant KPIs"
filename = "simple-example.ppttc"

data = [["Amazon", 1, 11, 14], ["Slack", 8, 2, 15], ["Ford", 1, 2, 12]]

tc = Thinkcell() # create thinkcell object
tc.add_template(template_name) # add your template
tc.add_textfield(
    template_name=template_name,
    field_name=field_name,
    text=text,
) # add your text field
tc.add_chart(
    template_name=template_name,
    chart_name=chart_name,
    categories=categories,
    data=data,
) # add you categories and data

tc.save_ppttc(filename=filename)

Once done, go ahead and double click the generated simple-example.ppttc file, and your chart will open. Save it and you are done!

You can also derive your chart from a Pandas dataframe.

Make sure you have pandas installed (e.g., pip install pandas)

from thinkcell import Thinkcell
import pandas

template_name = "simple-template.pptx"
chart_name = "Chart1"
filename = "simple-example.ppttc"
dataframe = pandas.DataFrame(
    columns=["Company", "Ads", "Revenue", "Losses"],
    data=[["Amazon", 1, 11, 14], ["Slack", 8, 2, 15], ["Ford", 1, 2, 12]],
)

tc = Thinkcell() # create thinkcell object
tc.add_template(template_name) # add your template
tc.add_chart_from_dataframe(
    template_name=template_name,
    chart_name=chart_name,
    dataframe=dataframe,
) # add your dataframe

tc.save_ppttc(filename=filename)

Visit the examples folder for more examples and source files.

If you wish to learn more about this process, visit the think-cell automation documentation.

Contributing

Start by forking this repo.

Install the development dependencies (you probably want to do this in a virtual environment):

 $ pip install -r requirements-dev.txt

Make sure the tests run:

 $ pytest

Then you can create a branch and submit a pull request.

To-dos

  • Create docstrings.
  • Handle duplicate template names.
  • Produce documentation.
  • Pandas dataframe support.

Note: This project is in no way affiliated with think-cell Sales GmbH & Co. KG. I just wanted to make my (and hopefully your) life easier.

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

thinkcell-21.10.12.tar.gz (9.6 kB view hashes)

Uploaded Source

Built Distribution

thinkcell-21.10.12-py3-none-any.whl (8.6 kB view hashes)

Uploaded Python 3

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