# How to convert Celsius/Fahrenheit/Kelvin temperatures in Python using UliEngineering

In this example, we’ll use the UliEngineering library to convert between the three most commonly used units of temperature: Celsius (`°C`), Fahrenheit (`°F`) and Kelvin (`K`)

In order to install UliEngineering (a Python 3 library) run:

`sudo pip3 install -U UliEngineering`

We can now use the following functions from the `UliEngineering.Physics.Temperature` package to convert between the units of temperature`:`

• `celsius_to_kelvin(temperature)`
• `kelvin_to_celsius(temperature)`
• `fahrenheit_to_kelvin(temperature)`
• `fahrenheit_to_celsius(temperature)`

Tip: You can pass both numbers (like `120`) or strings (like `120 °C` or `0.01 °F`) to most UliEngineering functions. SI prefixes like `k` and `m` are automatically decoded.

#### Example:

```from UliEngineering.EngineerIO import auto_print
from UliEngineering.Physics.Temperature import *

# Convert to celsius and store in variable
temp = fahrenheit_to_celsius("120 °F") # temp = 48.88888888888897

# Automatically format value & print. Prints "48.9 °C"
auto_print(fahrenheit_to_celsius, "120 °F")```

Additionally, UliEngineering provides `normalize_temperature_celsius(temp, default_unit="°C")` which takes a string and automatically recognizes the unit (if there is no unit given, the `default_unit` is assumed).

#### Examples:

• `normalize_temperature_celsius("120 °C") == 120.0`
• `normalize_temperature_celsius("120") == 120.0`
• `normalize_temperature_celsius(120) == 120.0`
• `normalize_temperature_celsius("120 °F") == 48.88888888888897`
• `normalize_temperature_celsius("120 K") == -153.14999999999998`
• ` auto_print(normalize_temperature_celsius, "120 K")` prints `-153.15 °C`

Note that while `°K` is recognized by UliEngineering‘s functions, `K` is correctly used without a degree symbol.

Also there is `normalize_temperature(temp, default_unit="°C")` which is equivalent to `normalize_temperature_celsius()` except it returns the temperature in Kelvin instead of degrees Celsius. 