The Pint package provides a wrapper class for numerical types that adds unit metadata to the type. This wrapper type implements all the standard arithmetic operations and keeps track of the units throughout these calculations. For example, when we divide a length unit by a time unit, we will get a speed unit. This means that you can use Pint to make sure the units are correct after a complex calculation.
The UnitRegistry object keeps track of all the units that are present in the session and handles things such as conversion between different unit types. It also maintains a reference system of measurements, which in this recipe is the standard international system with meters, kilograms, and seconds as base units, denoted mks.
The wrap functionality allows us to declare the input and output units of a routine, which allows Pint to do automatic unit conversions for the input function – in this recipe, we converted from minutes into seconds...