-
Notifications
You must be signed in to change notification settings - Fork 300
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Try OCP 7.8.1 #1589
Try OCP 7.8.1 #1589
Conversation
adam-urbanczyk
commented
May 20, 2024
•
edited
Loading
edited
- Fix hashing
- Fix vis mypy issues -> it seems that vtk 9.3 introduced stubs that are not fully correct
CC @jmwright |
Note to self: I cannot reproduce the crash locally with a manually fixed version of OCP |
I have OCP 7.8.1 successfully finishing all cadquery and build123d tests: https://github.com/bernhard-42/repackage-ocp/actions/runs/12619194289 I had random crashes in the exports tests before and analysed them. It all boiled down to lines failing that used an iterator on some OCCT objects. The culprit is the definition So I decided to bypass the issue by replacing the 2 iterator uses in cadquery and the 3 in build123d by "standard" OCCT loops (using diff --git a/cadquery/occ_impl/exporters/dxf.py b/cadquery/occ_impl/exporters/dxf.py
index 7a71173..296c442 100644
--- a/cadquery/occ_impl/exporters/dxf.py
+++ b/cadquery/occ_impl/exporters/dxf.py
@@ -343,8 +343,20 @@ class DxfDocument:
spline.Transform(adaptor.Trsf())
order = spline.Degree() + 1
- knots = list(spline.KnotSequence())
- poles = [(p.X(), p.Y(), p.Z()) for p in spline.Poles()]
+
+ # knots = list(spline.KnotSequence())
+ knots = []
+ for i in range(1, spline.NbKnots() + 1):
+ knot = spline.Knot(i)
+ for j in range(spline.Multiplicity(i)):
+ knots.append(knot)
+
+ # poles = [(p.X(), p.Y(), p.Z()) for p in spline.Poles()]
+ poles = []
+ for i in range(1, spline.NbPoles() + 1):
+ p = spline.Pole(i)
+ poles.append((p.X(), p.Y(), p.Z()))
+
weights = (
[spline.Weight(i) for i in range(1, spline.NbPoles() + 1)]
if spline.IsRational()
diff --git a/cadquery/occ_impl/shapes.py b/cadquery/occ_impl/shapes.py
index cedc480..dfa75bd 100644
--- a/cadquery/occ_impl/shapes.py
+++ b/cadquery/occ_impl/shapes.py
@@ -596,7 +596,7 @@ class Shape(object):
Returns a hashed value denoting this shape. It is computed from the
TShape and the Location. The Orientation is not used.
"""
- return self.wrapped.HashCode(HASH_CODE_MAX)
+ return hash(self.wrapped)
def isNull(self) -> bool:
"""
diff --git a/setup.py b/setup.py
index 9ad7b6b..16c700c 100644
--- a/setup.py
+++ b/setup.py
@@ -26,7 +26,7 @@ is_conda = "CONDA_PREFIX" in os.environ
# Only include the installation dependencies if we are not running on RTD or AppVeyor or in a conda env
if not is_rtd and not is_appveyor and not is_azure and not is_conda:
reqs = [
- "cadquery-ocp>=7.7.0,<7.8",
+ "cadquery-ocp>=7.8.0,<7.9",
"ezdxf",
"multimethod>=1.11,<2.0",
"nlopt>=2.9.0,<3.0", Pretty straightforward:
This patch applied to cadquery master allowed all tests on all 4 platforms to run successfully, see for example https://github.com/bernhard-42/repackage-ocp/actions/runs/12619194289/job/35163428655 The patch might not be the solution (having the iterator would be nice), but I thought it could be helpful to share my analysis and results to help progressing this issue. |
btw. for my builds I checkout commit 6cbeb64e9 of pywrap to avoid the regression I mentioned the other day |
Thanks, I think I have a manual solution for |
@bernhard-42 @jmwright things mostly work now. If you are still interested, you could start testing. |
I tried my pipelines on github runners:
So, looks good up to now, but a few test systems are missing due to broken pipelines. |
fyi, my Pipeline now works.
For build123d all tests ran successfully for For cadquery all tests ran successfully for
pytest run: git clone https://github.com/cadquery/cadquery.git
cd cadquery
git checkout 23af517a66928e7c0bc3ebb6b86edf643af4751c
patch -p1 < ../patches/cadquery.patch
micromamba activate test
pip install multimethod
# workaround for nlopt 2.9.0 not available for Intel Mac
if [[ "${{ matrix.os }}" == "macos-13" ]]; then
micromamba install -y nlopt=2.9
fi
# workaround for pypi opt and casadi throwing a seg fault on exit
if [[ "$RUNNER_OS" == "Windows" ]]; then
micromamba install -y nlopt casadi
fi
CONDA_PREFIX_BAK=$CONDA_PREFIX
unset CONDA_PREFIX
pip install .
CONDA_PREFIX=$CONDA_PREFIX_BAK
pytest tests -v -W ignore Note, I check out one of the lastest cadquery commits just to have a stable base. This will be changed to master when the official OCP 7.8.1 is out cadquery.patch: diff --git a/cadquery/occ_impl/shapes.py b/cadquery/occ_impl/shapes.py
index cedc480..dfa75bd 100644
--- a/cadquery/occ_impl/shapes.py
+++ b/cadquery/occ_impl/shapes.py
@@ -596,7 +596,7 @@ class Shape(object):
Returns a hashed value denoting this shape. It is computed from the
TShape and the Location. The Orientation is not used.
"""
- return self.wrapped.HashCode(HASH_CODE_MAX)
+ return hash(self.wrapped)
def isNull(self) -> bool:
"""
diff --git a/setup.py b/setup.py
index 9ad7b6b..bd15298 100644
--- a/setup.py
+++ b/setup.py
@@ -24,9 +24,9 @@ is_azure = "CONDA_PY" in os.environ
is_conda = "CONDA_PREFIX" in os.environ
# Only include the installation dependencies if we are not running on RTD or AppVeyor or in a conda env
-if not is_rtd and not is_appveyor and not is_azure and not is_conda:
+if not is_rtd and not is_appveyor and not is_azure:
reqs = [
- "cadquery-ocp>=7.7.0,<7.8",
+ "cadquery-ocp>=7.8.0,<7.9",
"ezdxf",
"multimethod>=1.11,<2.0",
"nlopt>=2.9.0,<3.0",
diff --git a/tests/test_assembly.py b/tests/test_assembly.py
index bae54ab..1093ffb 100644
--- a/tests/test_assembly.py
+++ b/tests/test_assembly.py
@@ -702,20 +702,17 @@ def test_save(extension, args, nested_assy, nested_assy_sphere):
("stl", ("STL",), {}),
],
)
-def test_export(extension, args, kwargs, tmpdir, nested_assy):
+def test_export(extension, args, kwargs, nested_assy):
filename = "nested." + extension
-
- with tmpdir:
- nested_assy.export(filename, *args, **kwargs)
- assert os.path.exists(filename)
+ nested_assy.export(filename, *args, **kwargs)
+ assert os.path.exists(filename)
-def test_export_vtkjs(tmpdir, nested_assy):
+def test_export_vtkjs(nested_assy):
- with tmpdir:
- nested_assy.export("nested.vtkjs")
- assert os.path.exists("nested.vtkjs.zip")
+ nested_assy.export("nested.vtkjs")
+ assert os.path.exists("nested.vtkjs.zip")
def test_export_errors(nested_assy): Note, pytest under Python 3.13 does not support context managers any more for the fixture temp_path, hence I patched the two test routines, since they don't seem to need the temp dir I will copy over the build workflow into @jmwright 's òcp_build-system, and as soon as you have officially published 7.8.1, I will change the PYWRAP parameter from my pipeline to The result will then be published to pypi as the OCP wheels. |
This workaround CONDA_PREFIX_BAK=$CONDA_PREFIX
unset CONDA_PREFIX
pip install .
CONDA_PREFIX=$CONDA_PREFIX_BAK is really ugly. Is there any chance to allow using pip install of cadquery in a conda environment? Use case: I use micromamba to create the base Python env, and afterwards I only use pip. I don't want to switch to pyenv or the likes, because sometimes I need conda packages and micromamba is the best compromise |
The working pipeline can be found at https://github.com/bernhard-42/repackage-ocp/actions/runs/12717883699 |
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## master #1589 +/- ##
==========================================
- Coverage 95.33% 95.33% -0.01%
==========================================
Files 28 28
Lines 6842 6841 -1
Branches 1025 1025
==========================================
- Hits 6523 6522 -1
Misses 194 194
Partials 125 125 ☔ View full report in Codecov by Sentry. |
Mac passes, releasing OCP. |
Not really, we could use a custom env var to save you two lines. But you can also invoke the command in a subshell:
which makes the point moot IMO. |
Fair. |
Tests pass with conda-forge ocp |
@adam-urbanczyk I cannot find any issues with this PR. |
@jmwright @lorenzncode are OK with moving to 7.8? |
@adam-urbanczyk Yes, the PyPI packages for 7.8.1 are available now. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks @adam-urbanczyk ! Yes, I tested locally and did not find any issue, tests pass.
tested local env
Linux fedora 6.12.8-200.fc41.x86_64 #1 SMP PREEMPT_DYNAMIC Thu Jan 2 19:26:03 UTC 2025 x86_64 GNU/Linux micromamba list List of packages in environment: "/home/lorenzn/tools/micromamba_250101/envs/cqocp78" Name Version Build Channel ─────────────────────────────────────────────────────────────────────────────────────────────────────── _libgcc_mutex 0.1 conda_forge conda-forge _openmp_mutex 4.5 2_gnu conda-forge _x86_64-microarch-level 3 2_x86_64_v3 conda-forge aiohappyeyeballs 2.4.4 pyhd8ed1ab_1 conda-forge aiohttp 3.11.11 py312h178313f_0 conda-forge aiosignal 1.3.2 pyhd8ed1ab_0 conda-forge alsa-lib 1.2.13 hb9d3cd8_0 conda-forge ampl-asl 1.0.0 h5888daf_2 conda-forge aom 3.9.1 hac33072_0 conda-forge asttokens 3.0.0 pyhd8ed1ab_1 conda-forge attrs 24.3.0 pyh71513ae_0 conda-forge blosc 1.21.6 he440d0b_1 conda-forge brotli 1.1.0 hb9d3cd8_2 conda-forge brotli-bin 1.1.0 hb9d3cd8_2 conda-forge bzip2 1.0.8 h4bc722e_7 conda-forge c-ares 1.34.4 hb9d3cd8_0 conda-forge ca-certificates 2024.12.14 hbcca054_0 conda-forge cairo 1.18.2 h3394656_1 conda-forge casadi 3.6.7 py312hc8887ff_3 conda-forge colorama 0.4.6 pyhd8ed1ab_1 conda-forge cyrus-sasl 2.1.27 h54b06d7_7 conda-forge dav1d 1.2.1 hd590300_0 conda-forge dbus 1.13.6 h5008d03_3 conda-forge decorator 5.1.1 pyhd8ed1ab_1 conda-forge docutils 0.21.2 pyhd8ed1ab_1 conda-forge double-conversion 3.3.0 h59595ed_0 conda-forge eigen 3.4.0 h00ab1b0_0 conda-forge exceptiongroup 1.2.2 pyhd8ed1ab_1 conda-forge executing 2.1.0 pyhd8ed1ab_1 conda-forge expat 2.6.4 h5888daf_0 conda-forge ezdxf 1.3.5 py312hc39e661_1 conda-forge ffmpeg 7.1.0 gpl_h099772d_709 conda-forge font-ttf-dejavu-sans-mono 2.37 hab24e00_0 conda-forge font-ttf-inconsolata 3.000 h77eed37_0 conda-forge font-ttf-source-code-pro 2.038 h77eed37_0 conda-forge font-ttf-ubuntu 0.83 h77eed37_3 conda-forge fontconfig 2.15.0 h7e30c49_1 conda-forge fonts-conda-ecosystem 1 0 conda-forge fonts-conda-forge 1 0 conda-forge fonttools 4.55.3 py312h178313f_1 conda-forge freeimage 3.18.0 h3a85593_22 conda-forge freetype 2.12.1 h267a509_2 conda-forge fribidi 1.0.10 h36c2ea0_0 conda-forge frozenlist 1.5.0 py312h66e93f0_0 conda-forge gdk-pixbuf 2.42.12 hb9ae30d_0 conda-forge gl2ps 1.4.2 hae5d5c5_1 conda-forge glew 2.1.0 h9c3ff4c_2 conda-forge gmp 6.3.0 hac33072_2 conda-forge graphite2 1.3.13 h59595ed_1003 conda-forge harfbuzz 10.2.0 h4bba637_0 conda-forge hdf4 4.2.15 h2a13503_7 conda-forge hdf5 1.14.3 nompi_h2d575fe_108 conda-forge icu 75.1 he02047a_0 conda-forge idna 3.10 pyhd8ed1ab_1 conda-forge imath 3.1.12 h7955e40_0 conda-forge iniconfig 2.0.0 pyhd8ed1ab_1 conda-forge ipopt 3.14.17 h59d4785_0 conda-forge ipython 8.31.0 pyh707e725_0 conda-forge jedi 0.19.2 pyhd8ed1ab_1 conda-forge jsoncpp 1.9.6 hf42df4d_1 conda-forge jxrlib 1.1 hd590300_3 conda-forge keyutils 1.6.1 h166bdaf_0 conda-forge krb5 1.21.3 h659f571_0 conda-forge lame 3.100 h166bdaf_1003 conda-forge lcms2 2.16 hb7c19ff_0 conda-forge ld_impl_linux-64 2.43 h712a8e2_2 conda-forge lerc 4.0.0 h27087fc_0 conda-forge level-zero 1.20.2 h84d6215_0 conda-forge libabseil 20240722.0 cxx17_hbbce691_4 conda-forge libaec 1.1.3 h59595ed_0 conda-forge libass 0.17.3 hba53ac1_1 conda-forge libblas 3.9.0 26_linux64_openblas conda-forge libblasfeo 0.1.4.1 had105d5_301 conda-forge libbrotlicommon 1.1.0 hb9d3cd8_2 conda-forge libbrotlidec 1.1.0 hb9d3cd8_2 conda-forge libbrotlienc 1.1.0 hb9d3cd8_2 conda-forge libcblas 3.9.0 26_linux64_openblas conda-forge libclang-cpp19.1 19.1.7 default_hb5137d0_0 conda-forge libclang13 19.1.7 default_h9c6a7e4_0 conda-forge libcups 2.3.3 h4637d8d_4 conda-forge libcurl 8.11.1 h332b0f4_0 conda-forge libdeflate 1.23 h4ddbbb0_0 conda-forge libdrm 2.4.124 hb9d3cd8_0 conda-forge libedit 3.1.20240808 pl5321h7949ede_0 conda-forge libegl 1.7.0 ha4b6fd6_2 conda-forge libev 4.33 hd590300_2 conda-forge libexpat 2.6.4 h5888daf_0 conda-forge libfatrop 0.0.4 h5888daf_1 conda-forge libffi 3.4.2 h7f98852_5 conda-forge libgcc 14.2.0 h77fa898_1 conda-forge libgcc-ng 14.2.0 h69a702a_1 conda-forge libgfortran 14.2.0 h69a702a_1 conda-forge libgfortran-ng 14.2.0 h69a702a_1 conda-forge libgfortran5 14.2.0 hd5240d6_1 conda-forge libgl 1.7.0 ha4b6fd6_2 conda-forge libglib 2.82.2 h2ff4ddf_1 conda-forge libglu 9.0.3 h03adeef_0 conda-forge libglvnd 1.7.0 ha4b6fd6_2 conda-forge libglx 1.7.0 ha4b6fd6_2 conda-forge libgomp 14.2.0 h77fa898_1 conda-forge libhwloc 2.11.2 default_h0d58e46_1001 conda-forge libiconv 1.17 hd590300_2 conda-forge libjpeg-turbo 3.0.0 hd590300_1 conda-forge liblapack 3.9.0 26_linux64_openblas conda-forge libllvm19 19.1.7 ha7bfdaf_0 conda-forge liblzma 5.6.3 hb9d3cd8_1 conda-forge liblzma-devel 5.6.3 hb9d3cd8_1 conda-forge libnetcdf 4.9.2 nompi_h00e09a9_116 conda-forge libnghttp2 1.64.0 h161d5f1_0 conda-forge libnsl 2.0.1 hd590300_0 conda-forge libntlm 1.8 hb9d3cd8_0 conda-forge libogg 1.3.5 h4ab18f5_0 conda-forge libopenblas 0.3.28 pthreads_h94d23a6_1 conda-forge libopenvino 2024.6.0 hac27bb2_3 conda-forge libopenvino-auto-batch-plugin 2024.6.0 h4d9b6c2_3 conda-forge libopenvino-auto-plugin 2024.6.0 h4d9b6c2_3 conda-forge libopenvino-hetero-plugin 2024.6.0 h3f63f65_3 conda-forge libopenvino-intel-cpu-plugin 2024.6.0 hac27bb2_3 conda-forge libopenvino-intel-gpu-plugin 2024.6.0 hac27bb2_3 conda-forge libopenvino-intel-npu-plugin 2024.6.0 hac27bb2_3 conda-forge libopenvino-ir-frontend 2024.6.0 h3f63f65_3 conda-forge libopenvino-onnx-frontend 2024.6.0 h6363af5_3 conda-forge libopenvino-paddle-frontend 2024.6.0 h6363af5_3 conda-forge libopenvino-pytorch-frontend 2024.6.0 h5888daf_3 conda-forge libopenvino-tensorflow-frontend 2024.6.0 h630ec5c_3 conda-forge libopenvino-tensorflow-lite-frontend 2024.6.0 h5888daf_3 conda-forge libopus 1.3.1 h7f98852_1 conda-forge libosqp 0.6.3 h5888daf_1 conda-forge libpciaccess 0.18 hd590300_0 conda-forge libpng 1.6.45 h943b412_0 conda-forge libpq 17.2 h3b95a9b_1 conda-forge libprotobuf 5.28.3 h6128344_1 conda-forge libqdldl 0.1.7 hcb278e6_0 conda-forge libraw 0.21.3 hca62329_0 conda-forge librsvg 2.58.4 h49af25d_2 conda-forge libscotch 7.0.4 h2fe6a88_5 conda-forge libspral 2024.05.08 h2b245be_4 conda-forge libsqlite 3.48.0 hee588c1_0 conda-forge libssh2 1.11.1 hf672d98_0 conda-forge libstdcxx 14.2.0 hc0a3c3a_1 conda-forge libstdcxx-ng 14.2.0 h4852527_1 conda-forge libtheora 1.1.1 h4ab18f5_1006 conda-forge libtiff 4.7.0 hd9ff511_3 conda-forge libuuid 2.38.1 h0b41bf4_0 conda-forge libva 2.22.0 h8a09558_1 conda-forge libvorbis 1.3.7 h9c3ff4c_0 conda-forge libvpx 1.14.1 hac33072_0 conda-forge libwebp-base 1.5.0 h851e524_0 conda-forge libxcb 1.17.0 h8a09558_0 conda-forge libxcrypt 4.4.36 hd590300_1 conda-forge libxkbcommon 1.7.0 h2c5496b_1 conda-forge libxml2 2.13.5 h8d12d68_1 conda-forge libzip 1.11.2 h6991a6a_0 conda-forge libzlib 1.3.1 hb9d3cd8_2 conda-forge loguru 0.7.2 py312h7900ff3_2 conda-forge lz4-c 1.10.0 h5888daf_1 conda-forge matplotlib-inline 0.1.7 pyhd8ed1ab_1 conda-forge metis 5.1.0 hd0bcaf9_1007 conda-forge msgpack-python 1.1.0 py312h68727a3_0 conda-forge multidict 6.1.0 py312h178313f_2 conda-forge multimethod 1.12 pyhd8ed1ab_1 conda-forge mumps-include 5.7.3 ha770c72_6 conda-forge mumps-seq 5.7.3 h27a6a8b_0 conda-forge munkres 1.1.4 pyh9f0ad1d_0 conda-forge mypy 1.14.1 py312h66e93f0_0 conda-forge mypy_extensions 1.0.0 pyha770c72_1 conda-forge mysql-common 9.0.1 h266115a_4 conda-forge mysql-libs 9.0.1 he0572af_4 conda-forge ncurses 6.5 h2d0b736_2 conda-forge nlohmann_json 3.11.3 he02047a_1 conda-forge nlopt 2.9.0 py312h1d0b465_0 conda-forge numpy 2.2.1 py312h7e784f5_0 conda-forge occt 7.8.1 all_h4c4714a_203 conda-forge ocl-icd 2.3.2 hb9d3cd8_2 conda-forge ocp 7.8.1.0 py312_0 cadquery/label/dev opencl-headers 2024.10.24 h5888daf_0 conda-forge openexr 3.3.2 h6326327_1 conda-forge openh264 2.5.0 hf92e6e3_0 conda-forge openjpeg 2.5.3 h5fbd93e_0 conda-forge openldap 2.6.9 he970967_0 conda-forge openssl 3.4.0 h7b32b05_1 conda-forge packaging 24.2 pyhd8ed1ab_2 conda-forge pango 1.56.0 h861ebed_0 conda-forge parso 0.8.4 pyhd8ed1ab_1 conda-forge path 17.0.0 py312h7900ff3_0 conda-forge pcre2 10.44 hba22ea6_2 conda-forge pexpect 4.9.0 pyhd8ed1ab_1 conda-forge pickleshare 0.7.5 pyhd8ed1ab_1004 conda-forge pip 24.3.1 pyh8b19718_2 conda-forge pixman 0.44.2 h29eaf8c_0 conda-forge pluggy 1.5.0 pyhd8ed1ab_1 conda-forge proj 9.5.1 h0054346_0 conda-forge prompt-toolkit 3.0.48 pyha770c72_1 conda-forge propcache 0.2.1 py312h66e93f0_0 conda-forge proxsuite 0.6.7 py312h68727a3_2 conda-forge psutil 6.1.1 py312h66e93f0_0 conda-forge pthread-stubs 0.4 hb9d3cd8_1002 conda-forge ptyprocess 0.7.0 pyhd8ed1ab_1 conda-forge pugixml 1.14 h59595ed_0 conda-forge pure_eval 0.2.3 pyhd8ed1ab_1 conda-forge pygments 2.19.1 pyhd8ed1ab_0 conda-forge pyparsing 3.2.1 pyhd8ed1ab_0 conda-forge pytest 8.3.4 pyhd8ed1ab_1 conda-forge python 3.12.8 h9e4cc4f_1_cpython conda-forge python_abi 3.12 5_cp312 conda-forge qt6-main 6.8.1 h588cce1_2 conda-forge rapidjson 1.1.0.post20240409 hac33072_1 conda-forge readline 8.2 h8228510_1 conda-forge scipy 1.15.1 py312h180e4f1_0 conda-forge setuptools 75.8.0 pyhff2d567_0 conda-forge simde 0.8.2 h84d6215_0 conda-forge snappy 1.2.1 h8bd8927_1 conda-forge sqlite 3.48.0 h9eae976_0 conda-forge stack_data 0.6.3 pyhd8ed1ab_1 conda-forge svt-av1 2.3.0 h5888daf_0 conda-forge tbb 2022.0.0 hceb3a55_0 conda-forge tinyxml2 10.0.0 h59595ed_0 conda-forge tk 8.6.13 noxft_h4845f30_101 conda-forge tomli 2.2.1 pyhd8ed1ab_1 conda-forge traitlets 5.14.3 pyhd8ed1ab_1 conda-forge typing_extensions 4.12.2 pyha770c72_1 conda-forge typish 1.9.3 pyhd8ed1ab_1 conda-forge tzdata 2025a h78e105d_0 conda-forge unicodedata2 16.0.0 py312h66e93f0_0 conda-forge utfcpp 4.0.6 h005c6e1_0 conda-forge vtk 9.3.1 qt_py312h71fb23e_214 conda-forge vtk-base 9.3.1 qt_py312h04237f5_214 conda-forge vtk-io-ffmpeg 9.3.1 qt_py312h71fb23e_214 conda-forge wayland 1.23.1 h3e06ad9_0 conda-forge wayland-protocols 1.37 hd8ed1ab_0 conda-forge wcwidth 0.2.13 pyhd8ed1ab_1 conda-forge wheel 0.45.1 pyhd8ed1ab_1 conda-forge wslink 2.2.2 pyhd8ed1ab_0 conda-forge x264 1!164.3095 h166bdaf_2 conda-forge x265 3.5 h924138e_3 conda-forge xcb-util 0.4.1 hb711507_2 conda-forge xcb-util-cursor 0.1.5 hb9d3cd8_0 conda-forge xcb-util-image 0.4.0 hb711507_2 conda-forge xcb-util-keysyms 0.4.1 hb711507_0 conda-forge xcb-util-renderutil 0.3.10 hb711507_0 conda-forge xcb-util-wm 0.4.2 hb711507_0 conda-forge xkeyboard-config 2.43 hb9d3cd8_0 conda-forge xorg-libice 1.1.2 hb9d3cd8_0 conda-forge xorg-libsm 1.2.5 he73a12e_0 conda-forge xorg-libx11 1.8.10 h4f16b4b_1 conda-forge xorg-libxau 1.0.12 hb9d3cd8_0 conda-forge xorg-libxcomposite 0.4.6 hb9d3cd8_2 conda-forge xorg-libxcursor 1.2.3 hb9d3cd8_0 conda-forge xorg-libxdamage 1.1.6 hb9d3cd8_0 conda-forge xorg-libxdmcp 1.1.5 hb9d3cd8_0 conda-forge xorg-libxext 1.3.6 hb9d3cd8_0 conda-forge xorg-libxfixes 6.0.1 hb9d3cd8_0 conda-forge xorg-libxi 1.8.2 hb9d3cd8_0 conda-forge xorg-libxrandr 1.5.4 hb9d3cd8_0 conda-forge xorg-libxrender 0.9.12 hb9d3cd8_0 conda-forge xorg-libxt 1.3.1 hb9d3cd8_0 conda-forge xorg-libxtst 1.2.5 hb9d3cd8_3 conda-forge xorg-libxxf86vm 1.1.6 hb9d3cd8_0 conda-forge xz 5.6.3 hbcc6ac9_1 conda-forge xz-gpl-tools 5.6.3 hbcc6ac9_1 conda-forge xz-tools 5.6.3 hb9d3cd8_1 conda-forge yarl 1.18.3 py312h66e93f0_0 conda-forge zlib 1.3.1 hb9d3cd8_2 conda-forge zstd 1.5.6 ha6fb4c9_0 conda-forge
Thanks for the work on this @adam-urbanczyk ! |