Skip to main content

Python’s Most Valuable Package: A March Madness Tourney for developers

· 3 min read
DALL·E prompt: A basketball player dribbling a basketball viewed from behind in the aisle of data center, Spider-Man_ Into the Spiderverse (2018)
Pete Goddard

March Madness is the marquee tournament for NCAA basketball teams. If you win, you’re the best.

The Python community deserves the same type of coronation: “What is Python’s Most Valuable Package (“MVP”)?”

Deephaven has set up a Python MVP Tournament to determine just that.

Click here to vote in the current bracket

Python continues to grow in popularity. Stack Overflow’s 2021 annual survey makes this crystal clear. The ubiquity of its open, third party packages is one of its prominent value propositions. PyPi, the dominant repository for these libraries, now has 386,000 packages. A year ago that number was 307,000; five years ago 96,000.

Running a tournament for hundreds of thousands of teams would be impossible. Further, simply looking at the number of downloads for each package feels more like checking “regular season records” in basketball. We want the action of the playoffs! We want to know which is the Most Valuable, not which is most-downloaded.

So, just like the NCAA’s, a panel of knowledgeable experts picked tournament teams – 32 Python packages to vie for the MVP title.

The Python community will determine the champion – voting for winners in head-to-head matchups across five rounds. Each will coincide with the timing of the basketball tournament, with a winning Python MVP announced on April 3rd.

As the Python community votes, people will wrestle with defining the word “valuable” in these games. Valuable to me? Valuable to my company? Valuable in the world of Python? It will be fun to interpret the community’s voting and try to ascribe a definition post facto.

The round-of-32 voting will complete on Tuesday, with winners moving on to the “Python Sweet 16”.

Who’s in, who’s out?

The selection group seems to have been influenced by the popularity of Python’s use in data science. Just as the Big Ten Conference had the most teams in the men’s hoops tourney, data science is well represented in this one. However, it deserves note that though scikit-learn made the tournament, other AI darlings (PyTorch, TensorFlow, keras) did not. Such controversy.

We’ll have to see if developers express love or utility in their voting. If passion drives voting, it will work to the advantage matplotlib (a Cinderella candidate if ever there was one) and against seeming heavyweights like pycparser.

The tourney #1 seeds are numpy, wheel, pip, and pandas. If they all make it to the Final Four, it will be interesting to watch the utility behemoths battle the data science cornerstones. Also, a pandas-versus-NumPy match would be fascinating viewing, since there is such a shared pedigree there.

Flask is an upstart that might be worth betting on. Its fans are vocal and passionate, so we’ll have to see if they show up in support of this web framework.

SciPy-vs-pluggy is the opening round game to watch. It casts a data science bulge bracket player against a heavily used app-dev framework. The result of this matchup may set the tone for the tournament.