plotly / plotly/Kaleido

Cannot run `plotly_get_chrome` on 3.14 due to inability to install `kaleido`

Open
#343 3 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug
Dominant language
Python
Stars
498
Forks
62
Avg merge
1d 11h
Merged PRs (30d)
2

Description

(venv) cc@pretty:~$ venv/bin/plotly_get_chrome 
Traceback (most recent call last):
  File "/home/cc/venv/bin/plotly_get_chrome", line 8, in <module>
    sys.exit(get_chrome())
             ~~~~~~~~~~^^
  File "/home/cc/venv/lib64/python3.14t/site-packages/plotly/io/_kaleido.py", line 801, in get_chrome
            raise ValueError(
    ...<4 lines>...
            )
ValueError: 
This command requires Kaleido v1.0.0 or greater.
Install it using `pip install 'kaleido>=1.0.0'` or `pip install 'plotly[kaleido]'`."

(venv) cc@pretty:~/venv/bin$ pip install 'plotly[kaleido]'
Requirement already satisfied: plotly[kaleido] in /home/cc/venv/lib64/python3.14t/site-packages (6.1.2)
Requirement already satisfied: narwhals>=1.15.1 in /home/cc/venv/lib64/python3.14t/site-packages (from plotly[kaleido]) (1.41.0)
Requirement already satisfied: packaging in /home/cc/venv/lib64/python3.14t/site-packages (from plotly[kaleido]) (25.0)
Collecting kaleido==1.0.0rc13 (from plotly[kaleido])
  Downloading kaleido-1.0.0rc13-py3-none-any.whl.metadata (5.0 kB)
Collecting choreographer>=1.0.5 (from kaleido==1.0.0rc13->plotly[kaleido])
  Downloading choreographer-1.0.8-py3-none-any.whl.metadata (5.6 kB)
Collecting logistro>=1.0.8 (from kaleido==1.0.0rc13->plotly[kaleido])
  Downloading logistro-1.1.0-py3-none-any.whl.metadata (2.6 kB)
Collecting orjson>=3.10.15 (from kaleido==1.0.0rc13->plotly[kaleido])
  Using cached orjson-3.10.15.tar.gz (5.3 MB)
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Preparing metadata (pyproject.toml) ... done
Collecting simplejson>=3.19.3 (from choreographer>=1.0.5->kaleido==1.0.0rc13->plotly[kaleido])
  Using cached simplejson-3.20.1-py3-none-any.whl.metadata (3.3 kB)
Downloading kaleido-1.0.0rc13-py3-none-any.whl (51 kB)
Downloading choreographer-1.0.8-py3-none-any.whl (51 kB)
Downloading logistro-1.1.0-py3-none-any.whl (7.9 kB)
Using cached simplejson-3.20.1-py3-none-any.whl (57 kB)
Building wheels for collected packages: orjson
  Building wheel for orjson (pyproject.toml) ... error
  error: subprocess-exited-with-error
  
  × Building wheel for orjson (pyproject.toml) did not run successfully.
  │ exit code: 1
  ╰─> [79 lines of output]
      Running `maturin pep517 build-wheel -i /home/cc/venv/bin/python3.14t --compatibility off`
      📦 Including license file "/tmp/pip-install-mzm4ge7b/orjson_21025572a49e4aecb463e0acaca5a239/LICENSE-APACHE"
      📦 Including license file "/tmp/pip-install-mzm4ge7b/orjson_21025572a49e4aecb463e0acaca5a239/LICENSE-MIT"
      🍹 Building a mixed python/rust project
      🔗 Found pyo3-ffi bindings
      🐍 Found CPython 3.14t at /home/cc/venv/bin/python3.14t
         Compiling target-lexicon v0.13.1
         Compiling proc-macro2 v1.0.92
         Compiling unicode-ident v1.0.14
         Compiling once_cell v1.20.2
         Compiling rustversion v1.0.19
         Compiling serde v1.0.217
         Compiling cfg-if v1.0.0
         Compiling shlex v1.3.0
         Compiling libc v0.2.169
         Compiling version_check v0.9.5
         Compiling ryu v1.0.18
         Compiling serde_json v1.0.135
         Compiling itoa v1.0.14
         Compiling static_assertions v1.1.0
         Compiling memchr v2.7.4
         Compiling itoap v1.0.1
         Compiling jiff v0.1.21
         Compiling simdutf8 v0.1.5
         Compiling associative-cache v2.0.0
         Compiling smallvec v1.13.2
         Compiling half v2.4.1
         Compiling encoding_rs v0.8.35
         Compiling uuid v1.11.0
         Compiling bytecount v0.6.8
         Compiling xxhash-rust v0.8.15
         Compiling cc v1.2.1
         Compiling castaway v0.2.3
         Compiling pyo3-build-config v0.23.3 (/tmp/pip-install-mzm4ge7b/orjson_21025572a49e4aecb463e0acaca5a239/include/pyo3/pyo3-build-config)
         Compiling quote v1.0.38
         Compiling syn v2.0.95
         Compiling pyo3-ffi v0.23.3 (/tmp/pip-install-mzm4ge7b/orjson_21025572a49e4aecb463e0acaca5a239/include/pyo3/pyo3-ffi)
         Compiling orjson v3.10.15 (/tmp/pip-install-mzm4ge7b/orjson_21025572a49e4aecb463e0acaca5a239)
      error: failed to run custom build command for `pyo3-ffi v0.23.3 (/tmp/pip-install-mzm4ge7b/orjson_21025572a49e4aecb463e0acaca5a239/include/pyo3/pyo3-ffi)`
      
      Caused by:
        process didn't exit successfully: `/tmp/pip-install-mzm4ge7b/orjson_21025572a49e4aecb463e0acaca5a239/target/release/build/pyo3-ffi-d3df268272d8dcdc/build-script-build` (exit status: 1)
        --- stdout
        cargo:rustc-check-cfg=cfg(Py_LIMITED_API)
        cargo:rustc-check-cfg=cfg(Py_GIL_DISABLED)
        cargo:rustc-check-cfg=cfg(PyPy)
        cargo:rustc-check-cfg=cfg(GraalPy)
        cargo:rustc-check-cfg=cfg(py_sys_config, values("Py_DEBUG", "Py_REF_DEBUG", "Py_TRACE_REFS", "COUNT_ALLOCS"))
        cargo:rustc-check-cfg=cfg(invalid_from_utf8_lint)
        cargo:rustc-check-cfg=cfg(pyo3_disable_reference_pool)
        cargo:rustc-check-cfg=cfg(pyo3_leak_on_drop_without_reference_pool)
        cargo:rustc-check-cfg=cfg(diagnostic_namespace)
        cargo:rustc-check-cfg=cfg(c_str_lit)
        cargo:rustc-check-cfg=cfg(rustc_has_once_lock)
        cargo:rustc-check-cfg=cfg(io_error_more)
        cargo:rustc-check-cfg=cfg(fn_ptr_eq)
        cargo:rustc-check-cfg=cfg(Py_3_7)
        cargo:rustc-check-cfg=cfg(Py_3_8)
        cargo:rustc-check-cfg=cfg(Py_3_9)
        cargo:rustc-check-cfg=cfg(Py_3_10)
        cargo:rustc-check-cfg=cfg(Py_3_11)
        cargo:rustc-check-cfg=cfg(Py_3_12)
        cargo:rustc-check-cfg=cfg(Py_3_13)
        cargo:rerun-if-env-changed=PYO3_CROSS
        cargo:rerun-if-env-changed=PYO3_CROSS_LIB_DIR
        cargo:rerun-if-env-changed=PYO3_CROSS_PYTHON_VERSION
        cargo:rerun-if-env-changed=PYO3_CROSS_PYTHON_IMPLEMENTATION
        cargo:rerun-if-env-changed=PYO3_PRINT_CONFIG
        cargo:rerun-if-env-changed=PYO3_USE_ABI3_FORWARD_COMPATIBILITY
      
        --- stderr
        error: the configured Python interpreter version (3.14) is newer than PyO3's maximum supported version (3.13)
        = help: please check if an updated version of PyO3 is available. Current version: 0.23.3
        = help: set PYO3_USE_ABI3_FORWARD_COMPATIBILITY=1 to suppress this check and build anyway using the stable ABI
      warning: build failed, waiting for other jobs to finish...
      💥 maturin failed
        Caused by: Failed to build a native library through cargo
        Caused by: Cargo build finished with "exit status: 101": `env -u CARGO PYO3_ENVIRONMENT_SIGNATURE="cpython-3.14-64bit" PYO3_PYTHON="/home/cc/venv/bin/python3.14t" PYTHON_SYS_EXECUTABLE="/home/cc/venv/bin/python3.14t" "cargo" "rustc" "--message-format" "json-render-diagnostics" "--manifest-path" "/tmp/pip-install-mzm4ge7b/orjson_21025572a49e4aecb463e0acaca5a239/Cargo.toml" "--release" "--lib"`
      Error: command ['maturin', 'pep517', 'build-wheel', '-i', '/home/cc/venv/bin/python3.14t', '--compatibility', 'off'] returned non-zero exit status 1
      [end of output]
  
  note: This error originates from a subprocess, and is likely not a problem with pip.
  ERROR: Failed building wheel for orjson
Failed to build orjson
ERROR: Failed to build installable wheels for some pyproject.toml based projects (orjson)
(venv) cc@pretty:~/venv/bin$ pip install --pre 'kaleido>=1.0.0'
ERROR: Ignored the following yanked versions: 0.4.0, 0.4.1, 0.4.2
ERROR: Could not find a version that satisfies the requirement kaleido>=1.0.0 (from versions: 0.0.1rc3, 0.0.1rc4, 0.0.1rc5, 0.0.1rc6, 0.0.1rc8, 0.0.1rc9, 0.0.1, 0.0.2, 0.0.3, 0.0.3.post1, 0.1.0a2, 0.1.0a3, 0.1.0, 0.2.0rc1, 0.2.0, 0.2.1, 0.4.0rc1, 0.4.0rc2, 0.4.0rc3, 0.4.0rc4, 0.4.0rc5, 1.0.0rc0, 1.0.0rc11, 1.0.0rc13, 1.0.0rc15)
ERROR: No matching distribution found for kaleido>=1.0.0

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reproducing the failure through the plotly_get_chrome entry point and inspect plotly/io/_kaleido.py, using the Python 3.14 environment and installation output provided. Trace the Kaleido dependency requirements and verify that Kaleido can be installed and the command runs successfully on Python 3.14.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
tooling
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.