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 details)

Uploaded Source

Built Distribution

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

Uploaded Python 3

File details

Details for the file thinkcell-21.10.12.tar.gz.

File metadata

  • Download URL: thinkcell-21.10.12.tar.gz
  • Upload date:
  • Size: 9.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.7

File hashes

Hashes for thinkcell-21.10.12.tar.gz
Algorithm Hash digest
SHA256 8ee807969728f9748ffbf94319b871f98cbb5c42d7e19abcff3fce2bbfacac76
MD5 ff0886160aa0f00a79718b094cb42c47
BLAKE2b-256 7305b7d72ea0621fa8afbd29e66555c4059d16b6615391b9bce4705df157a1d1

See more details on using hashes here.

File details

Details for the file thinkcell-21.10.12-py3-none-any.whl.

File metadata

  • Download URL: thinkcell-21.10.12-py3-none-any.whl
  • Upload date:
  • Size: 8.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.7

File hashes

Hashes for thinkcell-21.10.12-py3-none-any.whl
Algorithm Hash digest
SHA256 3741edd62ef700eb6d58ea9fb7840e21b0544814735b9b11ac97dded7d4dff59
MD5 9d8769e47f56e911e4f826940a6c3bc0
BLAKE2b-256 80c148841ca8f8e082b61522d0fa19a605f93bdae4a9b4cc9752e24f603b0b95

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