  We introduce PyVRP, a Python package that implements hybrid genetic search in
a state-of-the-art vehicle routing problem (VRP) solver. The package is
designed for the VRP with time windows (VRPTW), but can be easily extended to
support other VRP variants. PyVRP combines the flexibility of Python with the
performance of C++, by implementing (only) performance critical parts of the
algorithm in C++, while being fully customisable at the Python level. PyVRP is
a polished implementation of the algorithm that ranked 1st in the 2021 DIMACS
VRPTW challenge and, after improvements, ranked 1st on the static variant of
the EURO meets NeurIPS 2022 vehicle routing competition. The code follows good
software engineering practices, and is well-documented and unit tested. PyVRP
is freely available under the liberal MIT license. Through numerical
experiments we show that PyVRP achieves state-of-the-art results on the VRPTW
and capacitated VRP. We hope that PyVRP enables researchers and practitioners
to easily and quickly build on a state-of-the-art VRP solver.
