This seems more like a physics question than a mathematics question. The way that I learned this (in physics class) was $$5^\circ \text{F} - 5^\circ \text{F} = 0 \text{F}^\circ$$Meaning that the difference between two temperatures measured in Fahrenheit such that both are 5 is zero degrees of Fahrenheit. Note that the degree symbol moves. That's how we know that the first two numbers are temperatures and the third number is a temperature difference.
We could also have $$5^\circ \text{F} - 0 \text{F}^\circ = 5^\circ \text{F}$$That means that changing a temperature by zero degrees results in the same temperature. Or $$5 \text{F}^\circ + 5 \text{F}^\circ = 10 \text{F}^\circ$$
What we can't do, is say $$\color{red} {5^\circ \text{F} - 5^\circ \text{F} = 0^\circ \text{F}}$$That's just nonsense. When you subtract two temperatures, you don't get a temperature but a temperature difference. Also $$\color{red}{5^\circ \text{F} + 5^\circ \text{F} = 10^\circ \text{F}}$$Again nonsense. You can't meaningfully add temperatures. I don't know what units that would produce, but it is neither a temperature nor a temperature difference.
It's a bit confusing, as the only difference in the units is the position of the degree symbol. Degrees Fahrenheit is a temperature while Fahrenheit degrees is a temperature difference. This also works for Celsius and Rankine. My book when I learned it was old enough that it used the same thing for Kelvin, but that hasn't been true since 1968 (so I learned it incorrectly and will not try to explain the correct notation for a temperature difference in the Kelvin scale).
I also would try to avoid mixing Kelvin and Fahrenheit. Either use Rankine and Fahrenheit or Kelvin and Celsius. Convert whichever is necessary. Because $$275 \text{K} - 1 \text{C}^\circ = 274 \text{K}$$but $$275 \text{K} - 1 \text{F}^\circ = 274.\overline{4} \text{K}$$But if we adjust for significant digits, that would be $$274\text{K}$$ The same as $$275 \text{K} - 2 \text{F}^\circ = 273.\overline{8} \text{K} \approx 274\text{K}$$It would be less bad to mix Rankine temperatures and Celsius differences (as Celsius degrees are larger than Rankine degrees), but of no purpose. Anyone who knows what the Rankine scale is also knows Kelvin.
In terms of your library, I think that you need at least three separate functions. One should allow addition of a temperature and temperature difference (which can be negative) and produce a temperature as the result. The second should subtract two temperatures and produce a temperature difference as the result. The last should allow the addition of temperature differences and result in a temperature difference. You might also implement temperature difference subtraction and statistical operations on temperatures (which would take a list of temperatures and produce a temperature statistic). Note that some statistics won't have meaningful units (e.g. variance) while others will (mean, median, standard deviation, etc.).
It might be easier to write this library with strong types. I'm not sure how difficult that is in Python. You want it to treat adding two temperatures like it would adding a number and a string, as an error condition. Meanwhile, adding a temperature difference is fine. Or subtracting two temperatures, although weirdly that would change the type.