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)
| 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)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| 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 logRelease 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 logSecurity 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.
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 logA 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.