conda-forge / conda-forge/python-kaleido-feedstock

Missing dependencies Issue with python-kaleido v1 on conda-forge docker images

Open
#15 0 comments 0 reactions 0 assignees View on GitHub
bug
Dominant language
Python
Stars
0
Forks
9
PR merge metrics
No merged PRs in 30d

Description

### Solution to issue cannot be found in the documentation.

- [x] I checked the documentation.

### Issue

Hey, I recently bumped python-kaleido to v1 now in https://github.com/conda-forge/ada-py-feedstock/pull/53 and it seems like the v1 version requires some linux system dependencies which the conda-forge docker images are missing. FYI: I ended up finishing the PR by disabling the particular test using kaleido.

Related kaleido issue: https://github.com/plotly/Kaleido/issues/386

See error log https://dev.azure.com/conda-forge/feedstock-builds/_build/results?buildId=1315153&view=logs&j=7b6f2c87-f3a7-5133-8d84-7c03a75d9dfc&t=9eb77fd2-8ddd-5444-8fc0-71cb28dcb736&l=3887

I tried to prepare for the v1 of python-kaleido by doing this, which seems to solve things on windows and linux on github actions, but it seems it doesn't work on the slim docker images on cf.

```python
try:
fig.write_image(save_filename, width=width, height=height)
except RuntimeError:
import kaleido

kaleido.get_chrome_sync()
finally:
fig.write_image(save_filename, width=width, height=height)
```
(from https://github.com/Krande/adapy/blob/36dc63330e344fbe6b8a85cf2c6550aff9bd1937/src/ada/visit/plots.py#L117-L124)

I will start by adding a couple of deps in the yum_requirements.txt and cf packages to the test requirements, but before I venture into uncharted territories, I thought I should raise the issue here and hopefully get some tips on the way!

Best Regards
Kristoffer

### Installed packages

```shell
_libgcc_mutex: 0.1-conda_forge conda-forge
_openmp_mutex: 4.5-2_gnu conda-forge
ada-py: 0.7.4-pyhd8ed1ab_0 local
annotated-types: 0.7.0-pyhd8ed1ab_1 conda-forge
anyio: 4.10.0-pyhe01879c_0 conda-forge
argon2-cffi: 25.1.0-pyhd8ed1ab_0 conda-forge
argon2-cffi-bindings: 25.1.0-py311h49ec1c0_0 conda-forge
arpack: 3.9.1-nompi_hf03ea27_102 conda-forge
arrow: 1.3.0-pyhd8ed1ab_1 conda-forge
asttokens: 3.0.0-pyhd8ed1ab_1 conda-forge
async-lru: 2.0.5-pyh29332c3_0 conda-forge
attrs: 25.3.0-pyh71513ae_0 conda-forge
babel: 2.17.0-pyhd8ed1ab_0 conda-forge
backports.asyncio.runner: 1.2.0-pyh5ded981_2 conda-forge
bcf-client: 0.8.2-pyha3ce58c_3 conda-forge
beautifulsoup4: 4.13.4-pyha770c72_0 conda-forge
bleach: 6.2.0-pyh29332c3_4 conda-forge
bleach-with-css: 6.2.0-h82add2a_4 conda-forge
blosc: 1.21.6-he440d0b_1 conda-forge
brotli-python: 1.1.0-py311hfdbb021_3 conda-forge
bzip2: 1.0.8-h4bc722e_7 conda-forge
c-ares: 1.34.5-hb9d3cd8_0 conda-forge
ca-certificates: 2025.8.3-hbd8a1cb_0 conda-forge
cached-property: 1.5.2-hd8ed1ab_1 conda-forge
cached_property: 1.5.2-pyha770c72_1 conda-forge
cairo: 1.18.4-h3394656_0 conda-forge
calculix: 2.22-hae4e037_1 conda-forge
certifi: 2025.8.3-pyhd8ed1ab_0 conda-forge
cffi: 1.17.1-py311hf29c0ef_0 conda-forge
cftime: 1.6.4-py311h9f3472d_1 conda-forge
cgal-cpp: 6.0.1-h6aadc51_0 conda-forge
charset-normalizer: 3.4.3-pyhd8ed1ab_0 conda-forge
choreographer: 1.0.9-pyhe01879c_0 conda-forge
click: 8.2.1-pyh707e725_0 conda-forge
click-default-group: 1.2.4-pyhd8ed1ab_1 conda-forge
colorama: 0.4.6-pyhd8ed1ab_1 conda-forge
comm: 0.2.3-pyhe01879c_0 conda-forge
coverage: 7.10.4-py311h3778330_0 conda-forge
debugpy: 1.8.16-py311hc665b79_0 conda-forge
decorator: 5.2.1-pyhd8ed1ab_0 conda-forge
defusedxml: 0.7.1-pyhd8ed1ab_0 conda-forge
docformatter: 1.7.7-pyhd8ed1ab_0 conda-forge
eigen: 3.4.0-h00ab1b0_0 conda-forge
exceptiongroup: 1.3.0-pyhd8ed1ab_0 conda-forge
executing: 2.2.0-pyhd8ed1ab_0 conda-forge
fltk: 1.3.10-hff38c0f_0 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
fqdn: 1.5.1-pyhd8ed1ab_1 conda-forge
freeglut: 3.2.2-ha6d2627_3 conda-forge
freeimage: 3.18.0-h3a85593_22 conda-forge
freetype: 2.13.3-ha770c72_1 conda-forge
freetype-py: 2.5.1-pyhd8ed1ab_1 conda-forge
geos: 3.13.1-h97f6797_0 conda-forge
glfw: 3.5.0-hb03c661_0 conda-forge
gmp: 6.3.0-hac33072_2 conda-forge
gmsh: 4.13.1-hccb25f3_1 conda-forge
graphite2: 1.3.14-hecca717_2 conda-forge
h11: 0.16.0-pyhd8ed1ab_0 conda-forge
h2: 4.2.0-pyhd8ed1ab_0 conda-forge
h5py: 3.14.0-nompi_py311h7f87ba5_100 conda-forge
harfbuzz: 11.4.1-h15599e2_0 conda-forge
hdf4: 4.2.15-h2a13503_7 conda-forge
hdf5: 1.14.6-nompi_h6e4c0c1_103 conda-forge
hpack: 4.1.0-pyhd8ed1ab_0 conda-forge
hsluv: 5.0.4-pyhd8ed1ab_2 conda-forge
httpcore: 1.0.9-pyh29332c3_0 conda-forge
httpx: 0.28.1-pyhd8ed1ab_0 conda-forge
hyperframe: 6.1.0-pyhd8ed1ab_0 conda-forge
icu: 75.1-he02047a_0 conda-forge
idna: 3.10-pyhd8ed1ab_1 conda-forge
ifcopenshell: 0.8.2-py311h68808e3_1 conda-forge
imath: 3.1.12-h7955e40_0 conda-forge
importlib-metadata: 8.7.0-pyhe01879c_1 conda-forge
importlib_metadata: 8.7.0-h40b2b14_1 conda-forge
iniconfig: 2.0.0-pyhd8ed1ab_1 conda-forge
ipykernel: 6.30.1-pyh82676e8_0 conda-forge
ipython: 9.4.0-pyhfa0c392_0 conda-forge
ipython_pygments_lexers: 1.1.1-pyhd8ed1ab_0 conda-forge
ipywidgets: 8.1.7-pyhd8ed1ab_0 conda-forge
isoduration: 20.11.0-pyhd8ed1ab_1 conda-forge
jasper: 4.2.8-he3c4edf_0 conda-forge
jedi: 0.19.2-pyhd8ed1ab_1 conda-forge
jinja2: 3.1.6-pyhd8ed1ab_0 conda-forge
json5: 0.12.1-pyhd8ed1ab_0 conda-forge
jsonpointer: 3.0.0-py311h38be061_1 conda-forge
jsonschema: 4.25.1-pyhe01879c_0 conda-forge
jsonschema-specifications: 2025.4.1-pyh29332c3_0 conda-forge
jsonschema-with-format-nongpl: 4.25.1-he01879c_0 conda-forge
jupyter-lsp: 2.2.6-pyhe01879c_0 conda-forge
jupyter_client: 8.6.3-pyhd8ed1ab_1 conda-forge
jupyter_core: 5.8.1-pyh31011fe_0 conda-forge
jupyter_events: 0.12.0-pyh29332c3_0 conda-forge
jupyter_server: 2.16.0-pyhe01879c_0 conda-forge
jupyter_server_terminals: 0.5.3-pyhd8ed1ab_1 conda-forge
jupyterlab: 4.4.6-pyhd8ed1ab_0 conda-forge
jupyterlab_pygments: 0.3.0-pyhd8ed1ab_2 conda-forge
jupyterlab_server: 2.27.3-pyhd8ed1ab_1 conda-forge
jupyterlab_widgets: 3.0.15-pyhd8ed1ab_0 conda-forge
jxrlib: 1.1-hd590300_3 conda-forge
keyutils: 1.6.3-hb9d3cd8_0 conda-forge
krb5: 1.21.3-h659f571_0 conda-forge
lark: 1.2.2-pyhd8ed1ab_1 conda-forge
lcms2: 2.17-h717163a_0 conda-forge
ld_impl_linux-64: 2.44-h1423503_1 conda-forge
lerc: 4.0.0-h0aef613_1 conda-forge
libaec: 1.1.4-h3f801dc_0 conda-forge
libblas: 3.9.0-34_h59b9bed_openblas conda-forge
libboost: 1.86.0-h6c02f8c_3 conda-forge
libboost-devel: 1.86.0-h1a2810e_3 conda-forge
libboost-headers: 1.86.0-ha770c72_3 conda-forge
libcblas: 3.9.0-34_he106b2a_openblas conda-forge
libcurl: 8.14.1-h332b0f4_0 conda-forge
libdeflate: 1.24-h86f0d12_0 conda-forge
libedit: 3.1.20250104-pl5321h7949ede_0 conda-forge
libev: 4.33-hd590300_2 conda-forge
libexpat: 2.7.1-hecca717_0 conda-forge
libffi: 3.4.6-h2dba641_1 conda-forge
libfreetype: 2.13.3-ha770c72_1 conda-forge
libfreetype6: 2.13.3-h48d6fc4_1 conda-forge
libgcc: 15.1.0-h767d61c_4 conda-forge
libgcc-ng: 15.1.0-h69a702a_4 conda-forge
libgfortran: 15.1.0-h69a702a_4 conda-forge
libgfortran5: 15.1.0-hcea5267_4 conda-forge
libglib: 2.84.3-hf39c6af_0 conda-forge
libglu: 9.0.3-h5888daf_1 conda-forge
libglvnd: 1.7.0-ha4b6fd6_2 conda-forge
libgomp: 15.1.0-h767d61c_4 conda-forge
libiconv: 1.18-h3b78370_2 conda-forge
libjpeg-turbo: 3.1.0-hb9d3cd8_0 conda-forge
liblapack: 3.9.0-34_h7ac8fdf_openblas conda-forge
liblzma: 5.8.1-hb9d3cd8_2 conda-forge
libnetcdf: 4.9.2-nompi_h21f7587_118 conda-forge
libnghttp2: 1.64.0-h161d5f1_0 conda-forge
libnsl: 2.0.1-hb9d3cd8_1 conda-forge
libopenblas: 0.3.30-pthreads_h94d23a6_2 conda-forge
libopengl: 1.7.0-ha4b6fd6_2 conda-forge
libpng: 1.6.50-h421ea60_1 conda-forge
libraw: 0.21.4-h9969a89_0 conda-forge
libsodium: 1.0.20-h4ab18f5_0 conda-forge
libsqlite: 3.50.4-h0c1763c_0 conda-forge
libssh2: 1.11.1-hcf80075_0 conda-forge
libstdcxx: 15.1.0-h8f9b012_4 conda-forge
libstdcxx-ng: 15.1.0-h4852527_4 conda-forge
libtiff: 4.7.0-h8261f1e_6 conda-forge
libuuid: 2.38.1-h0b41bf4_0 conda-forge
libwebp-base: 1.6.0-hd42ef1d_0 conda-forge
libxcb: 1.17.0-h8a09558_0 conda-forge
libxcrypt: 4.4.36-hd590300_1 conda-forge
libxkbcommon: 1.11.0-he8b52b9_0 conda-forge
libxml2: 2.13.8-h04c0eec_1 conda-forge
libxslt: 1.1.43-h7a3aeb2_0 conda-forge
libzip: 1.11.2-h6991a6a_0 conda-forge
libzlib: 1.3.1-hb9d3cd8_2 conda-forge
logistro: 1.1.0-pyhe01879c_0 conda-forge
lxml: 6.0.0-py311hbd2c71b_0 conda-forge
lz4-c: 1.10.0-h5888daf_1 conda-forge
markdown-it-py: 4.0.0-pyhd8ed1ab_0 conda-forge
markupsafe: 3.0.2-py311h2dc5d0c_1 conda-forge
matplotlib-inline: 0.1.7-pyhd8ed1ab_1 conda-forge
mdurl: 0.1.2-pyhd8ed1ab_1 conda-forge
meshio: 5.3.5-pyhd8ed1ab_0 conda-forge
mistune: 3.1.3-pyh29332c3_0 conda-forge
mpfr: 4.2.1-h90cbb55_3 conda-forge
narwhals: 2.1.2-pyhe01879c_0 conda-forge
nbclient: 0.10.2-pyhd8ed1ab_0 conda-forge
nbconvert-core: 7.16.6-pyh29332c3_0 conda-forge
nbformat: 5.10.4-pyhd8ed1ab_1 conda-forge
ncurses: 6.5-h2d0b736_3 conda-forge
nest-asyncio: 1.6.0-pyhd8ed1ab_1 conda-forge
netcdf4: 1.7.2-nompi_py311h8b974bf_102 conda-forge
notebook-shim: 0.2.4-pyhd8ed1ab_1 conda-forge
numpy: 2.3.2-py311h2e04523_0 conda-forge
occt: 7.8.1-novtk_he2768ca_103 conda-forge
openexr: 3.3.5-h09fa569_0 conda-forge
openjpeg: 2.5.3-h55fea9a_1 conda-forge
openssl: 3.5.2-h26f9b46_0 conda-forge
orjson: 3.11.2-py311h902ca64_0 conda-forge
overrides: 7.7.0-pyhd8ed1ab_1 conda-forge
packaging: 25.0-pyh29332c3_1 conda-forge
pandocfilters: 1.5.0-pyhd8ed1ab_0 conda-forge
parso: 0.8.4-pyhd8ed1ab_1 conda-forge
pcre2: 10.45-hc749103_0 conda-forge
pexpect: 4.9.0-pyhd8ed1ab_1 conda-forge
pickleshare: 0.7.5-pyhd8ed1ab_1004 conda-forge
pixman: 0.46.4-h54a6638_1 conda-forge
platformdirs: 4.3.8-pyhe01879c_0 conda-forge
plotly: 6.3.0-pyhd8ed1ab_0 conda-forge
pluggy: 1.6.0-pyhd8ed1ab_0 conda-forge
prometheus_client: 0.22.1-pyhd8ed1ab_0 conda-forge
prompt-toolkit: 3.0.51-pyha770c72_0 conda-forge
psutil: 7.0.0-py311h9ecbd09_0 conda-forge
pthread-stubs: 0.4-hb9d3cd8_1002 conda-forge
ptyprocess: 0.7.0-pyhd8ed1ab_1 conda-forge
pure_eval: 0.2.3-pyhd8ed1ab_1 conda-forge
pycparser: 2.22-pyh29332c3_1 conda-forge
pydantic: 2.11.7-pyh3cfb1c2_0 conda-forge
pydantic-core: 2.33.2-py311hdae7d1d_0 conda-forge
pygfx: 0.12.0-pyhd8ed1ab_0 conda-forge
pyglfw: 2.9.0-pyha770c72_0 conda-forge
pygments: 2.19.2-pyhd8ed1ab_0 conda-forge
pylinalg: 0.6.7-pyhd8ed1ab_0 conda-forge
pyparsing: 3.2.3-pyhe01879c_2 conda-forge
pyquaternion: 0.9.9-pyhd8ed1ab_1 conda-forge
pysocks: 1.7.1-pyha55dd90_7 conda-forge
pytest: 8.4.1-pyhd8ed1ab_0 conda-forge
pytest-asyncio: 1.1.0-pyhe01879c_0 conda-forge
pytest-cov: 6.2.1-pyhd8ed1ab_0 conda-forge
python: 3.11.13-h9e4cc4f_0_cpython conda-forge
python-dateutil: 2.9.0.post0-pyhe01879c_2 conda-forge
python-fastjsonschema: 2.21.2-pyhe01879c_0 conda-forge
python-flatbuffers: 25.2.10-pyhbc23db3_0 conda-forge
python-gmsh: 4.13.1-h57928b3_1 conda-forge
python-json-logger: 2.0.7-pyhd8ed1ab_0 conda-forge
python-kaleido: 1.0.0-pyhe01879c_1 conda-forge
python_abi: 3.11-8_cp311 conda-forge
pythonocc-core: 7.8.1.1-novtk_ha0adac9_100 conda-forge
pytz: 2025.2-pyhd8ed1ab_0 conda-forge
pyyaml: 6.0.2-py311h2dc5d0c_2 conda-forge
pyzmq: 27.0.1-py311hc251a9f_0 conda-forge
rapidjson: 1.1.0.post20240409-h3f2d84a_2 conda-forge
readline: 8.2-h8c095d6_2 conda-forge
referencing: 0.36.2-pyh29332c3_0 conda-forge
rendercanvas: 2.2.0-pyhd8ed1ab_0 conda-forge
requests: 2.32.5-pyhd8ed1ab_0 conda-forge
rfc3339-validator: 0.1.4-pyhd8ed1ab_1 conda-forge
rfc3986-validator: 0.1.1-pyh9f0ad1d_0 conda-forge
rfc3987-syntax: 1.1.0-pyhe01879c_1 conda-forge
rich: 14.1.0-pyhe01879c_0 conda-forge
rpds-py: 0.27.0-py311h902ca64_0 conda-forge
ruff: 0.12.9-hbf64f1c_1 conda-forge
send2trash: 1.8.3-pyh0d859eb_1 conda-forge
setuptools: 80.9.0-pyhff2d567_0 conda-forge
shapely: 2.1.1-py311h3dc67b8_0 conda-forge
simplejson: 3.20.1-py311h9ecbd09_0 conda-forge
six: 1.17.0-pyhe01879c_1 conda-forge
snappy: 1.2.2-h03e3b7b_0 conda-forge
sniffio: 1.3.1-pyhd8ed1ab_1 conda-forge
soupsieve: 2.7-pyhd8ed1ab_0 conda-forge
stack_data: 0.6.3-pyhd8ed1ab_1 conda-forge
svgwrite: 1.4.3-pyhd8ed1ab_1 conda-forge
terminado: 0.18.1-pyh0d859eb_0 conda-forge
tinycss2: 1.4.0-pyhd8ed1ab_0 conda-forge
tk: 8.6.13-noxft_hd72426e_102 conda-forge
toml: 0.10.2-pyhd8ed1ab_1 conda-forge
tomli: 2.2.1-pyhe01879c_2 conda-forge
toposort: 1.10-pyhd8ed1ab_1 conda-forge
tornado: 6.5.2-py311h49ec1c0_0 conda-forge
traitlets: 5.14.3-pyhd8ed1ab_1 conda-forge
trimesh: 4.7.4-pyh7b2049a_0 conda-forge
types-python-dateutil: 2.9.0.20250809-pyhd8ed1ab_0 conda-forge
typing-extensions: 4.14.1-h4440ef1_0 conda-forge
typing-inspection: 0.4.1-pyhd8ed1ab_0 conda-forge
typing_extensions: 4.14.1-pyhe01879c_0 conda-forge
typing_utils: 0.1.0-pyhd8ed1ab_1 conda-forge
tzdata: 2025b-h78e105d_0 conda-forge
uharfbuzz: 0.51.1-py311hfd68839_1 conda-forge
untokenize: 0.1.1-pyhd8ed1ab_2 conda-forge
uri-template: 1.3.0-pyhd8ed1ab_1 conda-forge
urllib3: 2.5.0-pyhd8ed1ab_0 conda-forge
wayland: 1.24.0-h3e06ad9_0 conda-forge
wcwidth: 0.2.13-pyhd8ed1ab_1 conda-forge
webcolors: 24.11.1-pyhd8ed1ab_0 conda-forge
webencodings: 0.5.1-pyhd8ed1ab_3 conda-forge
webgpu-headers: 0.0.0.2024.11.12.bac5208-h707e725_0 conda-forge
websocket-client: 1.8.0-pyhd8ed1ab_1 conda-forge
websockets: 15.0.1-py311haee01d2_1 conda-forge
wgpu-native: 24.0.3.1-h0f3a69f_0 conda-forge
wgpu-py: 0.22.2-pyha804496_0 conda-forge
widgetsnbextension: 4.0.14-pyhd8ed1ab_0 conda-forge
xkeyboard-config: 2.45-hb9d3cd8_0 conda-forge
xorg-libice: 1.1.2-hb9d3cd8_0 conda-forge
xorg-libsm: 1.2.6-he73a12e_0 conda-forge
xorg-libx11: 1.8.12-h4f16b4b_0 conda-forge
xorg-libxau: 1.0.12-hb9d3cd8_0 conda-forge
xorg-libxcursor: 1.2.3-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-libxinerama: 1.1.5-h5888daf_1 conda-forge
xorg-libxmu: 1.2.1-hb9d3cd8_1 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
xsdata: 25.7-pyhd8ed1ab_0 conda-forge
yaml: 0.2.5-h280c20c_3 conda-forge
zeromq: 4.3.5-h3b0a872_7 conda-forge
zipp: 3.23.0-pyhd8ed1ab_0 conda-forge
zlib: 1.3.1-hb9d3cd8_2 conda-forge
zstandard: 0.23.0-py311h9ecbd09_2 conda-forge
zstd: 1.5.7-hb8e6e7a_2 conda-forge
```

### Environment info

```shell
++ conda info

active environment : base
active env location : /opt/conda
shell level : 1
user config file : /home/conda/.condarc
populated config files : /opt/conda/.condarc
/home/conda/.condarc
conda version : 25.5.1
conda-build version : 25.5.0
python version : 3.12.11.final.0
solver : libmamba (default)
virtual packages : __archspec=1=x86_64_v4
__conda=25.5.1=0
__glibc=2.34=0
__linux=6.11.0=0
__unix=0=0
base environment : /opt/conda (writable)
conda av data dir : /opt/conda/etc/conda
conda av metadata url : None
channel URLs : https://conda.anaconda.org/conda-forge/linux-64
https://conda.anaconda.org/conda-forge/noarch
package cache : /home/conda/feedstock_root/build_artifacts/pkg_cache
/opt/conda/pkgs
envs directories : /opt/conda/envs
/home/conda/.conda/envs
platform : linux-64
user-agent : conda/25.5.1 requests/2.32.4 CPython/3.12.11 Linux/6.11.0-1018-azure almalinux/9.6 glibc/2.34 solver/libmamba conda-libmamba-solver/25.4.0 libmambapy/2.3.0
UID:GID : 1001:1001
netrc file : None
offline mode : False
```

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.