This post is a while overdue, but it’s been a busy summer for everyone!

In June, several of us got together for the “annual” (well, we’ve had it twice now) Scientific Python developer summit in Seattle. Our friends at the eScience Institute were again kind enough to host us. This time around, we made the event a bit shorter to avoid clashing with graduation.

As before, the Developer Summits are for members of the community to come together, in person, so they can work. Of course, we work together already online, but the event allows us to focus our energies on cross-project concerns (that often fall by the wayside) with planning and intent.

This is why, before the summit, we have planning Zoom calls, where we identify topics of interest, which are turned into issues, which are then fleshed out and discussed prior to the event. That way, we hoped to hit the ground running—as we did!

Photo of the summit attendees, in front of a fountain on the University of Washington campus, with a volcano in the background

Our intrepid community developers, with Mt Rainier in the background

Topics#

You can get a rough idea of what we worked on by browsing the planning issues and the summit worklog.

Broad topics included SPECs, documentation, tools & bots, lectures, scipy.sparse, telemetry, Array API, and type annotation.

Documentation#

Documentation was a much more popular topic than anticipated!

SPECs#

The Scientific Python Ecosystem Coordination documents (SPECs) aim to improve coordination of technical development across the ecosystem.

Several new SPECs were started:

Some existing SPECs were discussed and improved:

Matplotlib endorsed several SPECs.

Tooling#

SciPy#

Several of the SciPy developers were present, and we used the opportunity to celebrate Dan Schult joining as a core developer 🎉! Matt and Pamphile did some work on the new distribution infrastructure, Dan worked on sparse (remotely with CJ), and a PR adding newly-supported const statements to Cython code got reviewed and merged. Eric isolated a non-deterministic bug in Sphinx that was impacting parallel builds of SciPy’s documentation. He found a work-around that had been eluding the team for months!

Unplanned collaborations#

As is the nature of these events, some collaborations arise spontaneously. For example:

  • Nick and Ariel explored using Awkward Array for neuro-tractography.
  • Nick and Mridul explored using scipp for high-energy physics data.
  • Guen worked on telemetry.
  • Inessa and Sanket discussed best practices for community surveys and project governance.
  • Sebastian and Thomas discussed parallelization APIs.
  • Inessa, with input from Tim and Thomas, finalized the design of the 2024 scikit-learn user survey.
  • Erik and Dan discussed index compression options for CSR-like N-D sparse arrays.

Conclusion#

Members of the team playing chess at Big Time Ale Brewery in Seattle

Nothing like a relaxing game of chess after a long day’s work

Numerous other PRs were made, of which a number were probably not even captured in the worklog. But, besides the inherent satisfaction of working together with this great group, the best feature of the summit was that we were able to hang out, bonding over our communal joys and struggles—both technical and personal.

We are grateful to the ecosystem developers who gave up their time to attend the summit (many had to put in leave just to do more work!). The summits are valuable, and translate to a lot of work getting done and decisions being made. We hope that there will be more on the horizon!