Skip to content

Feature Request: Support for Adding Shape Animations (Entrance/Exit) via python-pptx or slides animation #1106

@sajjad-salam

Description

@sajjad-salam

Hello,

First of all, thank you for the great work on python-pptx. It has been extremely useful for generating PowerPoint files programmatically.

After extensive testing and research, I confirmed that python-pptx currently does not support adding animations to individual shapes (such as entrance/exit effects like Fly In, Fade, etc.). This limitation is also mentioned in several existing discussions and issues.

Current Behavior

Slide transitions (e.g., Morph, Push, Fade) can be added and work correctly.

Shape-level animations (text boxes, images, shapes) cannot be added using the public API.

Attempting to manipulate animations via XML is unreliable and unsupported.

Expected / Desired Behavior

It would be very valuable if python-pptx could support:

Adding entrance and exit animations to shapes

Basic animation types (Fly In, Fade, Appear, etc.)

Control over animation direction, duration, and trigger (on click / after previous)

Why This Matters

Many users generate presentations programmatically for:

Educational content

Automated report generation

AI-generated presentations

Animations are a key part of professional PowerPoint presentations, and currently users must rely on:

Commercial libraries (Aspose, Spire), or

VBA macro workarounds (which require enabling macros)

Native support in python-pptx would greatly expand its capabilities and adoption.

References

python-pptx documentation

Existing GitHub issues discussing animation limitations (e.g., #400)

Commercial libraries that already support this feature

I understand this may require significant work on the underlying OOXML animation model, but I wanted to formally request and discuss the possibility.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions