Skip to main content

From 16 to 8 - Which Python packages made it through?

· 5 min read
DALL·E prompt: A basketball player dribbling a basketball viewed from behind in between data server racks, Spider-Man_ Into the Spiderverse (2018)
JJ Brosnan

If you have yet to participate in the Elite Eight round, don't forget to vote before you read this! Your favorite package is counting on you to help it advance and claim the title.

Click here to vote in the current bracket

Another round of close battles

Round 2 voting ended on Saturday, and the Elite 8 ends on Monday night (3/28). Let's recap:

  • numpy vs pytest
    • numpy showed why it's a #1 seed with this landslide victory over pytest. With 84% of the votes, numpy backs up its performance up once again. beautifulsoup is up next, which narrowly advanced through. numpy looks poised for another victory, but everyone loves an underdog. Don't sleep on beautifulsoup, which just beat one of my favorite modules.
  • scikit-learn vs beautifulsoup
    • This has been the closest matchup of the tournament thus far. With only a 2% margin of victory, beautifulsoup narrowly avoided elimination. I'm personally a huge fan of scikit-learn, so I'm sad to see it go. We feature SciKit-Learn in our real-time classification example of Deephaven's AI / ML library. I have a feeling it will come back next year and make a big splash. beautifulsoup has numpy next. It's a daunting challenge, but you can never sleep on the underdog.
  • pip vs websocket-client
    • In the most lopsided victory of the Sweet 16, pip is the cream of the crop in this contest thus far. With 89% of the votes, it beat out websocket-client handily. pip will next confront matplotlib, where it looks to extend its reign as the pre-eminent Python package. Will it have an 80%+ margin of victory again, or is matplotlib poised to graph its way to a stunning upset? If you're a fan, don't miss the vote!
  • matplotlib vs flask
    • matplotlib pulled out a victory with 55% of the votes. flask looked strong in Round 1, but sputtered in the Sweet 16. In the post-match interview, their head coach said the package looks to come back stronger than ever next year. Until then, matplotlib has pip to deal with. That's not going to be easy, as pip rivals numpy in its popularity thus far.
  • pandas vs scipy
    • pandas was dominant from beginning to end of this round. I love scipy and hate to see it go, but it went down valiantly. Going head-to-head with pandas is no easy task. Not only is pandas the predominant data storage package for Python, it also has an awesome name. Who doesn't love Panda bears? pandas takes on docker next, so how does data storage stack up against containerization? We'll find out by Monday night.
  • docker vs pyarrow
    • Containerization takes down Apache Arrow bindings in this matchup. docker has now taken down two strong opponents but has pandas next. It has yet to face an opponent of this magnitude. pyarrow got knocked out, but with its head held high. Deephaven's Python API relies on it, and it always delivers.
  • wheel vs pillow
    • pillow made a valiant effort, but came up short by only 9% of the votes. This was a good matchup from start to end. wheel won a gritty victory in Round 1. It's a worthy adversary, so there's no shame in this defeat. Up next, wheel takes on requests. Will wheel files beat out web scraping in the Elite 8? Make sure to vote!
  • requests vs sqlalchemy
    • SQL beat out JSON in round 1, but took on web scraping in the Sweet 16. Despite its best efforts, it faltered in a 60%-40% defeat. sqlalchemy still showed strong, having won in Round 1 with 75% of the votes. It exits the tournament with a +15% margin between the two games. This package has a lot to build on for next year, so look for it to come back stronger than ever. requests next takes on wheel. I've used both, and I'm not sure which to vote for. This looks to be the closest matchup of the Elite 8!

Looking ahead

With Round 3 voting ending Monday night, the tournament is fully underway, and we are inching closer to its conclusion. Looking first to the top half of the bracket, will numpy and pip continue to dominate, or is there an upset incoming? beautifulsoup and matplotlib have also shown out strong in the first two rounds, and can't be counted out. Still, they have their work cut out for them. On the bottom half, we have pandas going head-to-head with docker, and wheel taking on requests. pandas is a definite favorite, but the second matchup should be a close one. I'm excited to find out who makes it through, and I hope you are too!

This tournament is going by quickly, so don't forget to vote. Which package are you rooting for? Share your predictions with us on Twitter, Slack, or LinkedIn, and maybe talk a little smack. May the best module win!