Orekit has introduced “units” as of 11.0, but I couldn’t quite find where it is used or what the future plans are for it. Will we be able to define units for PVCoordinates for example? Or will unit handling and conversion happen automatically in the background?
As an example, astropy or python package pint provide Quantity classes that do just that. I understand that there would be a speed penalty, but unit conversions are a common source of error and this may save quite some hassle in development.
Units are currently used mainly for input/output. They were introduced when refactoring CCSDS messages and are used when parsing or writing these messages.
They are also used in the ongoing refactoring of Rinex files handling (in the issue-1047 branch), but here it is less important since Rinex uses many SI units already (except Cartesian coordinates in some navigation messages were km and km/s are used).
Orekit has a policy to deal with SI units only internaly. There were some historical exceptions but we fix them when we found one hiding somewhere. So the units package is really intended to remain a way to support input/output only: it is a helper feature for conversions between internal SI units and data exchanges which are typically defined in ICD (Interface Control Documents) in space systems.