  Identifying a reduced set of collective variables is critical for
understanding atomistic simulations and accelerating them through enhanced
sampling techniques. Recently, several methods have been proposed to learn
these variables directly from atomistic data. Depending on the type of data
available, the learning process can be framed as dimensionality reduction,
classification of metastable states or identification of slow modes. Here we
present $\texttt{mlcolvar}$, a Python library that simplifies the construction
of these variables and their use in the context of enhanced sampling through a
contributed interface to the PLUMED software. The library is organized
modularly to facilitate the extension and cross-contamination of these
methodologies. In this spirit, we developed a general multi-task learning
framework in which multiple objective functions and data from different
simulations can be combined to improve the collective variables. The library's
versatility is demonstrated through simple examples that are prototypical of
realistic scenarios.
