https://github.com/academysoftwarefoundation/opencolorio-config-aces
https://github.com/academysoftwarefoundation/opencolorio-config-aces
Last synced: about 1 year ago
JSON representation
- Host: GitHub
- URL: https://github.com/academysoftwarefoundation/opencolorio-config-aces
- Owner: AcademySoftwareFoundation
- License: bsd-3-clause
- Created: 2020-05-16T16:19:17.000Z (about 6 years ago)
- Default Branch: main
- Last Pushed: 2025-03-15T01:41:17.000Z (over 1 year ago)
- Last Synced: 2025-04-12T04:47:36.560Z (about 1 year ago)
- Language: Python
- Homepage: https://opencolorio.org
- Size: 824 KB
- Stars: 330
- Watchers: 29
- Forks: 41
- Open Issues: 17
-
Metadata Files:
- Readme: README.rst
- License: LICENSE
Awesome Lists containing this project
README
..
SPDX-License-Identifier: CC-BY-4.0
Copyright Contributors to the OpenColorIO Project.
OpenColorIO Configuration for ACES
==================================
.. start-badges
|actions| |artefacts|
.. |actions| image:: https://github.com/AcademySoftwareFoundation/OpenColorIO-Config-ACES/actions/workflows/continuous-integration-quality-unit-tests.yml/badge.svg
:target: https://github.com/AcademySoftwareFoundation/OpenColorIO-Config-ACES/actions/workflows/continuous-integration-quality-unit-tests.yml
:alt: Continuous Integration - Quality & Unit Tests
.. |artefacts| image:: https://github.com/AcademySoftwareFoundation/OpenColorIO-Config-ACES/actions/workflows/configuration-artifacts.yml/badge.svg
:target: https://github.com/AcademySoftwareFoundation/OpenColorIO-Config-ACES/actions/workflows/configuration-artifacts.yml
:alt: Configuration Artifacts
.. end-badges
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.
.. contents:: **Table of Contents**
:backlinks: none
:depth: 2
.. sectnum::
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.
User Guide
----------
Installation
^^^^^^^^^^^^
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
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.
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
Pypi
~~~~
The **OpenColorIO Configuration for ACES** package requires various
dependencies in order to run and be able to generate the *OCIO* configurations:
Primary Dependencies
~~~~~~~~~~~~~~~~~~~~
- `python >= 3.10, < 3.14 `__
- `opencolorio `__
- `requests `__
- `semver `__
Optional Dependencies
~~~~~~~~~~~~~~~~~~~~~
- `colour-science `__
- `graphviz `__
- `jsonpickle `__
- `networkx `__
- `pydot `__
Docs Dependencies
~~~~~~~~~~~~~~~~~
- `pydata-sphinx-theme `__
- `sphinx `__
Development Dependencies
~~~~~~~~~~~~~~~~~~~~~~~~
- `coverage `__
- `coveralls `__
- `hatch `__
- `invoke `__
- `pre-commit `__
- `pyright `__
- `pytest `__
- `pytest-cov `__
- `pytest-xdist `__
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 | |
+-------------------------------+----------------+----------------------------------------------------------------------------------+
Usage
^^^^^
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
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`` |
+-----------------------+----------------------------------------------+
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`` |
+-----------------------+---------------------------------------+
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`` |
+-----------------------+-------------------------------------------+
API Reference
-------------
The main technical reference for `OpenColorIO Configuration for ACES `__
is the `API Reference `__.
About
-----
| **OpenColorIO Configuration for ACES** by OpenColorIO Contributors
| Copyright Contributors to the OpenColorIO Project – `ocio-dev@lists.aswf.io `__
| This software is released under terms of New BSD License: https://opensource.org/licenses/BSD-3-Clause
| `https://github.com/AcademySoftwareFoundation/OpenColorIO-Config-ACES `__