Skip to main content

py_aep

py_aep is a Python package for working with After Effects AEP files.

Explore the docs »

About

After Effects files (.aep) are mostly binary files, encoded in RIFX format. This package uses struct to parse .aep files and return an Application object containing a project, items, layers, effects and properties. The API is very close to the ExtendScript API, with a few nice additions like iterators.

Features

Supported

  • Reading .aep files
  • Creating a new empty project from scratch (py_aep.new), replicating File > New > New Project
  • Saving to a new .aep file
  • Modifying most properties, including some that are not accessible through ExtendScript such as gradients, render settings, 3D renderer options, output module settings, etc. (Differences from ExtendScript for more details)
  • Adding and removing keyframes on any property - including mask paths, source text, markers, orientation and gradients - with static/animated transitions matching After Effects' own output
  • Adding new compositions and folders, moving items between folders
  • Creating layers: solids, nulls, shapes, cameras, lights, text (point, box and vertical text), and parametric 3D mesh layers (cube, sphere, plane, torus, cone, cylinder)
  • Removing items and layers; moving and duplicating layers; replacing a layer's source item
  • Importing footage files and image sequences, setting proxies, and selecting a single layer from layered .psd/.psb/.ai/.pdf files
  • Replacing a footage item's source, including rebinding to a specific layer of a layered file
  • Variable font axes on text layers, and editing dropdown menu items (property parameters)
  • Render queue management: adding compositions, removing and duplicating items, adding output modules, applying render/output templates from the AE preferences
  • Essential Graphics, Essential Properties and alternate sources
  • Preferences parsing for Render Queue Item / Output Module templates, New Composition / Project presets, ...
  • Interpolation between numeric keyframe values
  • Color Management: working and display space, footage interpretation and output module

Limited support

  • Properties that are synthesized by After Effects at runtime and not stored in the binary are supported but some might be missing or inaccurate
  • When adding effect properties to a layer or PropertyGroup, only effects that are already present in a .aep can be added
  • Some Text layers attributes are missing

Not supported

  • Expression evaluation
  • Image sampling and rendering
  • Layers, properties and keyframes selection
  • Runtime things such as System information, UI state, etc.

Installation

uv add py-aep

pip

pip install py-aep

Getting started

import py_aep

app = py_aep.parse("myproject.aep")
project = app.project
comp = project.compositions[0]

# Modify composition settings
comp.frame_rate = 24

# Modify a layer property
comp.layers[0].transform.opacity.value = 50

# Save to a new file
project.save("modified.aep")

For more examples, see the Quick Start guide.

Roadmap

See the open issues for a list of proposed features and known issues.

If you encounter a bug, please submit an issue and attach a basic scene to reproduce your issue.

Contributing

See the full Contributing Guide on GitHub.

Contact

Aurore Delaunay - github.15@audel.ovh

Acknowledgments

Metadata

Release files for py-aep 0.18.0

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

Source distribution (sdist)

Source distribution for py-aep 0.18.0
File Size Uploaded
py_aep-0.18.0.tar.gz 1.7 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for py-aep 0.18.0
File Interpreter ABI Platform
py_aep-0.18.0-py3-none-any.whl Python 3 none any Details

Total release size: 2.5 MB

Release files / py_aep-0.18.0.tar.gz

Download URL py_aep-0.18.0.tar.gz
Size 1.7 MB
Tags Source
SHA-256 checksum
How to use checksums
b7d4795bea3203f790ef82c94023c34025c4c0e2bf115075620175b850cb7a5c
BLAKE2b-256 checksum
How to use checksums
40ef947f2f72fb132675aeff8e4c33e10336a5e0391e0506a9ca9578b673f508
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 7, 2026.

Transparency log

Release files / py_aep-0.18.0-py3-none-any.whl

Download URL py_aep-0.18.0-py3-none-any.whl
Size 884.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
ba1ee257d5c8195cd7bd7bfcc7e02b77f14727a5149100311abde3c3533fe1f3
BLAKE2b-256 checksum
How to use checksums
89cc75831e819bbf9b42901d08f4b5806af2217adee0f0abb0369378d4ba2691
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 7, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.18.0 This release

2 release files

0.17.0

2 release files

0.16.0

2 release files

0.15.0

2 release files

0.14.0

2 release files

0.13.0

2 release files

0.12.0

2 release files

0.10.2

2 release files

0.10.1

2 release files

0.10.0

2 release files

0.9.0

2 release files

0.8.2

2 release files

0.8.1

2 release files

0.8.0

2 release files

0.7.2

2 release files

0.7.1

2 release files

0.7.0

2 release files

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