🏥 🏭 Working on the COVID-19 response in Canada? Plotly & the Canadian government can help you and your organization. Learn more and get in touch.

📣 Dash Club - Winter Dispatch

Hello everyone! I just sent out our quarterly Dash newsletter, Dash Club. In case you aren’t on the email list (sign up here: https://go.plot.ly/dash-club), I’ve included the newsletter below. Lot’s of good stuff in here! :fist:


  • We spent the fall working on page load performance:

    1. Previously, we loaded all of the JavaScript from all of the component libraries upfront.

      Now, we load them on demand. This is called “lazy loading.” So, if your home page doesn’t display a graph, then the plotly.js library isn’t loaded until you navigate to the page that does.

    2. We started caching your app’s JavaScript and CSS assets.

      With these improvements, our documentation loads much, much faster. Your apps should too!

  • dash_table.DataTable now supports links and Markdown in its cells. This was one of the most requested features. Thanks to everyone who contributed to the discussion.

  • DataTable is full of features now: row and column selections; built-in CSV & Excel export; clientside and serverside filtering, sorting, and paging; data types; dropdowns; cell overflow and wrapping; column renaming, hiding, and deleting, and more! The DataTable reference page exhaustively describes all of the customizations that are available.

  • Clientside callbacks are callback functions that are written in JavaScript instead of Python, can now be written directly in your app.py file. Clientside callbacks are our recommended “escape hatch” when you need to boost the performance of your Dash app.

  • Dash Core Components and Dash Table support a new feature that we’re calling “persistence”.

    Sometimes you want to save things the user has done in your app beyond the lifetime of the individual affected components. Perhaps you let your users choose their language or edit the headers of a table, and they want to see these same settings every time they load the app. Or perhaps you have a tabbed app, so a form disappears when you switch to a different tab, and you want the same settings when the user comes back to that tab, but you want to reset them if the page is reloaded. There are ways to do this with dcc.Store components, but the Dash persistence feature dramatically simplifies these cases. Persistence is built-in to these components, so you don’t need to write any complex logic yourself.


The dcc.Graph component is powered by plotly.js, our open source JavaScript graphing library, and plotly.py, our Python graphing library. We’ve made 17 releases to these packages since the summer.

Highlights include:

ICYMI

  • We released Plotly.py 4.0.0 in July—our biggest release yet. Read the announcement essay. - We’re now at v4.5.0.

  • We released Dash 1.0.0 in July—read the announcement. We’re now at version 1.8.0.

  • Dash is now available for R! The syntax is almost identical to Dash for Python, and it uses the exact same component libraries and rendering engine. So, if you’ve learned Dash in one language, it’s easy to pick it up or collaborate with a colleague in another language. Check out the Dash for R Announcement Letter.

Looking Ahead

  • Dynamic callback support is coming soon! This will address one of the core limitations of Dash. We’ve discussed this limitation in the community forum’s topic Dynamic Controls and Dynamic Output Components, and we’re addressing it with our wildcard proposal. Play around with a prerelease in the Pull Request on GitHub.

  • We’re buckling down on stability and documentation updates over the next few months. Expect better datepickers, a download component, more documentation examples, improved slider components, client side callback recipes, and more.

  • Looking for a feature in particular? You can to write to me directly by responding to this email. If your organization has a software budget, you can also become a partner or license Dash Enterprise to help steer the roadmap.

On the commercial side of things

  • While a lot of our work is open source and MIT licensed, we also build and license a commercial product called Dash Enterprise. Learn more in our weekly live webinar (https://go.plot.ly/live-demo) or on our Dash Enterprise website.

  • Dash Enterprise 3.4.0 is coming out in the next few weeks. I’ll be giving a demo of its latest features on Feb 17th—the webinar is open to everyone, not just our customers. Sign up for the webinar.

In The Community

Have something to share? You can write to me directly by posting with the Show & Tell tag in the community forum

Staying Up to Date

IRL

Our calendar is filling up. If you’re at any of these events, let us know!

  • OODSC East - April 13-17 in Boston

  • PyCon 2020 - April 15-17 in Pittsburgh

  • Data Summit - May 19-20 in Boston

Keep it up everybody :heart:

chriddyp

5 Likes

Is there more information about these? Would love to go to a Dash meetup in London.