EasyModelAnalysis.jl
High level functions for analyzing the output of simulations
EasyModelAnalysis.jl offers one line queries over differential equation models
EasyModelAnalysis.jl is a SciML package that answers questions about simulation output through simple queries over defined models.
What the package does
EasyModelAnalysis.jl is a Julia package from the SciML ecosystem that aims to make analysis of simulation output easy. The README opens with a plain statement of intent: the package does exactly what its name suggests. Instead of writing a custom solver loop and post processing script for every question, a user poses the question as a one line query over a SciML defined differential equation model. The examples given in the README include asking for the first time the number of infected individuals reaches about 1000, asking for the probability that more than 50 people are infected given probability distributions for the parameters, identifying which variables are most sensitive, and finding the parameters that best fit the model to data. All of these are described as one line queries. The framing is that model analysis, which is often a tedious step after the solver finishes, becomes a small declarative call. The package targets people who already build models with the SciML tools such as DifferentialEquations and ModelingToolkit, and it sits on top of those definitions rather than replacing them. The README does not claim performance numbers or benchmarks, and it does not present the package as a general statistics library. It is positioned specifically as a convenience layer for the kinds of what if and when does questions that arise when inspecting the results of a simulation.
How a query looks in code
The README shows a quick demonstration that builds a model with DifferentialEquations, EasyModelAnalysis, ModelingToolkit, and Plots. It defines parameters and variables for a small system, uses ModelingToolkit to declare an ODESystem, calls structural_simplify, and then sets up an ODEProblem with initial conditions, parameters, and a time span. On that problem the demonstration calls phaseplot_extrema and plot_extrema with a selected variable. These calls illustrate the analysis style: the user hands the solved or solvable problem to an EasyModelAnalysis function together with the variable of interest, and the package returns the extrema information that the plotting helpers then render. The snippet is short and stays within the normal SciML import and modeling flow, so adopting the package does not require learning a separate modeling language. The README points readers to the stable documentation for full usage detail and to the in development documentation for unreleased features, which tells contributors and early adopters where to look for changes that have not shipped to the stable channel yet. Because the demonstration relies on Plots, the visualization step depends on that plotting ecosystem, while the analysis functions themselves work on the problem object. The package therefore fits into an existing Julia modeling notebook or script with a small set of additional imports and function calls.
Project context and support
EasyModelAnalysis.jl carries the standard badges of a maintained SciML package. The README shows a Zulip chat link into the SciML bridged stream for questions, a documentation badge pointing at the stable docs site, and code coverage plus build status badges from codecov and GitHub Actions. It also displays the ColPrac contributor guide badge and the SciML code style badge, which signal that the project follows the collaborative practices and formatting rules used across the SciML organization. With 87 stars recorded in the metadata, the package is a smaller member of the ecosystem rather than a mass adopted library, but it is part of a well known and actively developed collection of Julia scientific computing tools. The README does not list a version number or a release cadence, and it does not enumerate every supported analysis function. It directs users to the documentation for the complete reference. The presence of both stable and in development documentation links indicates that the API can change between releases and that some features described in the development docs may not yet be in the published stable version. For a researcher building differential equation models in Julia, the package offers a thin, readable layer over the solver output without asking them to leave the SciML stack they already use.
Editorial conclusion
The package is distributed under the MIT license and its most recent commit was on 2026-08-26.
Community notes