Skip to main content

aswf-aces-common

Shared protocols and types used across the ACES AMF Python packages.

This is a foundation package. Most users should install aswf-aces-amf-utils or aswf-aces-amf-lib instead.

Installation

pip install aswf-aces-common

Exports

TransformRegistry (Protocol)

Interface for transform ID registries. Implemented by ACESTransformRegistry in aswf-aces-transforms.

from aswf.aces.common import TransformRegistry

class MyRegistry:
    def is_valid_transform_id(self, transform_id: str, *, version: str | None = None) -> bool: ...
    def get_transform_info(self, transform_id: str, *, version: str | None = None) -> dict | None: ...
    def list_transforms(self, *, category: str | None = None, version: str | None = None) -> list[dict]: ...
    def list_versions(self) -> list[str]: ...
    def get_equivalent_id(self, transform_id: str) -> str | None: ...
    def get_equivalent_ids(self, transform_id: str) -> list[str]: ...

TransformURN (Dataclass)

Parses ACES transform URNs into their component fields per the Transform ID specification.

urn:ampas:aces:transformId:v{specVersion}:{TransformType}.{Namespace}.{Name}.a{ACESRelease}.v{TransformVersion}
from aswf.aces.common import TransformURN

urn = TransformURN.parse("urn:ampas:aces:transformId:v2.0:CSC.Academy.ACES_to_ACEScct.a2.v1")

urn.raw                   # "urn:ampas:aces:transformId:v2.0:CSC.Academy.ACES_to_ACEScct.a2.v1"
urn.spec_version          # "v2.0"
urn.spec_major_version    # 2
urn.spec_minor_version    # 0
urn.transform_type        # "CSC"
urn.namespace             # "Academy"
urn.name                  # "ACES_to_ACEScct"
urn.version_suffix        # "a2.v1"
urn.aces_release_version  # 2
urn.transform_version     # "v1"
urn.is_v1                 # False
urn.is_v2                 # True

The version suffix format varies between ACES versions:

ACES version Suffix format Example aces_release_version transform_version
v2.0 a{N}.v{N} a2.v1 2 "v1"
v1.x (semver) a{N}.{N}.{N} a1.0.3 1 "0.3"
v1.x (mixed) a{N}.v{N}.{N} a1.v1.0 1 "v1.0"

TransformURN.parse() returns None for strings that are not valid ACES transform URNs (e.g. legacy short names like ACEScsc.ACES_to_ACEScc.a1.0.3).

Edge cases

Internal library and utility transforms (ACESlib, ACESutil) do not include a separate namespace field — their format is {Type}.{Name}.{VersionSuffix} rather than {Type}.{Namespace}.{Name}.{VersionSuffix}. For these transforms, the name field will contain the version suffix and version_suffix will be empty, so aces_release_version and transform_version will return None. These transforms are not typically referenced in AMF files.

urn = TransformURN.parse("urn:ampas:aces:transformId:v1.5:ACESlib.Utilities.a1.0.3")
urn.transform_type        # "ACESlib"
urn.namespace             # "Utilities"   (actually the name, not a namespace)
urn.name                  # "a1.0.3"      (actually the version suffix)
urn.version_suffix        # ""
urn.aces_release_version  # None
urn.transform_version     # None

TransformInfo (Dataclass)

Metadata for a single ACES transform:

from aswf.aces.common import TransformInfo

# Fields: transform_id, user_name, transform_type, aces_version,
#         inverse_transform_id, previous_equivalent_ids

Constants

from aswf.aces.common import INPUT_TRANSFORM_TYPES, OUTPUT_TRANSFORM_TYPES

INPUT_TRANSFORM_TYPES   # frozenset{"IDT", "CSC", "Input"}
OUTPUT_TRANSFORM_TYPES  # frozenset{"ODT", "Output"}

License

Apache-2.0

Metadata

Release files for aswf-aces-common 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-common 0.1.0
File Size Uploaded Provenance Actions
aswf_aces_common-0.1.0.tar.gz 6.9 kB With provenance Details for aswf_aces_common-0.1.0.tar.gz

Built distribution (wheel)

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

Total release size: 13.2 kB

Release files / aswf_aces_common-0.1.0.tar.gz

Download URL aswf_aces_common-0.1.0.tar.gz
Size 6.9 kB
Tags Source
SHA-256 checksum
How to use checksums
a914aa47c01813db14ab10d7f9e32e629d379252ae0b00eb86d9cea52dc37945
BLAKE2b-256 checksum
How to use checksums
aef1dc5ac627d0e4ff8506f6effad67bbfca02d9a28fa28ac28563f3788da55a
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_common-0.1.0-py3-none-any.whl

Download URL aswf_aces_common-0.1.0-py3-none-any.whl
Size 6.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
feec189151b9c651aaf794da0b44e8bcf58a86761c425789624f5eda88af50ed
BLAKE2b-256 checksum
How to use checksums
b028e9020dac131f5915aa0973f9ca1fd534b64e58138734c0f3c25af409d5c2
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-common 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_common-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.

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