Skip to main content

aswf-aces-transforms

Python package for querying the official ACES transform registry. Provides lookup, validation, and version mapping of ACES transform IDs across all ACES system versions.

This package bundles a snapshot of the official ACES transforms.json from the aces-aswf/aces repository.

The bundled snapshot is minified and omits transformUrl, which the registry does not use, to reduce package size. It includes the typo and transform ID fixes from 0c78fc5.

Installation

pip install aswf-aces-transforms

Quick start

from aswf.aces.transforms import ACESTransformRegistry

registry = ACESTransformRegistry()

# Look up a transform
info = registry.get_transform_info(
    "urn:ampas:aces:transformId:v2.0:CSC.Academy.ACES_to_ACEScc.a2.v1"
)
print(info["user_name"])  # "ACES2065-1 to ACEScc"

# List all Output transforms for ACES v2.0
outputs = registry.list_transforms(category="Output", version="v2.0")

# Validate a transform ID
registry.is_valid_transform_id(
    "urn:ampas:aces:transformId:v2.0:CSC.Academy.ACES_to_ACEScc.a2.v1"
)  # True

Version-scoped queries

All query methods accept an optional version parameter to scope results to a specific ACES system version. Short version strings resolve to the latest matching release:

# "v1.3" resolves to v1.3.1 (latest patch)
registry.list_transforms(version="v1.3")

# "v2.0.0" resolves to the latest build (e.g., v2.0.0+2025.04.04)
registry.list_transforms(version="v2.0.0")

# Exact pin with build suffix
registry.list_transforms(version="v2.0.0+2025.04.04")

# No version = search across all versions
registry.is_valid_transform_id(
    "urn:ampas:aces:transformId:v2.0:CSC.Arri.LogC4_to_ACES.a2.v1"
)

Version migration

Resolve legacy transform IDs to their canonical equivalent:

# Old v1.x ID -> canonical v2.0 equivalent
registry.get_equivalent_id("ACEScsc.ACES_to_ACEScc.a1.0.3")
# -> "urn:ampas:aces:transformId:v2.0:CSC.Academy.ACES_to_ACEScc.a2.v1"

# What are the equivalent IDs for this transform?
registry.get_equivalent_ids(
    "urn:ampas:aces:transformId:v2.0:CSC.Academy.ACES_to_ACEScc.a2.v1"
)
# -> ["urn:ampas:aces:transformId:v1.5:ACEScsc.Academy.ACES_to_ACEScc.a1.0.3", ...]

API reference

ACESTransformRegistry

Method Description
is_valid_transform_id(id, *, version=None) Check if a transform ID exists (includes previous equivalent IDs)
get_transform_info(id, *, version=None) Get transform metadata as a dict, or None
list_transforms(*, category=None, version=None) List transforms, optionally filtered by type and version
get_transform_categories(*, version=None) Get sorted list of transform types (e.g., CSC, Output, IDT)
are_transforms_inverses(id1, id2, *, version=None) Check if two transforms are declared inverses
list_versions() List all available ACES version keys
get_equivalent_id(id) Resolve a legacy ID to its canonical equivalent
get_equivalent_ids(id) Get all equivalent IDs for a transform
transform_count Total unique transforms across all versions
schema_version Schema version of the bundled data

Transform info dict

get_transform_info() and list_transforms() return dicts with these keys:

{
    "transform_id": "urn:ampas:aces:transformId:v2.0:CSC.Academy.ACES_to_ACEScc.a2.v1",
    "user_name": "ACES2065-1 to ACEScc",
    "transform_type": "CSC",
    "aces_version": "v2.0.0+2025.04.04",
    "inverse_transform_id": "urn:ampas:aces:transformId:v2.0:CSC.Academy.ACEScc_to_ACES.a2.v1",
    "previous_equivalent_ids": [
        "urn:ampas:aces:transformId:v1.5:ACEScsc.Academy.ACES_to_ACEScc.a1.0.3",
        "ACEScsc.ACES_to_ACEScc.a1.0.3",
    ],
}

Updating the bundled registry

For an ACES release or a registry correction:

  1. Review the proposed registry changes, including transform IDs, inverse references, and previous equivalent IDs.

  2. Update the bundled data file at src/aswf/aces/transforms/data/aces_transforms.json, preserving its minified format and omission of transformUrl. Document the origin of any imported changes.

  3. Update affected AMF examples and fixtures if any transform IDs changed, and add regression coverage for corrected lookup or equivalence behavior.

  4. Run the full test suite from the repository root:

    .venv/bin/python -m pytest packages/*/tests
    
  5. For a package release, bump the version in pyproject.toml and src/aswf/aces/transforms/__init__.py, then release to PyPI. Downstream consumers update with:

    pip install --upgrade aswf-aces-transforms
    

The registry reads the JSON data dynamically; registry corrections do not require changes to the lookup implementation.

ACES versions currently included

Version Transforms Package Date
v2.0.0 164 2025.04.04
v1.3.1 993
v1.3 975
v1.2 970
v1.1 948
v1.0.3 930
v1.0.2 925
v1.0.1 922
v1.0 916

License

Apache-2.0. See LICENSE for details.

Metadata

Release files for aswf-aces-transforms 0.1.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 aswf-aces-transforms 0.1.0
File Size Uploaded Provenance Actions
aswf_aces_transforms-0.1.0.tar.gz 86.6 kB With provenance Details for aswf_aces_transforms-0.1.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for aswf-aces-transforms 0.1.0
File Interpreter ABI Platform Actions
aswf_aces_transforms-0.1.0-py3-none-any.whl Python 3 none any Details for aswf_aces_transforms-0.1.0-py3-none-any.whl

Total release size: 172.0 kB

Release files / aswf_aces_transforms-0.1.0.tar.gz

Download URL aswf_aces_transforms-0.1.0.tar.gz
Size 86.6 kB
Tags Source
SHA-256 checksum
How to use checksums
8fb7a2ba5c3d1fbafd01c44460b1e9fed4631ebc13c755afc9f70408b34cf119
BLAKE2b-256 checksum
How to use checksums
ea5861da2e90a6cea35e4bd0baafc1971afb3fdea1a047ef5737fc78afab3112
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 9, 2026.

Transparency log

Release files / aswf_aces_transforms-0.1.0-py3-none-any.whl

Download URL aswf_aces_transforms-0.1.0-py3-none-any.whl
Size 85.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
4a74c4baf55ebd66f46143c95feba3012f2c7b58f02bb39ffedd07f7713d15a1
BLAKE2b-256 checksum
How to use checksums
4f119a468e0395f91355400c20c6da5251d83b82f829551fd10d57e9835a5c6a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 9, 2026.

Transparency log

Security for aswf-aces-transforms 0.1.0

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.

Full provenance

Both files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for aswf_aces_transforms-0.1.0.tar.gz

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 Nov 9, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files Full provenance

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