ArviZ 1.0 release

We have been refactoring ArviZ to improve modularity and flexibility, while preserving a user-friendly interface that works well with minimal input. Following this effort, we have recently released ArviZ 1.0.

Modular structure

ArviZ is now composed of three smaller libraries:

  • arviz-base: data structures and converters from different PPLs

  • arviz-stats: statistical functions and diagnostics

  • arviz-plots: visualization built on top of arviz-base and arviz-stats

All functionality remains accessible through the main arviz namespace, and this is the recommended way to use ArviZ for most users. However, the modular structure allows accommodating a wider range of use cases and users. For instance, a developer may prefer to use arviz-stats via the array interface, with minimal dependencies (NumPy and SciPy) and minimal assumptions baked in. In contrast, an end user may prefer to use arviz-stats via the xarray interface following the InferenceData schema.

Plotting improvements

We have significantly redesigned the plotting API:

  • Simplified backend integration (Matplotlib, Bokeh, Plotly)

  • Reduced backend-specific code, making it easier to extend and maintain

  • More flexible API for different user needs (casual users, power users, developers)

  • Expanded set of batteries-included plots for common Bayesian workflow tasks. For example, we now have more specialized plots for predictive checking, new plots for prior/likelihood sensitivity analysis, and more. Check the gallery for an overview.

Documentation and learning resources

We have also improved the accessibility of documentation, especially for newcomers. In addition to expanded examples, we introduced Exploratory Analysis of Bayesian Models , which demonstrates how to use ArviZ in context.

For more details on design principles and motivation, see the new paper Journal of Open Source Software: ArviZ: a modular and flexible library for exploratory analysis of Bayesian models .

If you are already an ArviZ user, the ArviZ migration guide — ArviZ dev documentation offers help with the transition to the new version.

Compatibility with the PyMC ecosystem

As the new version of ArviZ introduces some breaking changes, we are working on adapting PyMC and other tools in the ecosystem to fully work with it.

2 Likes