I built the 5-slide deck and re-opened it to check it. Appearance is unchecked, because there's no renderer here (LibreOffice isn't installed) and python-pptx can't draw slides. I haven't seen how the slides look, including whether any text overflows, so open it once in PowerPoint or Keynote.
File: q3-update.pptx in the working folder. The build script is build_deck.py, and the re-open check is verify_deck.py.
| # | Layout | Title |
|---|---|---|
| 1 | Title Slide | Q3 Update |
| 2 | Title and Content | Q3 in three points |
| 3 | Title Only | Q3 sales by region (sample data) |
| 4 | Title Only | Q3 sales by region – chart (sample data) |
| 5 | Title Slide | Thank you |
What I verified after re-opening:
- Slide count and size: There are 5 slides at 16:9 (13.333 × 7.5 in, ratio 1.778).
- Titles: Each slide's title matches the list above.
- Bullets: Slide 2 has exactly 3 bullets.
- Speaker notes: Slide 2 has notes, and no other slide does.
- Table: Slide 3 is a native 4×2 table with a header row. It holds North 120, South 95 and West 140, in $K.
- Chart: Slide 4 is a native clustered column chart with one series, "Sales ($K, sample)", and the same three values as the table.
- Sample labels: "Sample" appears on the title slide, in each bullet, in the table header, in both slide titles, in the chart title and series name, in the notes, and on the closing slide.
Assumptions to confirm:
- The company name "Acme Co." and the numbers are made up, as you asked.
- The bullet wording ("West led", "Q4 focus: lift South") is mine, chosen to match the sample numbers.
- The deck uses python-pptx's default theme, which is plain white.
Test run: a five-slide sample deck built with python-pptx in a temporary folder, allowed to write files and run python3 only. I re-opened the file myself: 5 slides at 16:9, a native table, a native chart and notes on slide 2. LibreOffice was not installed, so appearance and text overflow were not checked. All content and numbers are sample.
What it does
Writes and runs a Python script that builds or changes a presentation so it opens cleanly in PowerPoint. It fills the template's own layouts and placeholders so the theme survives and the deck can be restyled in the slide master, keeps to one message per slide with short titles and few bullets and moves detail to speaker notes. It adds native tables, native charts (from data you give) and pictures from files you provide. Edits to an existing deck start with an outline of slides and shapes, change only what you asked, replace text run by run to keep formatting and save under a new name. It can also extract text, tables, chart series and notes. After saving it re-opens the file and reports slide count, titles, notes and table and chart contents, and says plainly that appearance, animations and SmartArt were not covered.
Output
The .pptx file, the script, a slide list, a verification report and the placeholders to confirm.
Good for
Turning an outline or data into a draft deck, updating text in a template, and pulling the content out of an existing presentation.
Medium risk: instructions only, no scripts of its own, but it writes and runs Python that creates files in your working folder and may suggest installing python-pptx in a virtual environment. It never overwrites your originals, creates no macros and fetches no remote media. Test-run once in a temporary folder with sample numbers: it built a five-slide deck with a table, a chart and notes, and I re-opened it to confirm; appearance and text overflow were not checked because LibreOffice was missing. Look at the deck in PowerPoint before presenting. Original by AIBars (MIT).