Skip to main content

A package for working with After Effects AEP files.

Project description

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 Kaitai Struct to parse .aep files and return an Application object containing a project, items, layers, effects and properties. The API is as close as possible to the ExtendScript API, with a few nice additions like iterators.

Features

Supported

  • Reading .aep files
  • project items, compositions, layers, effects, properties and keyframes
  • shapes, masks, text documents, markers
  • render queue items, output modules, render settings and output module settings
  • interpolation between keyframe values
  • Modifying most properties and saving to a new .aep file

Limited support

  • Essential graphics: controllers and overrides can be accessed but are not linked together
  • Output Module settings: switching to another format (e.g. mov -> OpenEXR) is not possible yet
  • Footage source: the file path cannot be changed yet
  • Properties that are synthesized by After Effects at runtime and not stored in the binary are supported but some might be missing or inaccurate
  • Many Text layers attributes are missing

Not supported

  • Adding or removing items such as compositions, folders, items, keyframes, output modules, render queue items, etc.
  • Gradients
  • Proxy sources
  • Expression evaluation
  • Runtime things such as System information, preferences, available color spaces, render templates, UI state, etc.

Installation

uv (recommended)

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 - del-github@blurme.net

Acknowledgments

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

py_aep-0.7.1.tar.gz (835.7 kB view details)

Uploaded Source

Built Distribution

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

py_aep-0.7.1-py3-none-any.whl (317.8 kB view details)

Uploaded Python 3

File details

Details for the file py_aep-0.7.1.tar.gz.

File metadata

  • Download URL: py_aep-0.7.1.tar.gz
  • Upload date:
  • Size: 835.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.13

File hashes

Hashes for py_aep-0.7.1.tar.gz
Algorithm Hash digest
SHA256 0ab7a91d9d9eaacf6409b2158a52b651e06bff3996c0bcebc36affd291d4ff55
MD5 3e2c8246a49c6559295190514b40c8f9
BLAKE2b-256 ee6896378de03f5c8a0af00edb0e2f91f319739f1a62a9cd6d91c5da841ae6bf

See more details on using hashes here.

Provenance

The following attestation bundles were made for py_aep-0.7.1.tar.gz:

Publisher: release.yml on forticheprod/py-aep

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

File details

Details for the file py_aep-0.7.1-py3-none-any.whl.

File metadata

  • Download URL: py_aep-0.7.1-py3-none-any.whl
  • Upload date:
  • Size: 317.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.13

File hashes

Hashes for py_aep-0.7.1-py3-none-any.whl
Algorithm Hash digest
SHA256 c0a15db43317e15c093c73f752281c93980ec9f3c6548915dbe57dcaf0a6ff22
MD5 e87d37fe3cfeb9d6cb477c59bab9d15a
BLAKE2b-256 18ca22e8bdf07f2c63bdedfa4c4e24ed805e1d0c29c91c267823e352a9153fcc

See more details on using hashes here.

Provenance

The following attestation bundles were made for py_aep-0.7.1-py3-none-any.whl:

Publisher: release.yml on forticheprod/py-aep

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