What’s new with NumFOCUS projects: May 2024

NumFOCUS
12 min readMay 30, 2024

--

A lot has happened since our last set of project updates. See all the recent updates below!

Sponsored Project Updates

Julia

JuliaCon 2024 is coming to the PSV Stadium in Eindhoven, Netherlands, between July 9th and 13th. It will be a day of workshops followed by three days of talks and poster presentations. The draft schedule of talks and workshops is now out. Tickets are still available; get yours today!

ITK

The Insight Toolkit (ITK) has introduced substantial enhancements in version 5.4 Release Candidate 4: ALL THE DICOMs, focusing on improved DICOM capabilities which are crucial for handling a wide range of medical imaging data. This update includes expanded support for various imaging modalities, particularly in processing and interpreting medical images, which is a significant step forward for ITK’s DICOM applications. With contributions from key community members and the implementation of modern C++ features, ITK continues to advance in usability and performance.

Key highlights from the ITK release:

  • Enhanced DICOM support with expanded modality features and crucial spatial metadata for Secondary Capture images.
  • Introduction of modern C++ support, enabling more efficient coding practices through features like structured bindings for multidimensional data.
  • Improved Python support through Stable ABI Python wheels, facilitating better compatibility and future-proofing for newer Python versions.
  • Encouragement for module developers to migrate to a scikit-build-core *pyproject.toml* file, enhancing the sustainability of ITK modules and support for mac ARM/Apple Silicon Python wheels.

The impact of spatial metadata handling on the NLM Visible Human cryomacrotome anatomic secondary capture images, available in the NIH Imaging Data Commons, when visualized in 3D Slicer.

Left: before ITK v5.4rc04, Right: after.

Screenshots courtesy of Steve Pieper.

Bokeh

The Bokeh Tutorial has been accepted for Scipy 2024. Details are https://cfp.scipy.org/2024/talk/JRLMLD/

mlpack

  • mlpack was accepted into Google Summer of Code 2024 and has selected 6 students from 68 competitive proposals.
  • mlpack won a NumFOCUS Small Development Grant to continue our work overhauling our documentation, creating application studies, and use case tutorials, and revamping our website.
  • Work is ongoing and making great progress to integrate Bandicoot, a GPU linear algebra library, into mlpack.

Dask

Dask Updates

Efficient joins for Dask DataFrame. Dask DataFrame avoids unnecessary data shuffling, an expensive operation, for merges and groupby aggregations for Dask >= 2024.4.2. See the release notes.

New Blog Posts

  • Example data pipeline with Prefect, Delta Lake, and Dask. Runnable example of a lightweight, scalable data pipeline that runs large Python jobs on a schedule. Read the blog post.
  • How does Dask compare to Spark? In the latest TPC-H benchmark results, Dask is often faster than PySpark both locally and when processing a 10 TB dataset on the cloud. Read the blog post.

Events

Watch last month’s recording for demos on:

Have something you’d like to share? Let us know.

New to Dask?

Check out our pre-recorded tutorials on using Dask DataFrames, parallelizing your Python code, plus more advanced use cases.

Spyder

The first beta of Spyder 6 was released, which adds support for automatically connecting to and running code on remote hosts and more robust lockfile-based updates with our installers, along with all the new features introduced in previous alphas.

PyBaMM

  • We held a training event at Oxford (UK) with over 50 attendees.
  • We have 3 slots for the upcoming GSoC
  • We got funding approved by The Faraday Institution to support the first PyBaMM conference. It will take place in the UK early next year, more details will follow in the next few weeks.
  • Our website has now been improved, with a better and more accessible theme.

MDAnalysis

MDAnalysis, together with the Molecular Sciences Software Institute is holding a free, 2-day workshop on June 24-25, 2024, at Arizona State University in Tempe, Arizona, USA.

This workshop is intended to transform attendees from users to developers and will cover an introduction to MDAnalysis, software best practices (version control with git and GitHub, testing with pytest, documentation), and guide participants through the creation of their own “MDAKit”, a fully-fledged installable Python package that makes the participant’s code easily shareable within the research group, with collaborators, or the whole scientific community.

Places are limited to 40 in-person participants; some sessions will be taught in hybrid mode.

A number of bursaries are available for travel and accommodation. Apply as part of registration.

The workshop is funded by the MolSSI (supported by the National Science Foundation), the Chan-Zuckerberg Initiative, and the Center for Biological Physics at Arizona State University.

TARDIS

We’re excited to announce that the TARDIS team will be mentoring three new Google Summer of Code 2024 students this summer-

  • Asish Kumar will be adding benchmarks to TARDIS.
  • Sumit Gupta will be working on the packet tracking framework which will allow us to better investigate and process TARDIS simulation data.
  • Sarthak Srivastava will implement the velocity packet tracker visualization tool, which will allow us to better understand the regions of the ejecta material that are most important for producing different SN features!

HoloViz

What is HoloViz? It is a suite of tools designed to simplify the process of creating interactive visualizations and dashboards, even for large and complex datasets.

Updates:

- Panel 1.4 was released in late March, followed by a few patch releases. Highlights include the addition of a dashboard builder interface that allows building a dashboard layout entirely using a drag-and-drop interface and the creation of tutorials. Check out the release blog post for more!

hvPlot 0.10 was released in early May. Check out the release blog post, which also highlights the features released in version 0.9, including integration with Polars, enhancements to the Explorer low-code interface, enhancements and documentation for large time series analysis, and an improved contributor experience.

Affiliated Project Updates

skforecast just released the new version 0.12.0

What’s new?

Dive into the full details: https://skforecast.org

Happy forecasting!

ObsPy

We just did a bugfix release for ObsPy a few days ago, corresponding info:

ObsPy 1.4.1 was released. Anyone can find more information here.

Join our mailing list

Check out our user forum: https://discourse.obspy.org/

Follow us on X: https://twitter.com/obspy

OPTUNA

Optuna v3.6 is out with a lot of new features! Check out the release blog for more information. New features include:

  • Wilcoxon pruner, a pruner based on Wilcoxon signed-rank test,
  • Native GP implementation, which supports mixed (with continuous, discrete, and categorical) search spaces and is faster than BoTorchSampler
  • PED-ANOVA importance evaluator is much quicker than the original f-ANOVA, and more.
  • We have migrated the entire `optuna.integration` module to `optuna-integration` package. Please run `pip install optuna-integration` if you encounter an `ImportError`.
  • We implemented a prototype of Rust version of Optuna. This significantly improves speed and is useful for building Optuna bindings for other languages, such as C++ and Typescript.
  • We are working on the next major release (Optuna v4). We plan to stabilize many experimental features, remove deprecated ones, and implement new functionality.

Visual Python

  • Visual Python is a GUI-based Python code generator developed on the Jupyter Lab, Jupyter Notebook, and Google Colab as an extension.
  • Visual Python is an open-source project started for students who struggle with coding during Python classes for data science.
  • If you would like to manage data with minimal coding skills, overcome learning barriers for Python, or eliminate repeated work using codes, try Visual Python.
  • Supported features: Basic data analysis / Data pre-processing / Visualization / Machine learning / Statistics

Updates and Future issues

New to Visual Python?

  • Visual Python is available on Jupyter Notebook, Jupyter Lab, and Colab. To get started, follow our instructions.
  • Visit Visual Python homepage: https://visualpython.ai
  • Are you not using any of them? Then, install our Visual Python Desktop. If you are a Windows user, you can just click Windows to try out Visual Python.

Crystal

The Crystal programming language is proud to announce the release of Crystal 1.12. The past two releases brought significant improvements, in particular, a great leap forward to supporting Windows. Also of relevance, we are working hard to improve the support for muli-threaded applications. Lastly, we have a new website! It includes great improvements in its visuals, accessibility, and access to information.

GNU Radio

  • GNU Radio saw release 3.10.10.0 on the 22nd of April, and it *is* quite exciting! It ships with the new, Qt-based GNU Radio Companion (run `gnuradio-companion — qt` to use it), which is slated to be our graphical signal processing flow graph design tool for years to come. Find the detailed release notes in the Changelog.md, on the Github release page here, or in Josh’s project update video!

Upcoming Events

  • The **European GNU Radio Days 2024** (EU GR days) take place in Darmstadt, Germany, from Aug. 27–30
  • Focus this year: GNU Radio 4.0, modern DSP development in C++
  • **GNU Radio Conference 2024** (GRCon’24) happens in Knoxville, Tennessee, USA, on Sept. 16–20
  • Around 300 to 350 in-person participants
  • Free main track online stream
  • Topics range from GNU Radio core development over applications to radio science
  • For information on both conferences, see https://events.gnuradio.org and the beginning of the project update video.

Calls for Participation

  • For GRCon’24 and the EU GR days, you can find the CfPs on https://events.gnuradio.org
  • GNU Radio is proud to partner with the International Amateur Radio Union to co-sponsor the Best Open-Source Experiment Award at the RADAR 2024 conference (Rennes, France). If you’re using FOSS tools (and seeing that you’re reading the NumFOCUS newsletter, you are!) and have done some interesting experiments involving Radar, MIMO, beamforming, and earth observation, your chances are good!

CVXPY

We released CVXPY 1.5, with many new features and other improvements:

  • Switched the default solver for LPs and SOCPs from ECOS to Clarabel.
  • Major updates to the documentation, adding a number of new sections to the User Guide and breaking up the monolithic Advanced features page
  • Added .curvatures containing all curvatures an expression is compatible with
  • Variable bounds can be specified with cp.Variable(bound=(lower, upper)) and are directly passed to the solver when helpful. lower and upper can be either a NumPy array or floating point number.
  • Constants can be named by writing cp.Constant(name=’…’)
  • Added a new atom, vdot, that has the same behavior as scalar_product
  • CVXPY runs in the next PyOdide release via wasm
  • Added or-tools 9.9 support
  • Major rewrite to the PDLP interface
  • Dropped MOSEK <= 9 support and upgraded the MOSEK integration code

Yellowbricks

Yellowbrick plans to resolve two open issues that we have regarding our Cook distance visualizer and to fix a bug with our classification report visualizer. We also plan to work on our open PRs and issues.

pvlib python

Dear NumFOCUS friends,

The pvlib python maintainers are happy to release v0.10.5. This release contains contributions from 9 people!

v0.10.5 is a bugfix release. Notably, it should be compatible with the upcoming numpy 2.0 release. It also drops support for Python 3.7. For the full list of what’s new, see the documentation: https://pvlib-python.readthedocs.io/en/stable/whatsnew.html

Google Summer of Code:

pvlib is proud to participate in GSoC under the NumFOCUS umbrella for the second time. This year pvlib will be mentoring three students, Echedey Luis Alvarez, Ioannis Sifnaios, and Rajiv Daxini under mentorship from maintainers Kevin Anderson and Adam R. Jensen. The students will contribute to a wide range of areas including spectral and electrical mismatch, shading, floating PV, and agrivoltaic irradiance models.

Releases are available from PyPI and the conda-forge channel:

Read the Documentation:

Report issues & contribute:

Thank you for using pvlib python!

Mesa

Mesa is pleased to announce the release of Mesa 2.3.0.

Release Overview:

Mesa 2.3.0 is a big feature release and the last feature release before 3.0.

There are two main new features:

The experimental cell-centric discrete spaces, added in #1994, allow cells with not only properties but also active behaviors: the CellAgent. It's inspired by NetLogo’s patches but extends and this concept further.

We now have full support for discrete event scheduling, as added in #2066. It allows scheduling events (like Agent actions) at any time, including non-integer timesteps.

There are many other features: The Jupyter visualization now supports an easier way to specify sliders, NetworkGrid.get_neighbors() supports a radius, AgentSet.get() can retrieve multiple attributes, and there are now benchmarks to track Mesa performance during development.

Finally, 2.3.0 stabilizes the AgentSet (including model.agents), making it the first experimental Mesa feature that is taken out of its experimental phase.

Three Google Summer of Code (GSoC) contributors will join Mesa in Summer 2024

We are humbled by the overwhelming response to our first year being selected for GSoC, with an impressive 51 submissions to Mesa. It was a challenging task to review so many well-written proposals and code contributions.

We are excited to announce that three contributors will join us through Google Summer of Code (GSoC) to advance three efforts for Mesa.

These efforts include increasing its performance and scalability, enabling better functionality and decision-making, and better integrating demand machine learning functionality of reinforcement learning into the Mesa ecosystem.

The individuals joining us and the projects they will be working on are listed below.

Adam Amer is working on mesa-frames: Vectorized Operations for Performance and Scalability.

Dong Jun is working on Cacheable Mesa.

Harsh Mahesheka is working on Mesa RL.

We eagerly anticipate sharing the progress and updates as development unfolds. We welcome and encourage all those who submitted proposals to stay involved with Mesa, we certainly wish we were allowed to accept more.

--

--

NumFOCUS

Our open source scientific software projects are changing the world. Learn more on our website: https://numfocus.org