Releases: eddyyxxyy/ToTemp
The package is done!
Happy to announce that my first package is officially completed!
Special thanks to my fellow @davilos and @lok0zzz for all the support, this project wouldn't be real without them. And, thanks to @daniil-berg we could implement it the way we wanted too, Daniil showed us how to proper implement the base class!
Now, we have docs: https://totemp.readthedocs.io/en/latest/
- 0.5.1:
-
The implementation has been completely refactored:
1 - All classes inhehits from
AbstractTemperature
(our new abstract Base Class);2 - All classes now available:
Celsius
;Fahrenheit
;Delisle
;Kelvin
;- (*New)
Newton
; - (*New)
Rankine
; - (*New)
Réaumur
; - (*New)
Rømer
.
3 - New features:
- The majority of Python's built-in functions works with the instances;
- More pythonic properties and methods implementations;
- Arithmetic operations;
- Comparision operations;
convert_to()
method;
4 - Removals:
precise()
method;float_ret()
param;- differentiating int/float;
5 - Known problemns:
pow()
doesn't work as intended;
-
Kelvin and Delisle conversions to other temperature scales
Changelog
#6 Update to v0.4.0
- v0.4.0:
- There are two new Classes, Kelvin (@davilos made it) and Delisle, functional and ready-to-use.
Usage
First of all, install the package:
pip install totemp
or, to have an example in poetry environments:
poetry add --group dev totemp
Then, just use it:
In these examples, you can observe the methods working with all
available Classes in this package
# Import Celsius class
from totemp import Celsius
temperature = Celsius.to_fahrenheit(35)
print(temperature) # 95.0 -> float
temperature = Celsius.to_fahrenheit(35, float_ret=False)
print(temperature) # 95 -> int
# Import Fahrenheit class
from totemp import Fahrenheit
temperature = Fahrenheit.to_newton(18.746)
print(temperature) # -2.4299000000000004 -> float
temperature = Fahrenheit.to_newton(18.746, float_ret=False)
print(temperature) # -2 -> int
# Import Delisle class
from totemp import Delisle
temperature = Delisle.to_romer(37263.271)
print(temperature) # -12982.14485 -> float
temperature = Delisle.to_romer(37263.271, float_ret=False)
print(temperature) # -12982 -> int
# Import Kelvin class
from totemp import Kelvin
temperature = Kelvin.to_reaumur(44.28137746)
print(temperature) # -183.094898032 -> float
temperature = Kelvin.to_reaumur(44.28137746, float_ret=False)
print(temperature) # -183 -> int
# Import all classes
import totemp as tp
temperature = tp.Celsius.to_delisle(345.797)
print(temperature) # -368.69550000000004 -> float
temperature = tp.Celsius.to_delisle(345.797, float_ret=False)
print(temperature) # -368 -> int
temperature = tp.Fahrenheit.to_rankine(500)
print(temperature) # 959.6700000000001 -> float
temperature = tp.Fahrenheit.to_rankine(500, float_ret=False)
print(temperature) # 959 -> int
temperature = tp.Delisle.to_kelvin(12.5887)
print(temperature) # 364.7575333333333 -> float
temperature = tp.Delisle.to_kelvin(12.5887, float_ret=False)
print(temperature) # 364 -> int
temperature = tp.Kelvin.to_romer(44.28137746)
print(temperature) # -112.6560268335 -> float
temperature = tp.Kelvin.to_reaumur(44.28137746, float_ret=False)
print(temperature) # -112 -> int
Note that all returns are float values if you don't specify "float_ret"
parameter as False, which is True by default and that applies to all methods.
All methods have two parameters, the value (which is positional-only)
and the return type (which is <float_ret>, that is by default True to return float
values and keyword-only)
Updates methods implementations and adds Fahrenheit convertions
- 0.3.0:
- Changed methods implementations and adds Fahrenheit conversions;
- <scale_value> parameter is now positional-only;
- Adds new paramater -> float_ret -> Float Return (True by default, keyword-only);
- Celsius class methods were updated and enhanced;
- Can now convert Fahrenheit to Celsius, Delisle, Kelvin, Newton, Rankine, Réaumur and Rømer.
- Changed methods implementations and adds Fahrenheit conversions;
# Import Celcius class
from totemp import Celsius
temperature = Celsius.to_fahrenheit(35)
print(temperature) # 95.0 -> float
temperature = Celsius.to_fahrenheit(35, float_ret=False)
print(temperature) # 95 -> int
# Import Fahrenheit class
from totemp import Fahrenheit
temperature = Fahrenheit.to_newton(18.746)
print(temperature) # -2.4299000000000004 -> float
temperature = Fahrenheit.to_newton(18.746, float_ret=False)
print(temperature) # -2 -> int
# Import all classes (not recommended)
from totemp import *
temperature = Celsius.to_delisle(345.797)
print(temperature) # -368.69550000000004 -> float
temperature = Celsius.to_delisle(345.797, float_ret=False)
print(temperature) # -368 -> int
temperature = Fahrenheit.to_rankine(500)
print(temperature) # 959.6700000000001 -> float
temperature = Fahrenheit.to_rankine(500, float_ret=False)
print(temperature) # 959 -> int
Note that all returns are float values if you dont specify "float_ret"
parameter as False, which is True by default and that applies to all methods.
All methods have two parameters, the value (which is positional-only)
and the return type (which is <float_ret>, that is by default True to return float
values and keyword-only)
Celsius convertion to other temperature scales
Can convert Celsius to Delisle, Fahrenheit, Kelvin, Newton, Rankine, Réaumur and Rømer.
In these two examples, we want to know the equivalent in Fahrenheit of 35º Celsius and 18.746º Celsius to Newton.
from totemp import Celsius
temperature = Celsius.to_fahrenheit(35) # Return: 95.0
from totemp import Celsius
temperature = Celsius.to_newton(18.746) # Return: 6.186179999999999