Skip to content

Commit 55f81ef

Browse files
authored
Release 3.7.0 (#1456)
* Initial CHANGELOG for 3.7.0 * Update README with release candidate installation instructions * Bump widget version to 0.8.0 * Add thin outline to `bar` and `barpolar` trace themes * bump plotly.js to 1.45.2 * Update selectedpoints property in response to selection events * Remove sourcemap and import plotly.min bundle to reduce package size * Update codegen to handle sankey link colorscales * Remove Python 3.4 CI tests * Remove unused conda circle jobs
1 parent dc53911 commit 55f81ef

38 files changed

+186
-187027
lines changed

Diff for: .circleci/config.yml

+5-105
Original file line numberDiff line numberDiff line change
@@ -18,22 +18,6 @@ jobs:
1818
command: 'tox -e py27-core'
1919
no_output_timeout: 20m
2020

21-
python-3.4-core:
22-
docker:
23-
- image: circleci/python:3.4-stretch-node-browsers
24-
environment:
25-
PLOTLY_TOX_PYTHON_34: python3.4
26-
27-
steps:
28-
- checkout
29-
- run:
30-
name: Install tox
31-
command: 'sudo pip install tox'
32-
- run:
33-
name: Test with tox
34-
command: 'tox -e py34-core'
35-
no_output_timeout: 20m
36-
3721
python-3.5-core:
3822
docker:
3923
- image: circleci/python:3.5-stretch-node-browsers
@@ -103,26 +87,6 @@ jobs:
10387
command: 'tox -e py27-optional'
10488
no_output_timeout: 20m
10589

106-
python-3.4-optional:
107-
docker:
108-
- image: circleci/python:3.4-stretch-node-browsers
109-
environment:
110-
PLOTLY_TOX_PYTHON_34: python3.4
111-
112-
steps:
113-
- checkout
114-
- run:
115-
name: Install tox
116-
command: 'sudo pip install tox'
117-
- run:
118-
name: Install npm dependencies
119-
command: cd plotly/tests/test_optional/test_jupyter && npm install
120-
no_output_timeout: 20m
121-
- run:
122-
name: Test with tox
123-
command: 'tox -e py34-optional'
124-
no_output_timeout: 20m
125-
12690
python-3.5-optional:
12791
docker:
12892
- image: circleci/python:3.5-stretch-node-browsers
@@ -200,11 +164,11 @@ jobs:
200164
command: 'tox -e py27-plot_ly'
201165
no_output_timeout: 20m
202166

203-
python-3.4-plot_ly:
167+
python-3.5-plot_ly:
204168
docker:
205-
- image: circleci/python:3.4-stretch-node-browsers
169+
- image: circleci/python:3.5-stretch-node-browsers
206170
environment:
207-
PLOTLY_TOX_PYTHON_34: python3.4
171+
PLOTLY_TOX_PYTHON_35: python3.5
208172

209173
steps:
210174
- checkout
@@ -213,7 +177,7 @@ jobs:
213177
command: 'sudo pip install tox'
214178
- run:
215179
name: Test with tox
216-
command: 'tox -e py34-plot_ly'
180+
command: 'tox -e py35-plot_ly'
217181
no_output_timeout: 20m
218182

219183
python-3.7-plot_ly:
@@ -322,67 +286,6 @@ jobs:
322286
- store_artifacts:
323287
path: plotly/tests/test_orca/images/linux/failed
324288

325-
326-
python-2-7-conda:
327-
docker:
328-
- image: continuumio/miniconda3:4.5.4
329-
environment:
330-
PYTHON_VERSION: 2.7
331-
332-
steps:
333-
- checkout
334-
- run:
335-
name: Create packages
336-
command: .circleci/create_conda_packages.sh
337-
no_output_timeout: 20m
338-
- store_artifacts:
339-
path: artifacts
340-
341-
python-3-5-conda:
342-
docker:
343-
- image: continuumio/miniconda3:4.5.4
344-
environment:
345-
PYTHON_VERSION: 3.5
346-
347-
steps:
348-
- checkout
349-
- run:
350-
name: Create packages
351-
command: .circleci/create_conda_packages.sh
352-
no_output_timeout: 20m
353-
- store_artifacts:
354-
path: artifacts
355-
356-
python-3-6-conda:
357-
docker:
358-
- image: continuumio/miniconda3:4.5.4
359-
environment:
360-
PYTHON_VERSION: 3.6
361-
362-
steps:
363-
- checkout
364-
- run:
365-
name: Create packages
366-
command: .circleci/create_conda_packages.sh
367-
no_output_timeout: 20m
368-
- store_artifacts:
369-
path: artifacts
370-
371-
python-3-7-conda:
372-
docker:
373-
- image: continuumio/miniconda3:4.5.4
374-
environment:
375-
PYTHON_VERSION: 3.7
376-
377-
steps:
378-
- checkout
379-
- run:
380-
name: Create packages
381-
command: .circleci/create_conda_packages.sh
382-
no_output_timeout: 20m
383-
- store_artifacts:
384-
path: artifacts
385-
386289
plotlyjs_dev_build:
387290
docker:
388291
- image: circleci/python:3.7-stretch-node-browsers
@@ -442,20 +345,17 @@ workflows:
442345
build:
443346
jobs:
444347
- python-2.7-core
445-
- python-3.4-core
446348
- python-3.5-core
447349
- python-3.6-core
448350
- python-3.7-core
449351
- python-2.7-optional
450-
- python-3.4-optional
451352
- python-3.5-optional
452353
- python-3.6-optional
453354
# 3.7 optional disabled due to current shapely incompatibility
454355
# - python-3.7-optional
455356
- python-2.7-plot_ly
456-
- python-3.4-plot_ly
357+
- python-3.5-plot_ly
457358
- python-3.7-plot_ly
458359
- python-2-7-orca
459360
- python-3-5-orca
460361
- python-3-7-orca
461-

Diff for: CHANGELOG.md

+31
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,37 @@
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+
## [3.7.0] - 2019-03-08
7+
8+
### Updated
9+
- Updated Plotly.js to version 1.45.2. See the
10+
[plotly.js CHANGELOG](https://github.com/plotly/plotly.js/blob/master/CHANGELOG.md#1452----2019-03-07)
11+
for more information.
12+
13+
### Added
14+
- Added new `auto_play` argument to offline `plot` and `iplot` to control
15+
whether figures with frames are automatically animated when the figure is
16+
loaded
17+
([#1447](https://github.com/plotly/plotly.py/pull/1447))
18+
- Added support for uploading "offline" animations (those with inline data
19+
arrays rather than grid references) to Chart Studio using `plotly.plotly.create_animations`
20+
([#1432](https://github.com/plotly/plotly.py/pull/1432))
21+
22+
### Updated
23+
- Updated implementation of the `ternary_contour` figure factory that was
24+
added in 3.6.0. The new implementation uses the native plotly.js ternary axes
25+
and provides ILR transform support.
26+
([#1418](https://github.com/plotly/plotly.py/pull/1418))
27+
28+
### Fixed
29+
- Make sure the trace `selectedpoints` property of `FigureWidget` traces is
30+
updated on the Python side in response to plotly.js selection events
31+
([#1433](https://github.com/plotly/plotly.py/issues/1433))
32+
- Fix validation for 0-dimensional numpy arrays
33+
([#1444](https://github.com/plotly/plotly.py/pull/1444)). Special thanks to
34+
[@ankokumoyashi](https://github.com/ankokumoyashi) for this contribution!
35+
536
## [3.6.1] - 2019-02-08
637

738
### Updated

Diff for: README.md

+5-5
Original file line numberDiff line numberDiff line change
@@ -78,12 +78,12 @@ Built on top of [plotly.js](https://github.com/plotly/plotly.js), `plotly.py` is
7878

7979
plotly.py may be installed using pip...
8080
```
81-
pip install plotly==3.6.1
81+
pip install plotly==3.7.0rc1
8282
```
8383

8484
or conda.
8585
```
86-
conda install -c plotly plotly=3.6.1
86+
conda install -c plotly/label/test plotly=3.7.0rc1
8787
```
8888

8989
### Jupyter Notebook Support
@@ -126,10 +126,10 @@ set NODE_OPTIONS=--max-old-space-size=4096
126126
jupyter labextension install @jupyter-widgets/[email protected] --no-build
127127
128128
# FigureWidget support
129-
jupyter labextension install plotlywidget@0.7.1 --no-build
129+
jupyter labextension install plotlywidget@0.8.0-rc.1 --no-build
130130
131131
# offline iplot support
132-
jupyter labextension install @jupyterlab/[email protected].1 --no-build
132+
jupyter labextension install @jupyterlab/[email protected].2 --no-build
133133
134134
# JupyterLab chart editor support (optional)
135135
jupyter labextension install [email protected] --no-build
@@ -166,7 +166,7 @@ and orca can be installed according to the instructions in the [orca README](htt
166166
If you're migrating from plotly.py version 2, please check out the [migration guide](migration-guide.md)
167167

168168
## Copyright and Licenses
169-
Code and documentation copyright 2018 Plotly, Inc.
169+
Code and documentation copyright 2019 Plotly, Inc.
170170

171171
Code released under the [MIT license](LICENSE.txt).
172172

Diff for: codegen/__init__.py

+8-1
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,13 @@ def preprocess_schema(plotly_schema):
7070

7171
layout['template'] = template
7272

73+
# Rename concentrationscales to colorscale to match conventions
74+
items = plotly_schema['traces']['sankey']['attributes']\
75+
['link']['colorscales']['items']
76+
77+
if 'concentrationscales' in items:
78+
items['colorscale'] = items.pop('concentrationscales')
79+
7380

7481
def perform_codegen():
7582
# Set root codegen output directory
@@ -217,7 +224,7 @@ def perform_codegen():
217224

218225
# submodule import
219226
if node.child_compound_datatypes:
220-
227+
221228
path_to_datatype_import_info.setdefault(key, []).append(
222229
(f"plotly.graph_objs{node.parent_dotpath_str}",
223230
node.name_undercase)

Diff for: contributing.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -359,7 +359,7 @@ incremented.
359359
Update CHANGELOG with release date and update README with final versions.
360360

361361
In the conda installation instructions, be sure to change the
362-
"-c plotly/lable/test" argument to "-c plotly"
362+
"-c plotly/label/test" argument to "-c plotly"
363363

364364
Commit updates.
365365

Diff for: js/package-lock.json

+8-8
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Diff for: js/package.json

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "plotlywidget",
3-
"version": "0.7.1",
3+
"version": "0.8.0",
44
"description": "The plotly.py ipywidgets library",
55
"author": "The plotly.py team",
66
"license": "MIT",
@@ -31,7 +31,7 @@
3131
"ify-loader": "^1.1.0"
3232
},
3333
"dependencies": {
34-
"plotly.js": "1.45.1",
34+
"plotly.js": "1.45.2",
3535
"@jupyter-widgets/base": "^1.0.0",
3636
"lodash": "^4.17.4"
3737
},

Diff for: js/src/Figure.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ var widgets = require("@jupyter-widgets/base");
22
var _ = require("lodash");
33

44
window.PlotlyConfig = {MathJaxConfig: 'local'};
5-
var Plotly = require("plotly.js/dist/plotly");
5+
var Plotly = require("plotly.js/dist/plotly.min");
66
var PlotlyIndex = require("plotly.js/src/lib/index");
77
var semver_range = "^" + require("../package.json").version;
88

Diff for: js/webpack.config.js

-2
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,6 @@ module.exports = [
3737
path: path.resolve(__dirname, '..', 'plotlywidget', 'static'),
3838
libraryTarget: 'amd'
3939
},
40-
devtool: 'source-map',
4140
node: {
4241
fs: 'empty'
4342
},
@@ -67,7 +66,6 @@ module.exports = [
6766
libraryTarget: 'amd',
6867
publicPath: 'https://unpkg.com/plotlywidget@' + version + '/dist/'
6968
},
70-
devtool: 'source-map',
7169
node: {
7270
fs: 'empty'
7371
},

Diff for: plotly/_widget_version.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,4 @@
22
# for automated dev builds
33
#
44
# It is edited by hand prior to official releases
5-
__frontend_version__ = '0.7.1'
5+
__frontend_version__ = '0.8.0'

Diff for: plotly/basedatatypes.py

+7
Original file line numberDiff line numberDiff line change
@@ -4117,6 +4117,13 @@ def _dispatch_on_selection(self,
41174117
"""
41184118
Dispatch points and selector info to selection callbacks
41194119
"""
4120+
if 'selectedpoints' in self:
4121+
# Update the selectedpoints property, which will notify all views
4122+
# of the selection change. This is a special case because no
4123+
# restyle event is emitted by plotly.js on selection events
4124+
# even though these events update the selectedpoints property.
4125+
self.selectedpoints = points.point_inds
4126+
41204127
for callback in self._select_callbacks:
41214128
callback(self, points, selector)
41224129

Diff for: plotly/graph_objs/_sankey.py

+7-7
Original file line numberDiff line numberDiff line change
@@ -273,14 +273,14 @@ def link(self):
273273
each `link`. If `link.color` is omitted, then
274274
by default, a translucent grey link will be
275275
used.
276-
concentrationscaless
277-
plotly.graph_objs.sankey.link.Concentrationscal
278-
es instance or dict with compatible properties
279-
concentrationscalesdefaults
276+
colorscales
277+
plotly.graph_objs.sankey.link.Colorscale
278+
instance or dict with compatible properties
279+
colorscaledefaults
280280
When used in a template (as layout.template.dat
281-
a.sankey.link.concentrationscalesdefaults),
282-
sets the default property values to use for
283-
elements of sankey.link.colorscales
281+
a.sankey.link.colorscaledefaults), sets the
282+
default property values to use for elements of
283+
sankey.link.colorscales
284284
colorsrc
285285
Sets the source reference on plot.ly for color
286286
.

0 commit comments

Comments
 (0)