Submit New Event

Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.

Submit News Feature

Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.

Contribute a Blog

Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.

Sign up for Newsletter

Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.
Nov 29, 2018

Dask Version 1.0

By

We are pleased to announce the release of Dask version 1.0.0!

Usually in release blogposts we outline important features and changes sincethe last major version. Because of the 1.0 version number, this post will be abit different. Instead we’ll talk about what this version number means to us,and discuss the broader context of Dask projects more generally.

What 1.0 means to us

Version 1.0 software means different things to different groups.In some communities it might mean …

  • The first version of a package
  • When a package is first ready for production use
  • When a package has reached API stability

It is common in the PyData ecosystem to wait a long time before releasing aversion 1.0. For example neither Pandas nor Scikit-Learn, arguably two of themost well used PyData packages in production, have yet declared a 1.0 versionnumber (today they are at versions 0.23 and 0.20 respectively). And yet eachpackage is widely used in production by organizations that demand high degreesof stability.

Dask is not as API-stable as Pandas or Scikit-Learn, but it’s pretty close.The project rarely invents new APIs, instead preferring to implementpre-existing APIs (like the NumPy/Pandas/Scikit-Learn APIs) or standard languageprotocols (like async-await, concurrent.futures, Queues, Locks, and so on).Additionally, Dask is well used in production today across sectors ranging fromrisk-tolerant industries like startups and quantitative finance shops, torisk-averse institutions like banks, large enterprises, and governments.

When we say that Dask has reached 1.0 we mean that it is ready to be used inproduction. We are late in saying this. This happened a long time ago.

Development will continue as before

Dask is living software that exists in a rapidly evolving space. Nothing ischanging about our internal stability practices. We will continue to add newfeatures, deprecate old ones, and fix bugs with the same policies. We alwaystry to minimize negative effects on users when making these internal changeswhile maximizing the speed at which we can deliver new bugfixes and features.This is hard and requires care, but we believe that we’ve done this decently inthe past so hopefully you haven’t noticed much. We will continue to operatethe same way into the future.

The 1.0 version change does not affect our development cycle.There are no LTS versions beyond what we already provide.

Different Dask packages move at different speeds

Dask is able to evolve and experiment rapidly while maintaining a stable corebecause it is split into sub-packages, each of which evolves independently, hasits own maintainers, its own versions, and its own release cycle. Some Dasksubprojects have had versions above 1.0 for a long time, while others are stillunstable.

Dask’s version number is hard to define today because it is composed of somany independent efforts by different groups. This is similar to situation inJupyter, or in the Numeric Python ecosystem itself.

Thanks

Finally, we’re grateful to everyone who has contributed to the project over theyears, either by contributing code, reviews, documentation, discussion, bugreports, well written questions and answers, visual designs, and well wishes.This means a lot to us.

Today there are dozens of dask-* packages onPyPI that support thousands of users andseveral more that incorporate Dask for parallelism. We’re thankful to play arole in such a vibrant community.