Skip to main content

Automated PowerPoint report generation from Excel data via COM

Project description

decx

Automated PowerPoint report generation from Excel data via COM.

decx reads data from Excel workbooks and updates linked OLE objects, tables, delta indicators, color coding, and charts in PowerPoint presentations — all driven from the command line.

Requirements

  • Windows (COM automation requires Windows)
  • Microsoft PowerPoint (installed and licensed)
  • Microsoft Excel (installed and licensed)
  • Python 3.11+

Installation

uv add decx

Or with pip:

pip install decx

Usage

Update presentations

# Single presentation with one Excel file
decx update report.pptx --excel data.xlsx

# Batch mode with explicit pptx:xlsx pairs
decx update --pair "us.pptx:us_data.xlsx" --pair "mx.pptx:mx_data.xlsx"

# Skip specific steps
decx update report.pptx --excel data.xlsx --skip-links --skip-charts

# Use a custom config file
decx update report.pptx --excel data.xlsx --config my_config.yaml

# Verbose output for debugging
decx update report.pptx --excel data.xlsx --verbose

Initialize config

Write the default config.yaml to the current directory:

decx init

Info

decx info

Version

decx --version

Configuration

decx ships with sensible defaults. Run decx init to generate a config.yaml you can customize:

heatmap:
  color_minimum: '#F8696B'
  color_midpoint: '#FFEB84'
  color_maximum: '#63BE7B'
  dark_font: '#000000'
  light_font: '#FFFFFF'

ccst:
  positive_color: '#33CC33'
  negative_color: '#ED0590'
  neutral_color: '#595959'
  positive_prefix: '+'
  symbol_removal: '%'

delta:
  template_positive: tmpl_delta_pos
  template_negative: tmpl_delta_neg
  template_none: tmpl_delta_none
  template_slide: 1

links:
  set_manual: true

Pipeline

  1. Re-link OLE objects — point linked Excel objects to a new data file
  2. Populate tables — read Excel ranges and write values into PowerPoint tables
  3. Delta indicators — swap arrow shapes based on positive/negative values
  4. Color coding — apply color rules to _ccst tables
  5. Update charts — refresh linked chart data sources

License

MIT

Repository

https://github.com/albertxli/decx

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

decx-0.1.1.tar.gz (18.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

decx-0.1.1-py3-none-any.whl (24.0 kB view details)

Uploaded Python 3

File details

Details for the file decx-0.1.1.tar.gz.

File metadata

  • Download URL: decx-0.1.1.tar.gz
  • Upload date:
  • Size: 18.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for decx-0.1.1.tar.gz
Algorithm Hash digest
SHA256 b420a23eed223f80e34b99cc121daca7b8b868d19290769a1fb3c1da0eba2c67
MD5 5ac0124ce533f935ff596a1a239a2bb4
BLAKE2b-256 bfd8a602df7457cf720cebfd42f4dde6a0303863658cddf23d6dd4e49bd906fd

See more details on using hashes here.

Provenance

The following attestation bundles were made for decx-0.1.1.tar.gz:

Publisher: release.yml on albertxli/decx

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file decx-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: decx-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 24.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for decx-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 133c326eb5e3dacd03db84ac7c70cb039cfeeb865c8a8ecea4857b63627f802b
MD5 5e45491c1f5c9eeb4a2d72e0da6b4385
BLAKE2b-256 4dc9373d9b4656cf4576238c82a92460d9424a455223f6d2e7ff38ea724366df

See more details on using hashes here.

Provenance

The following attestation bundles were made for decx-0.1.1-py3-none-any.whl:

Publisher: release.yml on albertxli/decx

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page