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.16.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.16.0
File Size Uploaded
py_aep-0.16.0.tar.gz 1.2 MB Details

Built distribution (wheel)

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

Total release size: 2.0 MB

Release files / py_aep-0.16.0.tar.gz

Download URL py_aep-0.16.0.tar.gz
Size 1.2 MB
Tags Source
SHA-256 checksum
How to use checksums
283e165167c3d1ad12f50a740ecdff9b3c28632413f60e185016081ba4c8c4f5
BLAKE2b-256 checksum
How to use checksums
06a16e52e347a1e0f41fa599e3013baead06634a157f960ed407a9e04771bbb1
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 Sep 11, 2026.

Transparency log

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

Download URL py_aep-0.16.0-py3-none-any.whl
Size 736.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
c3538d19e98dad2c41e2ac236d15e9c3d1c244df33df9bb4c5ea328297af9dfa
BLAKE2b-256 checksum
How to use checksums
baeec6c27d22f83ba54aba3dab74d342f352864c427e8b9e4e783ac86f4b6362
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 Sep 11, 2026.

Transparency log

Release history Release notifications | RSS feed

0.17.0

2 release files

This release

0.16.0 This release

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