Skip to main content

Aeset

PyPI version Status

aeset brand

Every video editor or motion designer wastes 10–20 minutes at the start of every project doing the exact same thing: creating folders by hand, naming them consistently, opening After Effects, and setting up a new composition with the right resolution, framerate, and duration. It is not creative work. It is repetitive work. Multiply it by 50 projects a year and you have lost a full work week to folder creation and blank composition setup.

Aeset is a tool built to solve this for After Effects on macOS. It takes the "scaffolding" logic used by software developers and applies it to the motion design world.

Installation and Requirements

Installation

Aeset can be installed via pip:

pip install aeset

Requirements

  • macOS (Intel & Apple Silicon: M1, M2, M3, M4+): AppleScript and the open command are macOS-specific.
  • Adobe After Effects (Universal: AE 2020 through 2026+)
  • Python 3.11+

Usage

Run the command

aeset

and then you're ready to scaffold your project.

1. What The Tool Does

The user opens their terminal, navigates to where they want the project to live, and runs:

aeset

The tool then asks a series of interactive questions:

  • Project name (e.g., Nike_Ident_2026)
  • Project type (Commercial, Personal, etc.)
  • Resolution (Full HD, 4K, Vertical, etc.)
  • Frame rate (24, 25, 30, 60 fps)
  • Duration in seconds
  • Color space (sRGB, Rec. 709, ACES)

After those answers, the tool:

  1. Creates a standardized folder tree inside a new project directory.
  2. Generates an ExtendScript .jsx file tailored to your specifications.
  3. Automatically launches your installed version of After Effects.
  4. Uses AppleScript to run the .jsx setup script, which builds the composition, organizes project bins, and saves a native .aep project file.

2. Folder Structure Generated

Aeset generates a directory layout that follows conventions used by professional motion studios. The core principle is: never mix source files with outputs.

On Disk:

<ProjectName>/
├── project/
│   ├── <ProjectName>.aep       (native After Effects project)
│   └── setup.jsx               (project initialization script)
├── footage/
│   ├── video/                  (raw video clips)
│   ├── audio/                  (music, SFX, voiceover)
│   └── renders/                (outputs from C4D, Blender, etc.)
├── assets/
│   ├── images/                 (static graphics, PNGs, PSDs, AI files)
│   ├── fonts/                  (local fonts scoped to this project)
│   └── documents/              (briefs, scripts, reference PDFs)
├── exports/
│   ├── drafts/                 (work-in-progress renders)
│   └── final/                  (delivered, approved renders)
└── README.md                   (auto-generated project notes)

Inside After Effects:

The tool also creates corresponding bins in the Project Panel to keep your workspace clean:

  • _COMPS (containing your main composition)
  • _FOOTAGE
  • _ASSETS
  • _AUDIO

3. The Mechanism

Dynamic Project Initialization

Instead of shipping a static pre-saved .aep binary file that locks you into a specific version, Aeset generates and saves the project directly through After Effects' ExtendScript engine (app.newProject() and app.project.save()). This guarantees 100% compatibility across all After Effects releases and hardware architectures.

The .jsx file

The tool generates a plain text ExtendScript file at runtime. This script has full programmatic access to After Effects. It uses the specs you provided in the terminal to build your composition, configure color management, and organize your project panel.

The AppleScript Trigger

The .jsx is triggered explicitly after After Effects opens using a macOS AppleScript command (DoScript). This bridges the gap between the Python-based CLI and the Adobe environment.

4. Constraints and Assumptions

  • No Adobe credentials required: The tool uses only local scripting.
  • After Effects must already be installed: The tool detects your installed AE application in /Applications.
  • Local execution: All files are generated and stored locally on your machine.

5. Development & Testing

For guidelines on local testing, running automated test suites, manual verification, and the pre-release checklist, see the Developer Testing Guide.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

aeset-0.2.1.tar.gz (8.2 kB view details)

Uploaded Source

Built Distribution

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

aeset-0.2.1-py3-none-any.whl (8.8 kB view details)

Uploaded Python 3

File details

Details for the file aeset-0.2.1.tar.gz.

File metadata

  • Download URL: aeset-0.2.1.tar.gz
  • Upload date:
  • Size: 8.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for aeset-0.2.1.tar.gz
Algorithm Hash digest
SHA256 13d991297614c1249a0dee293e2f4845df923a19f736554c45fd575ae7f407d2
MD5 f25fe1252573c52d383a393b18a4565d
BLAKE2b-256 f97c8ee50a196a44320b6479753c974942ab11c183670ae1cbdda81ae4a63a93

See more details on using hashes here.

Provenance

The following attestation bundles were made for aeset-0.2.1.tar.gz:

Publisher: publish.yml on A7med7x7/Aeset

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

File details

Details for the file aeset-0.2.1-py3-none-any.whl.

File metadata

  • Download URL: aeset-0.2.1-py3-none-any.whl
  • Upload date:
  • Size: 8.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for aeset-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 f9fba2180631c88b653c293e3bf5d7e8b1426b8c41c855f19d3c1c222d3393f0
MD5 7d23817a04b665fc5545223b1ea2557e
BLAKE2b-256 65c1710c010e336886297de7019ddbea749c0c440035d51707203c0e493b5787

See more details on using hashes here.

Provenance

The following attestation bundles were made for aeset-0.2.1-py3-none-any.whl:

Publisher: publish.yml on A7med7x7/Aeset

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

Release history Release notifications | RSS feed

This release

0.2.1 This release

2 files

0.1.1

2 files

0.1.0

2 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