✊🏿 Black Lives Matter. Please consider donating to Black Girls Code today.
🏦 Standard & Poor's chooses Dash Enterprise for ESG analysis. Learn why, sign up for the June 23 Webinar here!

📣 Plotly.py 5.0 is coming soon; Try the release candidate today!

Update Plotly.py 5.0 has been released! Check out the full announcement post

It’s been six months since our last Plotly.py release announcement (4.14, back in December), but our team has been hard at work and we’re finally ready to share the fruits of our labour!

The next release of Plotly.py will be 5.0 (a major-version release with some backwards-incompatible changes) because it will be based on Plotly.js 2.0 (itself a major release with some backwards-incompatible changes. That said, we expect that the vast majority of users will be able to upgrade without seeing any issues at all: the incompatible changes are essentially just removals of long-deprecated/undocumented features like the area trace type, and the dropping of support for old/end-of-life environments such as Internet Explorer 9 and 10, as well as Python 2.7 and 3.5.

A Prebuilt JupyterLab Extension :jigsaw:

The major improvement in Plotly.py 5.0 is a much better mechanism for accessing Plotly figures in JupyterLab. JupyterLab 3 added support for “prebuilt” extensions that can be installed via pip or conda automatically, and thanks to an epic community pull request, the two Plotly extensions (jupyterlab-plotly and plotlywidget) have been combined into one prebuilt extension which lazy-loads the large Plotly.js bundle. The upshot of this is that if you’re using JupyterLab 3, you’ll can just pip install plotly (once 5.0 is released!) and you’ll always automatically have the right version of the extension loaded!

Try it today: pip install plotly==5.0.0rc2 :construction_worker_woman:

Yesterday I released the first release candidate for 5.0, which you can install today with pip install plotly==5.0.0rc2 to try out the new extension and let us know if there are any problems with it, or if any of the Plotly.js 2.0 changes have broken anything for you in Plotly.py. Note that this RC of Plotly.py is build on the release of Plotly.js 2.0, so if you have any questions or run into any issues, feel free to reply to this post as a comment below, or open up a Github issue.

Detailed Changelogs :spiral_notepad:

Of course, like any release, there are some bug fixes and new features, which we will announce in more detail once they’re documented. If you want to dig into the details yourself right away, please check out the changelog for Plotly.py and the more-extensive one for Plotly.js. In both cases you’ll want to look at the “unreleased” section at the top to find out what’s in the release candidate.


Hi there,

Congratulation for the release!! :partying_face:

I just have a remark/feature request concerning a bar-traces use case in plotly.express. Since there is a new marker.pattern options for bar-like trace types wouldn’t it make sense to add a parameter named shape or pattern to the px.bar(...) function? This would add a dimension to represent a dataset and would be the equivalent of the symbol parameter for px.scatter(...) or line_dash for px.line(...)

Best regards,


1 Like

That’s coming in Plotly.py 5.0 :slight_smile:

1 Like

Update: Plotly.py 5.0 is out! and it does include PX support for pattern_shape, @Alexboiboi :slight_smile:

Check out the announcement here 📣 Introducing Plotly.py 5.0.0 - a new federated Jupyter extension, Icicle charts, and Bar chart patterns - #2