Skip to main content

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.

Metadata

Release files for thinkcell 21.10.12

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for thinkcell 21.10.12
File Size Uploaded
thinkcell-21.10.12.tar.gz 9.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for thinkcell 21.10.12
File Interpreter ABI Platform
thinkcell-21.10.12-py3-none-any.whl Python 3 none any Details

Total release size: 18.1 kB

Release files / thinkcell-21.10.12.tar.gz

Download URL thinkcell-21.10.12.tar.gz
Size 9.6 kB
Tags Source
SHA-256 checksum
How to use checksums
8ee807969728f9748ffbf94319b871f98cbb5c42d7e19abcff3fce2bbfacac76
BLAKE2b-256 checksum
How to use checksums
7305b7d72ea0621fa8afbd29e66555c4059d16b6615391b9bce4705df157a1d1
Upload date
Uploaded using Trusted Publishing?
What is 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

Release files / thinkcell-21.10.12-py3-none-any.whl

Download URL thinkcell-21.10.12-py3-none-any.whl
Size 8.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
3741edd62ef700eb6d58ea9fb7840e21b0544814735b9b11ac97dded7d4dff59
BLAKE2b-256 checksum
How to use checksums
80c148841ca8f8e082b61522d0fa19a605f93bdae4a9b4cc9752e24f603b0b95
Upload date
Uploaded using Trusted Publishing?
What is 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

Release history Release notifications | RSS feed

This release

21.10.12 This release

2 release files

20.3.1

1 release file

20.3

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page