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.1

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.1
File Size Uploaded
py_aep-0.18.1.tar.gz 1.7 MB Details

Built distribution (wheel)

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

Total release size: 2.5 MB

Release files / py_aep-0.18.1.tar.gz

Download URL py_aep-0.18.1.tar.gz
Size 1.7 MB
Tags Source
SHA-256 checksum
How to use checksums
1208dde392736a953ba0028cd6f9c066d24574fcb9174829ac2aecf0647ec7cd
BLAKE2b-256 checksum
How to use checksums
bb3ca48cc950e474f6476fd0b745d2148d7836cdc89417bb658fa2210e9c13bc
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.1-py3-none-any.whl

Download URL py_aep-0.18.1-py3-none-any.whl
Size 884.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
5543c52338b02f2332b9e5e96ea6a43cd89d056e10c5e5afb996c9a5ef14648f
BLAKE2b-256 checksum
How to use checksums
491a7d0ce0d16b60672008a8830023fbdd76b95f857ec42077fbcbeff6b61468
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.1 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