diff --git a/.github/workflows/wheel_workflow.yml b/.github/workflows/wheel_workflow.yml index 702243b78..5dff59df1 100644 --- a/.github/workflows/wheel_workflow.yml +++ b/.github/workflows/wheel_workflow.yml @@ -95,6 +95,9 @@ jobs: - build: CPython 3.11 64 bits python: cp311-manylinux* arch: x86_64 + - build: CPython 3.12 64 bits + python: cp312-manylinux* + arch: x86_64 # ------------------------------------------------------------------- # CPython ARM 64 bits # ------------------------------------------------------------------- @@ -113,6 +116,9 @@ jobs: - build: CPython 3.11 ARM 64 bits python: cp311-manylinux* arch: aarch64 + - build: CPython 3.12 ARM 64 bits + python: cp312-manylinux* + arch: aarch64 steps: - uses: actions/checkout@v3 @@ -128,7 +134,7 @@ jobs: platforms: all - name: Build wheels - uses: pypa/cibuildwheel@v2.13.1 + uses: pypa/cibuildwheel@v2.16.2 env: CIBW_BUILD: ${{ matrix.python }} CIBW_ARCHS: ${{ matrix.arch }} @@ -143,7 +149,7 @@ jobs: macos: name: Build wheels on macOS - runs-on: macos-11 + runs-on: macos-12 # Don't run on OCIO forks if: | github.event_name != 'schedule' || @@ -169,6 +175,9 @@ jobs: - build: CPython 3.11 64 bits python: cp311-* arch: x86_64 + - build: CPython 3.12 64 bits + python: cp312-* + arch: x86_64 # ------------------------------------------------------------------- # CPython ARM 64 bits # ------------------------------------------------------------------- @@ -184,6 +193,9 @@ jobs: - build: CPython 3.11 ARM 64 bits python: cp311-* arch: arm64 + - build: CPython 3.12 ARM 64 bits + python: cp312-* + arch: arm64 steps: - uses: actions/checkout@v3 @@ -194,7 +206,7 @@ jobs: python-version: '3.8' - name: Build wheels - uses: pypa/cibuildwheel@v2.13.1 + uses: pypa/cibuildwheel@v2.16.2 env: CIBW_BUILD: ${{ matrix.python }} CIBW_ARCHS: ${{ matrix.arch }} @@ -209,7 +221,7 @@ jobs: windows: name: Build wheels on Windows - runs-on: windows-2019 + runs-on: windows-2022 # Don't run on OCIO forks if: | github.event_name != 'schedule' || @@ -235,6 +247,9 @@ jobs: - build: CPython 3.11 64 bits python: cp311-* arch: AMD64 + - build: CPython 3.12 64 bits + python: cp312-* + arch: AMD64 steps: - uses: actions/checkout@v3 @@ -245,7 +260,7 @@ jobs: python-version: '3.8' - name: Build wheels - uses: pypa/cibuildwheel@v2.13.1 + uses: pypa/cibuildwheel@v2.16.2 env: CIBW_BUILD: ${{ matrix.python }} CIBW_ARCHS: ${{ matrix.arch }} diff --git a/pyproject.toml b/pyproject.toml index 3d4842d2b..337ae4a4f 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,10 @@ requires = [ "wheel", "cmake>=3.13", "ninja; sys_platform != 'win32' and platform_machine != 'arm64'", - # Documentation requirements + # Documentation requirements (see docs/requirements.txt for details) + "urllib3<2", + "docutils>=0.18.1", + "sphinx<=7.1.2", "six", "testresources", "recommonmark", @@ -34,4 +37,5 @@ before-build = "share/ci/scripts/linux/yum/install_docs_env.sh" before-build = "share/ci/scripts/macos/install_docs_env.sh" [tool.cibuildwheel.windows] -before-build = "bash -c share/ci/scripts/windows/install_docs_env.sh" +environment = { PATH="$GITHUB_WORKSPACE/doxygen;$PATH" } +before-build = 'bash -c "share/ci/scripts/windows/install_docs_env.sh $GITHUB_WORKSPACE/doxygen"' diff --git a/setup.cfg b/setup.cfg index 16f06e6d1..f53c6050c 100644 --- a/setup.cfg +++ b/setup.cfg @@ -12,6 +12,7 @@ classifiers = Programming Language :: Python :: 3.9 Programming Language :: Python :: 3.10 Programming Language :: Python :: 3.11 + Programming Language :: Python :: 3.12 Programming Language :: Python :: Implementation :: CPython Programming Language :: C++ description = OpenColorIO (OCIO) is a complete color management solution geared towards motion picture production with an emphasis on visual effects and computer animation. diff --git a/tests/python/ColorSpaceTest.py b/tests/python/ColorSpaceTest.py index 417393588..a78dcb750 100644 --- a/tests/python/ColorSpaceTest.py +++ b/tests/python/ColorSpaceTest.py @@ -352,7 +352,7 @@ def test_transform(self): self.colorspace.setTransform(self.log_tr, direction) log_transform = self.colorspace.getTransform(direction) self.assertIsInstance(log_transform, OCIO.LogTransform) - self.assertEquals(self.log_tr.getBase(), log_transform.getBase()) + self.assertEqual(self.log_tr.getBase(), log_transform.getBase()) def test_aliases(self): """ diff --git a/tests/python/TransformsTest.py b/tests/python/TransformsTest.py index 9354eec6e..3ef7f0380 100644 --- a/tests/python/TransformsTest.py +++ b/tests/python/TransformsTest.py @@ -48,14 +48,14 @@ def test_copy(self): other = copy.deepcopy(transform) self.assertFalse(other is transform) - self.assertEquals(other.getTransformType(), transform.getTransformType()) - self.assertEquals(other.getDirection(), transform.getDirection()) + self.assertEqual(other.getTransformType(), transform.getTransformType()) + self.assertEqual(other.getDirection(), transform.getDirection()) # Not all OCIO.Transform have equals methods if hasattr(transform, 'equals'): self.assertTrue(other.equals(transform)) other.setDirection(OCIO.TRANSFORM_DIR_INVERSE) - self.assertNotEquals(other.getDirection(), transform.getDirection()) + self.assertNotEqual(other.getDirection(), transform.getDirection()) def test_binding_group_polymorphism(self): """