Small utility to automate the generation of think-cell graphs.
Project description
thinkcell 📊
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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8ee807969728f9748ffbf94319b871f98cbb5c42d7e19abcff3fce2bbfacac76 |
|
MD5 | ff0886160aa0f00a79718b094cb42c47 |
|
BLAKE2b-256 | 7305b7d72ea0621fa8afbd29e66555c4059d16b6615391b9bce4705df157a1d1 |
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3741edd62ef700eb6d58ea9fb7840e21b0544814735b9b11ac97dded7d4dff59 |
|
MD5 | 9d8769e47f56e911e4f826940a6c3bc0 |
|
BLAKE2b-256 | 80c148841ca8f8e082b61522d0fa19a605f93bdae4a9b4cc9752e24f603b0b95 |