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.
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
- Modifying most properties, including some that are not accessible through ExtendScript such as gradients, render settings, output module settings, etc. (Differences from ExtendScript for more details)
- Adding new compositions and folders
- Removing items and layers
- Moving and duplicating layers
- Saving to a new .aep file
- Interpolation between numeric keyframe values
Limited support
- Essential graphics: controllers and override UUIDs are exposed but automatic resolution between them is not implemented
- Output Module settings: switching to another format (e.g. mov -> OpenEXR) is planned but not implemented
- 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 keyframes, output modules, render queue items, etc.
- Many methods are not implemented yet
- 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 - github.15@audel.ovh
Acknowledgments
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file py_aep-0.8.2.tar.gz.
File metadata
- Download URL: py_aep-0.8.2.tar.gz
- Upload date:
- Size: 846.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8707d77559d1dcf0dedbd0012df4ef16b281f01e6fe2a82a64b68ec39904cbf4
|
|
| MD5 |
72304a334c8d435fda594582713d8533
|
|
| BLAKE2b-256 |
aa72fd7d9ddd4f50ecf06a9a8e2e4a1d1ea370742fb48701de47d3f715d0ad70
|
Provenance
The following attestation bundles were made for py_aep-0.8.2.tar.gz:
Publisher:
release.yml on forticheprod/py-aep
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
py_aep-0.8.2.tar.gz -
Subject digest:
8707d77559d1dcf0dedbd0012df4ef16b281f01e6fe2a82a64b68ec39904cbf4 - Sigstore transparency entry: 1603452891
- Sigstore integration time:
-
Permalink:
forticheprod/py-aep@ff9c3297e59a4e536c6a4fbba5bca750faa0780b -
Branch / Tag:
refs/tags/v0.8.2 - Owner: https://github.com/forticheprod
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@ff9c3297e59a4e536c6a4fbba5bca750faa0780b -
Trigger Event:
push
-
Statement type:
File details
Details for the file py_aep-0.8.2-py3-none-any.whl.
File metadata
- Download URL: py_aep-0.8.2-py3-none-any.whl
- Upload date:
- Size: 345.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
de6536d8475a3fccee1bc87aa2b5ab5bfb8020bca907ce2bc9a103e5e86f0a13
|
|
| MD5 |
cff9367e82ea45cd71794d2b12103875
|
|
| BLAKE2b-256 |
c4b2352b9e91f6c8e22441b14a77583128e32ec8404f68fb92c9c496ae010ca5
|
Provenance
The following attestation bundles were made for py_aep-0.8.2-py3-none-any.whl:
Publisher:
release.yml on forticheprod/py-aep
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
py_aep-0.8.2-py3-none-any.whl -
Subject digest:
de6536d8475a3fccee1bc87aa2b5ab5bfb8020bca907ce2bc9a103e5e86f0a13 - Sigstore transparency entry: 1603453090
- Sigstore integration time:
-
Permalink:
forticheprod/py-aep@ff9c3297e59a4e536c6a4fbba5bca750faa0780b -
Branch / Tag:
refs/tags/v0.8.2 - Owner: https://github.com/forticheprod
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@ff9c3297e59a4e536c6a4fbba5bca750faa0780b -
Trigger Event:
push
-
Statement type: