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
- 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 - github.15@audel.ovh
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
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.0.tar.gz.
File metadata
- Download URL: py_aep-0.8.0.tar.gz
- Upload date:
- Size: 838.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8dbd641774259c3198560ef5587b7af2a6311ad37df1e2962dbb41f18eff174e
|
|
| MD5 |
e48aacb4335ac912aa23d190b0ce9e02
|
|
| BLAKE2b-256 |
d8282f83b8c6a457dac0e241e000adb3cebee0f6590031ac6ceafddc677c2975
|
Provenance
The following attestation bundles were made for py_aep-0.8.0.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.0.tar.gz -
Subject digest:
8dbd641774259c3198560ef5587b7af2a6311ad37df1e2962dbb41f18eff174e - Sigstore transparency entry: 1451164471
- Sigstore integration time:
-
Permalink:
forticheprod/py-aep@5d760ce103a293d0e4d934958348728386221db3 -
Branch / Tag:
refs/tags/v0.8.0 - Owner: https://github.com/forticheprod
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@5d760ce103a293d0e4d934958348728386221db3 -
Trigger Event:
push
-
Statement type:
File details
Details for the file py_aep-0.8.0-py3-none-any.whl.
File metadata
- Download URL: py_aep-0.8.0-py3-none-any.whl
- Upload date:
- Size: 302.5 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 |
acd4573d37f8399ebbcc46d061772e2c70b0e4a44c76133682985f78b0d0517e
|
|
| MD5 |
cf8a9df40bf0391e464247d9ce17f8c4
|
|
| BLAKE2b-256 |
2d10c32758997bd1b4cf72548ccc5aa84a312575fd076e1cf401e9da57ac4277
|
Provenance
The following attestation bundles were made for py_aep-0.8.0-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.0-py3-none-any.whl -
Subject digest:
acd4573d37f8399ebbcc46d061772e2c70b0e4a44c76133682985f78b0d0517e - Sigstore transparency entry: 1451164573
- Sigstore integration time:
-
Permalink:
forticheprod/py-aep@5d760ce103a293d0e4d934958348728386221db3 -
Branch / Tag:
refs/tags/v0.8.0 - Owner: https://github.com/forticheprod
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@5d760ce103a293d0e4d934958348728386221db3 -
Trigger Event:
push
-
Statement type: