Skip to content

Commit f096a0b

Browse files
Merge branch 'plotly:master' into patch-3
2 parents fdf94de + 9910078 commit f096a0b

File tree

898 files changed

+13697
-64976
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

898 files changed

+13697
-64976
lines changed

Diff for: .circleci/config.yml

+32-47
Original file line numberDiff line numberDiff line change
@@ -46,12 +46,15 @@ commands:
4646
. venv/bin/activate
4747
pip install --upgrade pip wheel
4848
pip install -r ./test_requirements/requirements_<<parameters.py>>_optional.txt
49+
cd js
50+
npm ci
51+
npm run build
4952
- run:
5053
name: Install plotly-geo
5154
command: |
52-
cd packages/python/plotly-geo
53-
. ../plotly/venv/bin/activate
54-
pip install -e .
55+
cd packages/python/plotly
56+
. venv/bin/activate
57+
pip install plotly-geo
5558
- run:
5659
name: Test core
5760
command: |
@@ -112,9 +115,9 @@ commands:
112115
- run:
113116
name: Install plotly-geo
114117
command: |
115-
cd packages/python/plotly-geo
116-
. ../plotly/venv/bin/activate
117-
pip install -e .
118+
cd packages/python/plotly
119+
. venv/bin/activate
120+
pip install plotly-geo
118121
- run:
119122
name: Install orca
120123
command: |
@@ -249,13 +252,13 @@ jobs:
249252
- test_optional:
250253
py: "312_no_numpy"
251254

252-
# Orca
253-
python_38_orca:
255+
python_312_np2:
254256
docker:
255-
- image: cimg/python:3.8-browsers
257+
- image: cimg/python:3.12-browsers
256258
steps:
257-
- test_orca:
258-
py: "38"
259+
- test_optional:
260+
py: "312_np2"
261+
259262

260263
# Percy
261264
python_39_percy:
@@ -281,8 +284,9 @@ jobs:
281284
. venv/bin/activate
282285
pip install --upgrade pip wheel
283286
pip install -e ./packages/python/plotly
284-
pip install -e ./packages/python/plotly-geo
287+
pip install plotly-geo
285288
pip install -r ./packages/python/plotly/test_requirements/requirements_39_pandas_2_optional.txt
289+
286290
- run:
287291
name: Build html figures (Pandas 2)
288292
command: |
@@ -306,30 +310,6 @@ jobs:
306310
npx percy snapshot -c test/percy/snapshots.yml test/percy/
307311
rm test/percy/*.html
308312
309-
# Chart studio
310-
python_38_chart_studio:
311-
docker:
312-
- image: cimg/python:3.8
313-
resource_class: large
314-
315-
steps:
316-
- checkout
317-
- run:
318-
name: Install dependencies
319-
command: |
320-
cd packages/python/chart-studio
321-
python -m venv venv
322-
. venv/bin/activate
323-
pip install --upgrade pip wheel
324-
pip install -r ./test_requirements/requirements_38.txt
325-
- run:
326-
name: Tests
327-
command: |
328-
cd packages/python/chart-studio
329-
. venv/bin/activate
330-
pytest -x chart_studio/tests/
331-
no_output_timeout: 20m
332-
333313
plotlyjs_dev_build:
334314
docker:
335315
- image: cimg/python:3.8-node
@@ -347,9 +327,9 @@ jobs:
347327
. venv/bin/activate
348328
pip install --upgrade pip wheel
349329
pip install -r ./test_requirements/requirements_38_core.txt black inflect
350-
pip install jupyterlab~=3.0
330+
pip install jupyterlab
351331
- run:
352-
name: Update jupyterlab-plotly version
332+
name: Update jupyter widget plotly.js version
353333
command: |
354334
cd packages/python/plotly
355335
. venv/bin/activate
@@ -403,7 +383,7 @@ jobs:
403383
conda config --remove channels defaults
404384
conda config --add channels conda-forge
405385
conda create -n env --yes python=3.9 conda-build=3.28.4 conda-verify
406-
conda install -n env -c conda-forge jupyterlab=3 nodejs=16
386+
conda install -n env -c conda-forge jupyterlab nodejs=16
407387
conda init bash
408388
mkdir output
409389
@@ -412,9 +392,9 @@ jobs:
412392
command: |
413393
eval "$(conda shell.bash hook)"
414394
conda activate env
415-
cd packages/javascript/jupyterlab-plotly
395+
cd packages/python/plotly/js
416396
npm ci
417-
npm run build:prod
397+
npm run build
418398
git status
419399
420400
- run:
@@ -438,13 +418,13 @@ jobs:
438418
git status
439419
440420
- run:
441-
name: NPM Pack
421+
name: Build Widget javascript bundle
442422
command: |
443423
eval "$(conda shell.bash hook)"
444424
conda activate env
445-
cd packages/javascript/jupyterlab-plotly
446-
npm pack
447-
mv jupyterlab-plotly*.tgz ../../../output
425+
cd packages/python/plotly/js
426+
npm ci
427+
npm run build
448428
449429
- run:
450430
name: Zip output
@@ -491,7 +471,12 @@ jobs:
491471
pip install -r requirements.txt
492472
if [ "${CIRCLE_BRANCH}" != "doc-prod" ]; then
493473
pip uninstall -y plotly
494-
pip install -e ../packages/python/plotly
474+
cd ../packages/python/plotly
475+
pip install -e .
476+
cd js
477+
npm ci
478+
npm run build
479+
cd ../../../../doc
495480
fi
496481
cd ..
497482
- run:
@@ -613,7 +598,7 @@ workflows:
613598
- python_311_optional
614599
- python_312_optional
615600
- python_39_pandas_2_optional
616-
- python_38_orca
617601
- python_39_percy
618602
- python_312_no_numpy
603+
- python_312_np2
619604
- build-doc

Diff for: .gitignore

+4
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,9 @@ build
4545
dist
4646
plotly.egg-info/
4747

48+
# macOS utility file
49+
**/.DS_Store
50+
4851
plotly/tests/test_orca/images/*/failed
4952
plotly/tests/test_orca/images/*/tmp
5053
/plotly-package/plotly/tests/test_core/test_offline/plotly.min.js
@@ -59,6 +62,7 @@ doc/check-or-enforce-order.py
5962
packages/javascript/jupyterlab-plotly/lib/
6063
packages/python/plotly/jupyterlab_plotly/labextension/
6164
packages/python/plotly/jupyterlab_plotly/nbextension/index.js*
65+
packages/python/plotly/plotly/package_data/widgetbundle.js
6266

6367
test/percy/*.html
6468
test/percy/pandas2/*.html

Diff for: CHANGELOG.md

+35-1
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,45 @@
22
All notable changes to this project will be documented in this file.
33
This project adheres to [Semantic Versioning](http://semver.org/).
44

5+
## [6.0.0] - 2025-01-28
6+
7+
### Added
8+
- Add `plotly[express]` extra for easily installing Plotly Express dependencies [[#4644](https://github.com/plotly/plotly.py/pull/4644)]
9+
- Add `subtitle` attribute to all Plotly Express traces [[#4830](https://github.com/plotly/plotly.py/pull/4830)].
10+
11+
### Removed
12+
- Drop deprecated `pointcloud` and `heatmapgl` traces from the API [[#4815](https://github.com/plotly/plotly.py/pull/4815)]
13+
- Drop `tenacity` dependency [[#4831](https://github.com/plotly/plotly.py/pull/4831)]
14+
- Drop support for Jupyter Notebook version 6 and earlier [[#4822](https://github.com/plotly/plotly.py/pull/4822)]. The minimum supported version is now 7.0.0.
15+
16+
### Updated
17+
- Update Plotly.js from version 2.34.2 to version 3.0.0 See the [plotly.js CHANGELOG](https://github.com/plotly/plotly.js/blob/master/CHANGELOG.md#300----2025-01-27) for more information. These changes are reflected in the auto-generated `plotly.graph_objects` module. Notable changes include:
18+
- Make offsetgroup work with barmode "stacked" and "relative" for bar traces [[#7009](https://github.com/plotly/plotly.js/pull/7009)]
19+
- Drop support for deprecated attributes `titlefont`, `titleposition`, `titleside`, and `titleoffset` [[#7212](https://github.com/plotly/plotly.js/pull/7212)].
20+
- Drop deprecated pointcloud and heatmapgl traces and gl2d subplots [[#7213](https://github.com/plotly/plotly.js/pull/7213)]
21+
- Drop support for deprecated `bardir` attribute (use `orientation` instead) [[#7214](https://github.com/plotly/plotly.js/pull/7214)]
22+
- Drop support for deprecated `annotation.ref` attribute (use `annotation.xref` and `annotation.yref` instead) [[#7215](https://github.com/plotly/plotly.js/pull/7215)]
23+
- Drop support for deprecated error bar `opacity` attribute (use alpha channel of error bar `color` attribute instead) [[#7214](https://github.com/plotly/plotly.js/pull/7216)]
24+
- Drop support for deprecated attribute `gl3d.cameraposition` (use `gl3d.camera` instead) [[#7217](https://github.com/plotly/plotly.js/pull/7217)]
25+
- Drop deprecated `plot3dPixelRatio` from config [[#7231](https://github.com/plotly/plotly.js/pull/7231)]
26+
- Drop deprecated `zauto`, `zmin` and `zmax` from the surface trace [[#7234](https://github.com/plotly/plotly.js/pull/7234)]
27+
- Drop deprecated `autotick` attributes from cartesian axes [[#7236](https://github.com/plotly/plotly.js/pull/7236)]
28+
- Drop `transforms` from the API [[#7240](https://github.com/plotly/plotly.js/pull/7240), [#7254](https://github.com/plotly/plotly.js/pull/7254)]
29+
- Deprecate Mapbox-based traces.[[#4900](https://github.com/plotly/plotly.py/pull/4900)]. See the [MapLibre Migration](https://plotly.com/python/mapbox-to-maplibre/) page for details on migrating from Mapbox to Maplibre.
30+
- Update plotly.py to use base64 encoding of typed arrays e.g. numpy in plotly JSON to keep precision intact and improve performance [[#4470](https://github.com/plotly/plotly.py/pull/4470)].
31+
- Make plotly-express dataframe agnostic via Narwhals [[#4790](https://github.com/plotly/plotly.py/pull/4790)].
32+
- Update `go.FigureWidget` to use `anywidget` [[#4823](https://github.com/plotly/plotly.py/pull/4823)]
33+
- Use modern [native ES6 import](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Modules) to load plotly.js bundle instead of requirejs which is [no longer under active development](https://github.com/requirejs/r.js/compare/2.3.6...2.3.7) [[#4736](https://github.com/plotly/plotly.py/pull/4763)]
34+
35+
### Fixed
36+
- Fix a bug in JupyterLab >= 4 and Jupyter Notebook >= 7 that caused LaTeX to not render in plotly charts [[#4763](https://github.com/plotly/plotly.py/pull/4763)].
37+
- Fix `go.FigureWidget.show` to return `FigureWidget` instead of displaying `Figure` [[#4869](https://github.com/plotly/plotly.py/pull/4869)]
38+
539
## [5.24.1] - 2024-09-12
640

741
### Updated
842

9-
- Updated Plotly.js from version 2.35.0 to version 2.35.2. See the [plotly.js CHANGELOG](https://github.com/plotly/plotly.js/blob/master/CHANGELOG.md#2352----2024-09-10) for more information.
43+
- Updated Plotly.js from version 2.35.0 to version 3.0.0-rc.0. See the [plotly.js CHANGELOG](https://github.com/plotly/plotly.js/blob/master/CHANGELOG.md#2352----2024-11-11) for more information.
1044

1145
## [5.24.0] - 2024-08-29
1246

Diff for: CITATION.cff

+15
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
cff-version: 1.2.0
2+
message: "If you use this software, please cite it as below."
3+
authors:
4+
- family-names: "Kruchten"
5+
given-names: "Nicolas"
6+
orcid: https://orcid.org/0000-0002-8416-789X
7+
- family-names: "Seier"
8+
given-names: "Andrew"
9+
- family-names: "Parmer"
10+
given-names: "Chris"
11+
title: "An interactive, open-source, and browser-based graphing library for Python"
12+
version: 5.24.1
13+
doi: 10.5281/zenodo.14503524
14+
date-released: 2024-09-12
15+
url: "https://github.com/plotly/plotly.py"

Diff for: LICENSE.txt

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
The MIT License (MIT)
1+
MIT License
22

3-
Copyright (c) 2016-2018 Plotly, Inc
3+
Copyright (c) 2016-2024 Plotly Technologies Inc.
44

55
Permission is hereby granted, free of charge, to any person obtaining a copy
66
of this software and associated documentation files (the "Software"), to deal

0 commit comments

Comments
 (0)