Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
21 changes: 10 additions & 11 deletions .github/workflows/configuration-artifacts.yml
Original file line number Diff line number Diff line change
Expand Up @@ -28,19 +28,18 @@ jobs:
- name: Install Dependencies
run: |
sudo apt-get --yes install graphviz graphviz-dev
- name: Install Poetry
- name: Install uv
run: |
curl -sSL https://install.python-poetry.org | POETRY_HOME=$HOME/.poetry python3 -
echo "$HOME/.poetry/bin" >> $GITHUB_PATH
pip install uv
shell: bash
- name: Install Package Dependencies
run: |
poetry run python -m pip install --upgrade pip
poetry install
uv sync --all-extras --no-dev
uv run python -c "import imageio;imageio.plugins.freeimage.download()"
shell: bash
- name: ACES - Conversion Graph
run: |
poetry run invoke build-aces-conversion-graph
uv run invoke build-aces-conversion-graph
shell: bash
- uses: actions/upload-artifact@v4
with:
Expand All @@ -49,7 +48,7 @@ jobs:
build/aces/graph/
- name: Generation - Config - Common Tests
run: |
poetry run invoke build-config-common-tests
uv run invoke build-config-common-tests
shell: bash
- uses: actions/upload-artifact@v4
with:
Expand All @@ -58,7 +57,7 @@ jobs:
build/config/common/tests/
- name: Generation - Config - ACES Reference (Analytical)
run: |
poetry run invoke build-config-reference-analytical
uv run invoke build-config-reference-analytical
shell: bash
- uses: actions/upload-artifact@v4
with:
Expand All @@ -67,7 +66,7 @@ jobs:
build/config/aces/analytical/
- name: Generation - Config - ACES Reference
run: |
poetry run invoke build-config-reference
uv run invoke build-config-reference
shell: bash
- uses: actions/upload-artifact@v4
with:
Expand All @@ -76,7 +75,7 @@ jobs:
build/config/aces/reference/
- name: Generation - Config - ACES CG
run: |
poetry run invoke build-config-cg
uv run invoke build-config-cg
shell: bash
- uses: actions/upload-artifact@v4
with:
Expand All @@ -85,7 +84,7 @@ jobs:
build/config/aces/cg/
- name: Generation - Config - ACES Studio
run: |
poetry run invoke build-config-studio
uv run invoke build-config-studio
shell: bash
- uses: actions/upload-artifact@v4
with:
Expand Down
24 changes: 11 additions & 13 deletions .github/workflows/continuous-integration-quality-unit-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,8 @@ jobs:
name: ${{ matrix.os }} - Python ${{ matrix.python-version }}
strategy:
matrix:
# os: [macOS-13, ubuntu-20.04, windows-latest]
os: [macOS-13, ubuntu-20.04]
python-version: [3.11]
os: [macOS-latest, ubuntu-latest] #, windows-latest]
python-version: [3.13]
fail-fast: false
runs-on: ${{ matrix.os }}
steps:
Expand All @@ -23,33 +22,32 @@ jobs:
echo "CI_SHA=${{ github.sha }}" >> $GITHUB_ENV
echo "COVERALLS_REPO_TOKEN=${{ secrets.COVERALLS_REPO_TOKEN }}" >> $GITHUB_ENV
shell: bash
- name: Set up Python 3.9 for Pre-Commit
- name: Set up Python 3.10 for Pre-Commit
uses: actions/setup-python@v4
with:
python-version: 3.9
python-version: "3.10"
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
- name: Install Poetry
- name: Install uv
run: |
curl -sSL https://install.python-poetry.org | POETRY_HOME=$HOME/.poetry python3 -
echo "$HOME/.poetry/bin" >> $GITHUB_PATH
pip install uv
shell: bash
- name: Install Package Dependencies
run: |
poetry run python -m pip install --upgrade pip
poetry install --without graphviz
uv sync --all-extras --no-dev
uv run python -c "import imageio;imageio.plugins.freeimage.download()"
shell: bash
- name: Pre-Commit (All Files)
run: |
poetry run pre-commit run --all-files
uv run pre-commit run --all-files
shell: bash
- name: Test Optimised Python Execution
run: |
poetry run python -OO -c "import $CI_PACKAGE"
uv run python -OO -c "import $CI_PACKAGE"
shell: bash
- name: Test with Pytest
run: |
poetry run python -W ignore -m pytest --disable-warnings --doctest-modules --ignore=$CI_PACKAGE/config/reference/aces-dev --cov=$CI_PACKAGE $CI_PACKAGE
uv run python -W ignore -m pytest --disable-warnings --doctest-modules --ignore=$CI_PACKAGE/config/reference/aces-dev --cov=$CI_PACKAGE $CI_PACKAGE
shell: bash
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,8 @@ jobs:
name: ${{ matrix.os }} - Python ${{ matrix.python-version }}
strategy:
matrix:
os: [macOS-13]
python-version: [3.11]
os: [macOS-latest]
python-version: [3.13]
fail-fast: false
runs-on: ${{ matrix.os }}
steps:
Expand All @@ -23,7 +23,7 @@ jobs:
python-version: ${{ matrix.python-version }}
- name: Install Package Dependencies
run: |
pip install -r requirements.txt
cat requirements.txt | grep -Eo '(^[^#]+)' | xargs -n 1 pip install || true
- name: Static Type Checking
run: |
pyright --skipunannotated
3 changes: 2 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,10 @@
.coverage
.dmypy.json
.idea
.venv
__pycache__
build
dist
docs/_build
docs/generated
poetry.lock
uv.lock
2 changes: 1 addition & 1 deletion .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ repos:
rev: 1.16.0
hooks:
- id: blacken-docs
language_version: python3.9
language_version: python3.10
- repo: https://github.com/pre-commit/mirrors-prettier
rev: "v3.1.0"
hooks:
Expand Down
33 changes: 17 additions & 16 deletions README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -70,27 +70,24 @@ argument, it is possible to initialize the submodules as follows::

git submodule update --init --recursive

Poetry
~~~~~~
uv
~~

The *OpenColorIO Configuration for ACES* repository adopts `Poetry <https://poetry.eustace.io>`__
The *OpenColorIO Configuration for ACES* repository adopts `uv <https://github.com/astral-sh/uv>`__
to help managing its dependencies, this is the recommended way to get started
with development.

Assuming `python >= 3.9 <https://www.python.org/download/releases>`__ is
Assuming `python >= 3.10 <https://www.python.org/download/releases>`__ is
available on your system along with `OpenColorIO <https://opencolorio.org>`__,
the development dependencies are installed with `Poetry <https://poetry.eustace.io>`__
the development dependencies are installed with `uv <https://github.com/astral-sh/uv>`__
as follows::

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

The *aces-dev* *CTL* reference graph can be plotted but it requires `Graphviz <https://graphviz.org>`__
to be installed on the system and having installed the optional `pygraphviz <https://pypi.org/project/pygraphviz>`__:
python package::

poetry install --with graphviz,optional
to be installed on the system.

Docker
~~~~~~
Expand Down Expand Up @@ -122,7 +119,7 @@ dependencies in order to run and be able to generate the *OCIO* configurations:
Primary Dependencies
********************

- `python >= 3.9, < 3.11 <https://www.python.org/download/releases>`__
- `python >= 3.10, < 3.14 <https://www.python.org/download/releases>`__
- `opencolorio <https://pypi.org/project/opencolorio>`__
- `requests <https://pypi.org/project/requests>`__
- `semver <https://pypi.org/project/semver>`__
Expand All @@ -134,22 +131,26 @@ Optional Dependencies
- `graphviz <https://www.graphviz.org>`__
- `jsonpickle <https://jsonpickle.github.io>`__
- `networkx <https://pypi.org/project/networkx>`__
- `pygraphviz <https://pypi.org/project/pygraphviz>`__
- `pydot <https://pypi.org/project/pydot>`__

Docs Dependencies
*****************

- `pydata-sphinx-theme <https://pypi.org/project/pydata-sphinx-theme>`__
- `sphinx <https://pypi.org/project/sphinx>`__

Development Dependencies
************************

- `coverage <https://pypi.org/project/coverage>`__
- `coveralls <https://pypi.org/project/coveralls>`__
- `hatch <https://pypi.org/project/hatch>`__
- `invoke <https://pypi.org/project/invoke>`__
- `pre-commit <https://pypi.org/project/pre-commit>`__
- `pydata-sphinx-theme <https://pypi.org/project/pydata-sphinx-theme>`__
- `pyright <https://pypi.org/project/pyright>`__
- `pytest <https://pypi.org/project/pytest>`__
- `pytest-cov <https://pypi.org/project/pytest-cov>`__
- `restructuredtext-lint <https://pypi.org/project/restructuredtext-lint>`__
- `sphinx >= 4, < 5 <https://pypi.org/project/sphinx>`__
- `twine <https://pypi.org/project/twine>`__
- `pytest-xdist <https://pypi.org/project/pytest-xdist>`__

Components Status
^^^^^^^^^^^^^^^^^
Expand Down
35 changes: 18 additions & 17 deletions docs/installation.rst
Original file line number Diff line number Diff line change
Expand Up @@ -18,27 +18,24 @@ argument, it is possible to initialize the submodules as follows::

git submodule update --init --recursive

Poetry
------
uv
~~

The *OpenColorIO Configuration for ACES* repository adopts `Poetry <https://poetry.eustace.io>`__
The *OpenColorIO Configuration for ACES* repository adopts `uv <https://github.com/astral-sh/uv>`__
to help managing its dependencies, this is the recommended way to get started
with development.

Assuming `python >= 3.9 <https://www.python.org/download/releases>`__ is
available on your system along with `OpenColorIO >= 2 <https://opencolorio.org>`__,
the development dependencies are installed with `Poetry <https://poetry.eustace.io>`__
Assuming `python >= 3.10 <https://www.python.org/download/releases>`__ is
available on your system along with `OpenColorIO <https://opencolorio.org>`__,
the development dependencies are installed with `uv <https://github.com/astral-sh/uv>`__
as follows::

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

The *aces-dev* *CTL* reference graph can be plotted but it requires `Graphviz <https://graphviz.org>`__
to be installed on the system and having installed the optional `pygraphviz <https://pypi.org/project/pygraphviz>`__:
python package::

poetry install --with graphviz,optional
to be installed on the system.

Docker
------
Expand Down Expand Up @@ -70,7 +67,7 @@ dependencies in order to run and be able to generate the *OCIO* configurations:
Primary Dependencies
********************

- `python >= 3.9, < 3.11 <https://www.python.org/download/releases>`__
- `python >= 3.10, < 3.14 <https://www.python.org/download/releases>`__
- `opencolorio <https://pypi.org/project/opencolorio>`__
- `requests <https://pypi.org/project/requests>`__
- `semver <https://pypi.org/project/semver>`__
Expand All @@ -82,19 +79,23 @@ Optional Dependencies
- `graphviz <https://www.graphviz.org>`__
- `jsonpickle <https://jsonpickle.github.io>`__
- `networkx <https://pypi.org/project/networkx>`__
- `pygraphviz <https://pypi.org/project/pygraphviz>`__
- `pydot <https://pypi.org/project/pydot>`__

Docs Dependencies
*****************

- `pydata-sphinx-theme <https://pypi.org/project/pydata-sphinx-theme>`__
- `sphinx <https://pypi.org/project/sphinx>`__

Development Dependencies
************************

- `coverage <https://pypi.org/project/coverage>`__
- `coveralls <https://pypi.org/project/coveralls>`__
- `hatch <https://pypi.org/project/hatch>`__
- `invoke <https://pypi.org/project/invoke>`__
- `pre-commit <https://pypi.org/project/pre-commit>`__
- `pydata-sphinx-theme <https://pypi.org/project/pydata-sphinx-theme>`__
- `pyright <https://pypi.org/project/pyright>`__
- `pytest <https://pypi.org/project/pytest>`__
- `pytest-cov <https://pypi.org/project/pytest-cov>`__
- `restructuredtext-lint <https://pypi.org/project/restructuredtext-lint>`__
- `sphinx >= 4, < 5 <https://pypi.org/project/sphinx>`__
- `twine <https://pypi.org/project/twine>`__
- `pytest-xdist <https://pypi.org/project/pytest-xdist>`__
80 changes: 41 additions & 39 deletions docs/requirements.txt
Original file line number Diff line number Diff line change
@@ -1,39 +1,41 @@
accessible-pygments==0.0.4 ; python_version >= "3.9" and python_version < "3.12"
alabaster==0.7.16 ; python_version >= "3.9" and python_version < "3.12"
babel==2.14.0 ; python_version >= "3.9" and python_version < "3.12"
beautifulsoup4==4.12.3 ; python_version >= "3.9" and python_version < "3.12"
certifi==2024.2.2 ; python_version >= "3.9" and python_version < "3.12"
charset-normalizer==3.3.2 ; python_version >= "3.9" and python_version < "3.12"
colorama==0.4.6 ; python_version >= "3.9" and python_version < "3.12" and sys_platform == "win32"
colour-science==0.4.4 ; python_version >= "3.9" and python_version < "3.12"
docutils==0.17.1 ; python_version >= "3.9" and python_version < "3.12"
idna==3.7 ; python_version >= "3.9" and python_version < "3.12"
imageio==2.34.1 ; python_version >= "3.9" and python_version < "3.12"
imagesize==1.4.1 ; python_version >= "3.9" and python_version < "3.12"
importlib-metadata==7.1.0 ; python_version >= "3.9" and python_version < "3.10"
jinja2==3.1.3 ; python_version >= "3.9" and python_version < "3.12"
jsonpickle==2.2.0 ; python_version >= "3.9" and python_version < "3.12"
markupsafe==2.1.5 ; python_version >= "3.9" and python_version < "3.12"
networkx==3.2.1 ; python_version >= "3.9" and python_version < "3.12"
numpy==1.26.4 ; python_version >= "3.9" and python_version < "3.12"
opencolorio==2.3.2 ; python_version >= "3.9" and python_version < "3.12"
packaging==24.0 ; python_version >= "3.9" and python_version < "3.12"
pillow==10.3.0 ; python_version >= "3.9" and python_version < "3.12"
pydata-sphinx-theme==0.13.3 ; python_version >= "3.9" and python_version < "3.12"
pygments==2.17.2 ; python_version >= "3.9" and python_version < "3.12"
pygraphviz==1.11 ; python_version >= "3.9" and python_version < "3.12"
requests==2.31.0 ; python_version >= "3.9" and python_version < "3.12"
scipy==1.13.0 ; python_version >= "3.9" and python_version < "3.12"
semver==3.0.2 ; python_version >= "3.9" and python_version < "3.12"
snowballstemmer==2.2.0 ; python_version >= "3.9" and python_version < "3.12"
soupsieve==2.5 ; python_version >= "3.9" and python_version < "3.12"
sphinx==4.5.0 ; python_version >= "3.9" and python_version < "3.12"
sphinxcontrib-applehelp==1.0.8 ; python_version >= "3.9" and python_version < "3.12"
sphinxcontrib-devhelp==1.0.6 ; python_version >= "3.9" and python_version < "3.12"
sphinxcontrib-htmlhelp==2.0.5 ; python_version >= "3.9" and python_version < "3.12"
sphinxcontrib-jsmath==1.0.1 ; python_version >= "3.9" and python_version < "3.12"
sphinxcontrib-qthelp==1.0.7 ; python_version >= "3.9" and python_version < "3.12"
sphinxcontrib-serializinghtml==1.1.10 ; python_version >= "3.9" and python_version < "3.12"
typing-extensions==4.11.0 ; python_version >= "3.9" and python_version < "3.12"
urllib3==2.2.1 ; python_version >= "3.9" and python_version < "3.12"
zipp==3.18.1 ; python_version >= "3.9" and python_version < "3.10"
# This file was autogenerated by uv via the following command:
# uv export --no-hashes --all-extras --no-dev
accessible-pygments==0.0.5
alabaster==1.0.0
babel==2.16.0
beautifulsoup4==4.12.3
certifi==2024.8.30
charset-normalizer==3.4.0
colorama==0.4.6 ; sys_platform == 'win32'
colour-science==0.4.6
docutils==0.21.2
idna==3.10
imageio==2.36.0
imagesize==1.4.1
jinja2==3.1.4
jsonpickle==2.2.0
markupsafe==3.0.2
networkx==3.4.2
numpy==2.1.3
opencolorio==2.4.0
packaging==24.2
pillow==11.0.0
pydata-sphinx-theme==0.16.0
pydot==3.0.2
pygments==2.18.0
pyparsing==3.2.0
requests==2.32.3
scipy==1.14.1
semver==3.0.2
snowballstemmer==2.2.0
soupsieve==2.6
sphinx==8.1.3
sphinxcontrib-applehelp==2.0.0
sphinxcontrib-devhelp==2.0.0
sphinxcontrib-htmlhelp==2.1.0
sphinxcontrib-jsmath==1.0.1
sphinxcontrib-qthelp==2.0.0
sphinxcontrib-serializinghtml==2.0.0
tomli==2.1.0 ; python_full_version < '3.11'
typing-extensions==4.12.2
urllib3==2.2.3
Loading
Loading