Use `argparse`. Note that all of your conversions are linear in one dimension. That means that you don't need two lambdas per conversion: just store a coefficient and offset from Kelvin for each temperature unit. `names` should be a `set`. Instead of `dataclass`, `NamedTuple` is a simpler alternative that is still frozen. Later on I'll post example code demonstrating the above.