Skip to content

AcademySoftwareFoundation/OpenColorIO-Config-ACES

Repository files navigation

OpenColorIO Configuration for ACES

Continuous Integration - Quality & Unit Tests Configuration Artifacts

The OpenColorIO Configuration for ACES is an open-source Python package implementing support for the generation of the OCIO configurations for the Academy Color Encoding System (ACES).

It is freely available under the New BSD License terms.

1   Features

The following features are available:

  • Automatic OCIO Reference configuration generation for aces-dev CTL reference implementation.
    • Discovery of aces-dev CTL transforms.
    • Generation of the CTL transforms graph.
    • Spreadsheet-driven generation.
  • Generators producing the OCIO CG and Studio configurations. - Spreadsheet-driven generation.
  • Included CLF transforms along with generator and discovery support.

2   User Guide

2.1   Installation

2.1.1   Cloning the Repository

The OpenColorIO Configuration for ACES repository uses Git submodules thus cloning the repository requires initializing them:

git clone --recursive https://github.com/AcademySoftwareFoundation/OpenColorIO-Config-ACES.git

If you have already cloned the repository and forgot the --recursive argument, it is possible to initialize the submodules as follows:

git submodule update --init --recursive

2.1.2   uv

The OpenColorIO Configuration for ACES repository adopts uv to help managing its dependencies, this is the recommended way to get started with development.

Assuming python >= 3.10 is available on your system along with OpenColorIO, the development dependencies are installed with uv as follows:

git clone --recursive https://github.com/AcademySoftwareFoundation/OpenColorIO-Config-ACES.git
cd OpenColorIO-Config-ACES
uv sync --all-extras

The aces-dev CTL reference graph can be plotted but it requires Graphviz to be installed on the system.

2.1.3   Docker

Installing the dependencies for the previous config generator was not a trivial task. For ease of use an aswf-docker based container is now available.

Creating the container from the Dockerfile is done as follows:

docker build -t aswf/opencolorio-config-aces:latest .

or alternatively, if the dependencies described in the next section are satisfied:

invoke docker build

Then, to run bash in the container:

docker run -it -v ${PWD}:/home/aswf/OpenColorIO-Config-ACES aswf/opencolorio-config-aces:latest /bin/bash

2.1.4   Pypi

The OpenColorIO Configuration for ACES package requires various dependencies in order to run and be able to generate the OCIO configurations:

2.1.4.1   Primary Dependencies
2.1.4.2   Optional Dependencies
2.1.4.3   Docs Dependencies
2.1.4.4   Development Dependencies

2.2   Components Status

Component Status Notes
aces-dev Discovery Complete Minor updates might be required when aces-dev is updated.
Common Config Generator Complete  
Reference Config Generation Complete  
CG Config Generation Complete  
Custom Config Generation In-Progress We are designing the components so that one can generate a custom ACES config.
Studio Config Generation Complete  
CLF Transforms Discovery Complete Minor updates will be required if classification changes.
CLF Transforms Generation Complete  
Public API Surfacing In-Progress What is part of the Public API is not well defined currently.
Unit Tests In-Progress  
API Documentation Complete  
Continuous Integration Complete  
CLI In-Progress  
Containerisation Complete Minor updates will be required as the CLI evolves.
Pypi Package Unavailable  

2.3   Usage

2.3.1   Tasks

Various tasks are currently exposed via invoke.

This is currently the recommended way to build the configuration until a dedicated CLI is provided.

Listing the tasks is done as follows:

invoke --list
2.3.1.1   Reference Config
Task Command
Build invoke build-config-reference
Build (Docker) invoke docker-run-build-config-reference
Updating Mapping File invoke update-mapping-file-reference
2.3.1.2   CG Config
Task Command
Build invoke build-config-cg
Build (Docker) invoke docker-run-build-config-cg
Updating Mapping File invoke update-mapping-file-cg
2.3.1.3   Studio Config
Task Command
Build invoke build-config-studio
Build (Docker) invoke docker-run-build-config-studio
Updating Mapping File invoke update-mapping-file-studio

3   API Reference

The main technical reference for OpenColorIO Configuration for ACES is the API Reference.

4   About

OpenColorIO Configuration for ACES by OpenColorIO Contributors
Copyright Contributors to the OpenColorIO Project – [email protected]
This software is released under terms of New BSD License: https://opensource.org/licenses/BSD-3-Clause