  Structural Equation Modeling (SEM) is an umbrella term that includes numerous
multivariate statistical techniques that are employed throughout a plethora of
research areas, ranging from social to natural sciences. Until recently, SEM
software was either commercial or restricted to niche languages, and the lack
of SEM packages compatible with more mainstream programming languages was dire.
To combat that, we introduced a Python package semopy 1 that surpassed other
state-of-the-art software in terms of performance and estimation accuracy. Yet,
it was lacking in functionality and its usage was burdened with unnecessary
boilerplate code. Here, we introduce a complete overhaul of semopy that
improves upon the previous results and comes with lots of new capabilities.
Furthermore, we propose a novel SEM model that combines in itself a notion of
random effects from linear mixed models (LMMs) to model numerous phenomena,
such as spatial data, time series or population stratification in genetics.
