Convection-diffusion problems arise across a wide range of pure and applied research, in particular in geosciences, aerospace engineering, and financial modelling (for an overview of applications, see, e.g., section 1.1 in Morton (1996)). One of the key challenges in numerical solutions of problems involving advective transport is sign preservation of the advected field (for an overview of this and other aspects of numerical solutions to advection problems, see, e.g., Røed (2019)). The Multidimensional Positive Definite Advection Transport Algorithm (MPDATA) is a robust, explicit-in-time, and sign-preserving solver introduced in Smolarkiewicz (1983) and Smolarkiewicz (1984). MPDATA has been subsequently developed into a family of numerical schemes with numerous variants and solution procedures addressing a diverse set of problems in geophysical fluid dynamics and beyond. For reviews of MPDATA applications and variants, see, e.g., and Smolarkiewicz (2006).The PyMPDATA project introduced herein constitutes a high-performance and multi-threaded implementation of structured-mesh MPDATA in Python. PyMPDATA is aimed to address several aspects which steepen the learning curve and limit collaborative usage and development of existing C++ (e.g., Jaruga et al., 2015) and Fortran (e.g., Kühnlein et al., 2019) implementations of MPDATA. Performance on par with compiled-language implementations is targeted by employing just-in-time (JIT) compilation using Numba (Lam et al., 2015), which translates Python code into fast machine code using the Low Level Virtual Machine (LLVM, https://llvm.org/) compiler infrastructure (for a discussion of another JIT implementation of MPDATA using PyPy, see Arabas et al., 2014). PyMPDATA is engineered aiming at both performance and usability, the latter encompassing research user's, developer's and maintainer's perspectives. From researcher's perspective, PyMPDATA offers hassle-free installation on Linux, macOS, and Windows. It also eliminates the compilation stage from the perspective of the user. From developer's and maintainer's perspectives, PyMPDATA offers a suite of unit tests, multi-platform continuous integration setup, seamless integration with Python development tools including debuggers, profilers, and code analysers.