plotly / plotly/plotly.py

plotly/package_data/widgetbundle.js has not been included in the release

Open
#5,113 5 comments 0 reactions 1 assignee View on GitHub

Nobody has claimed this yet.

bug infrastructure P1 regression
Dominant language
Python
Stars
18.8k
Forks
2.8k
Avg merge
16h 26m
Merged PRs (30d)
21

Description

For some reason plotly/package_data/widgetbundle.js is not being generated. I guess something goes wrong in the build script in js/package.json. Without the presence of that file, the global variable BaseFigureWidget._esm holds an invalid path, which leads to a somewhat surprising bug when using FigureWidget:

During import the function __getattr__ in graph_objects/__init__.py is being called and __init_subclass__ of AnyWidget is being invoked. Due to the missing file a FileNotFoundError is being raised (File not found: /usr/lib/python3.13/site-packages/plotly/package_data/widgetbundle.js).

inside __getattr__ there is a try block containing the import. I assume the intended usage of the try block is to catch any ImportErrors, since the except block will import a dummy-FigureWidget from missing_anywidget which just generates an error about a missing dependency.

However, the except block catches any exception, including the FileNotFoundError. This results in the user getting a misleading error message about a missing dependency (regardless whether that dependency is present or not). The actual fix would be to have the file plotly/package_data/widgetbundle.js present in the library.

Contributor guide

Open the contributing guide

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.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.