parafields` is a Python package that provides Gaussian random fields based on circulant embedding. Core features are:
* Large variety of covariance functions: exponential, Gaussian, Matérn, spherical and cubic covariance functions, among others
* Generation of distributed fields using domain decomposition and MPI through mpi4py
* Uses numpy data structures to ease integration with the Python ecosystem of scientific software
* Optional caching of matrix-vector products
* Easy integration into e.g. [FEniCSx-based](https://fenicsproject.org/) PDE solvers ([Example that is currently not tested as part of our CI](https://github.com/parafields/parafields/blob/main/jupyter/fenicsx.ipynb))
`parafields` implements these features through Python bindings to the [parafields-core C++ library](https://github.com/parafields/parafields-core).