You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CHANGELOG.md
+14Lines changed: 14 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -13,8 +13,22 @@ This project adheres to [Semantic Versioning](http://semver.org/).
13
13
- Remove support for Orca for static image generation [[#5677](https://github.com/plotly/plotly.py/pull/5677)]
14
14
- Remove `engine` argument from functions `fig.write_image()`,`fig.to_image()`, `pio.write_image()`, `pio.write_images()`, `pio.to_image()`, `pio.full_figure_for_development()`, and from renderer constructors [[#5677](https://github.com/plotly/plotly.py/pull/5677)]
15
15
16
+
### Fixed
17
+
- Fix `hex_to_rgb` parsing of 3-digit shorthand hexadecimal colors such as `#FFF`[[#5662](https://github.com/plotly/plotly.py/pull/5662)], with thanks to @genrichez for the contribution!
18
+
19
+
20
+
## [6.9.0] - 2026-07-09
21
+
16
22
### Fixed
17
23
- Raise a clear `ValueError` when an unsupported marginal plot type is passed to Plotly Express, instead of failing later with a cryptic `'NoneType' object has no attribute 'constructor'` message [[#5625](https://github.com/plotly/plotly.py/pull/5625)], with thanks to @eugen-goebel for the contribution!
24
+
- Read and write figure JSON files as UTF-8 in `read_json`/`write_json` so figures containing non-ASCII text are handled correctly on platforms whose default encoding is not UTF-8 (e.g. cp1252 on Windows) [[#5633](https://github.com/plotly/plotly.py/pull/5633)]
25
+
26
+
27
+
### Updated
28
+
- Update plotly.js from version 3.6.0 to version 3.7.0. See the plotly.js [release notes](https://github.com/plotly/plotly.js/releases/tag/v3.7.0) for more information [[#5639](https://github.com/plotly/plotly.py/pull/5639)]. Notable changes include:
29
+
- Rename `sendDataToCloud` modebar button to `sendChartToCloud`, and update to upload chart to Plotly Cloud [[#7802](https://github.com/plotly/plotly.js/pull/7802), [#7852](https://github.com/plotly/plotly.js/pull/7852), [#7854](https://github.com/plotly/plotly.js/pull/7854)]. NOTE: The Plotly Cloud endpoint for receiving charts is not yet functional, so this button won't complete the upload.
30
+
- Fix stale `scattergl` error bars after toggling traces with mixed error bar visibility [[#7773](https://github.com/plotly/plotly.js/issues/7773)], with thanks to @JulienIcon for the contribution!
31
+
- Fix geo `fitbounds` to choose a compact longitude range when point data straddles the antimeridian [[#7837](https://github.com/plotly/plotly.js/pull/7837)], with thanks to @SharadhNaidu for the contribution!
18
32
19
33
### Updated
20
34
- Update plotly.js from version 3.6.0 to version 4.0.0-rc.0 [[#5673](https://github.com/plotly/plotly.py/pull/5673)]. This is a major-version release candidate with many changes. See the [plotly.js release notes](https://github.com/plotly/plotly.js/releases/tag/v4.0.0-rc.0) for the full list. The most significant changes include:
Copy file name to clipboardExpand all lines: CONTRIBUTING.md
+20-12Lines changed: 20 additions & 12 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -67,7 +67,7 @@ you can do it directly on GitHub by clicking on the "Edit this page on GitHub" l
67
67
68
68
We use Git and GitHub to manage our project;
69
69
if you are not familiar with them,
70
-
there are great resources like <http://try.github.io/> to get you started.
70
+
there are great resources like <https://try.github.io/> to get you started.
71
71
72
72
The first step is to [fork the repository](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/working-with-forks/fork-a-repo) on GitHub
73
73
so that you have your own copy to work with.
@@ -99,7 +99,7 @@ source .venv/bin/activate
99
99
100
100
Alternatively,
101
101
you can use [conda](https://docs.conda.io/projects/conda/en/latest/user-guide/tasks/manage-environments.html#creating-an-environment-with-commands)
102
-
or [virtualenv](http://docs.python-guide.org/en/latest/dev/virtualenvs/)
102
+
or [virtualenv](https://docs.python-guide.org/en/latest/dev/virtualenvs/)
103
103
to create and manage your virtual environment;
104
104
see those tools' documentation for more information.
This downloads new versions of `plot-schema.json` and `plotly.min.js` from the `plotly/plotly.js` GitHub repository
276
-
and places them in `plotly/package_data`.
277
-
It then regenerates all of the `graph_objs` classes based on the new schema,
278
-
and finally runs `npm install` in `js/` to refresh `js/package-lock.json` against the new `plotly.js`.
279
-
Commit the updated `js/package-lock.json` along with the regenerated files.
280
-
281
-
The JupyterLab extension and FigureWidget bundles in `plotly/labextension` and `plotly/package_data/widgetbundle.js`
282
-
are rebuilt as part of the release flow (see [RELEASE.md](RELEASE.md)) rather than on every plotly.js bump.
283
-
284
-
If you need to skip the `npm install` step entirely (e.g. `npm` isn't available),
276
+
and places them in `codegen/resources/` and `plotly/package_data/`, respectively.
277
+
278
+
It then does the following:
279
+
- Regenerates all of the `graph_objs` classes based on the new schema
280
+
- Runs `npm install` in `js/` to refresh `js/package-lock.json` against the new `plotly.js`
281
+
- Runs `npm run build` to rebuild the JupyterLab extension and FigureWidget bundles in `plotly/labextension` and `plotly/package_data/widgetbundle.js`.
282
+
283
+
Commit the updated files under:
284
+
-`codegen/resources/`
285
+
-`js/`
286
+
-`plotly/graph_objs/`
287
+
-`plotly/labextension/`
288
+
-`plotly/offline/`
289
+
-`plotly/package_data/`
290
+
291
+
If you need to skip the `npm` steps entirely (e.g. `npm` isn't available),
285
292
set the `SKIP_NPM=1` environment variable:
286
293
287
294
```bash
288
295
SKIP_NPM=1 python commands.py updateplotlyjs
289
296
```
290
297
291
-
If you do skip it, you'll need to run `npm install` in `js/` yourself before committing so the lockfile stays in sync.
298
+
If you do skip it, you'll need to find a way to manually run `npm install && npm run build` in `js/` before committing,
299
+
so that the lockfile and build artifacts stay in sync with `js/package.json`.
Copy file name to clipboardExpand all lines: doc/README.md
+2Lines changed: 2 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -17,6 +17,8 @@ Python packages required to build the docs are listed in
17
17
Before building the documentation locally, you need to set up a dedicated
18
18
environment with the doc-specific dependencies.
19
19
20
+
> You will need the [`gdal`](https://gdal.org/) system library installed (it's a build dependency of `geopandas`, a required dependency). The `uv pip install` step below will fail without it.
0 commit comments