All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Reimplemented
si-units
Python package independent ofquantity
crate in and more "pythonic" fashion. #63 - Reimplemented
quantity
to compile-time checked units using thetypenum
crate. #64 - Hide non-essential dependencies behind features
ndarray
,approx
,num-dual
,python
,python_numpy
. #70 - Implemented angles based on the
Quantity
struct rather than theang
crate. #72
- Added basic support for the combination of structs in the
num-dual
crate with units. #66
- Update
pyo3
andnumpy
dependencies to 0.22. #65
- Updated
pyo3
andnumpy
dependencies to 0.21 and adjusted to the newBound
API.
- Updated
pyo3
andnumpy
dependencies to 0.20. - Updated
approx
dependency to 0.5.
- Added new functions
SIUnit::from_raw_parts
andSIUnit::into_raw_parts
. #55
- Fixed workflow for Apple universal2 wheels. #55
- Added new functions
Quantity::from_raw_parts
andQuantity::into_raw_parts
for SI quantities. #54
- Added the new SI unit prefixes
QUECTO
,RONTO
,RONNA
, andQUETTA
. #49
- Updated
pyo3
andnumpy
dependencies to 0.18. #52
- Added implementations of
IntoIterator
for everyQuantity
with iteratable inner types. #48 - Implemented
FromIterator
forQuantityArray1
, enabling the use ofcollect()
for quantity arrays. #48
- Updated
pyo3
andnumpy
dependencies to 0.16. - Updated
ang
dependency to 0.6.
- Added implementations of
__getstate__
and__setstate__
functions forPySINumber
andPySIArrayX
to allow pickling of python objects. #43
- Formatted output for
SINumber
s shows the correct number of decimal places again. #42 - Fixed representation of
SINumbers
s with zero value. #42
QuantityScalar1<U>::from_vec
as a simple way to convert vectors of scalar quantities toQuantityArray
s. #40- Added constructor for
PySIArray1
that acceptsSINumber
, a list ofSINumber
s provided they have the same unit, andPySIArray1
itself. #40
- Removed the
solve
function ofQuantityArray2
to avoid a dependency on external libraries (BLAS, LAPACK). #41
- Updated
pyo3
andnumpy
dependencies to 0.15.
- Added
J/kg/K
to the list of SI unit symbols. #37 - Divide
SINumber
s andSIArray
s byCELSIUS
. Panics if the quantity is not a temperature. #36 - Additional unit
DEBYE
. Can only be used together with SI units by squaring it first. #38
- Index into
PySIArray1
(get values, set values and iterate over all values). #28 - Implement rich comparison operators (
==
,!=
,<
,<=
,>
,>=
) in python. #27 - Added additional arithmetic operations. #26
PySINumber
+PySIArrayX
,PySINumber
-PySIArrayX
,PySINumber
/PySIArrayX
PySIArrayX
+PySINumber
,PySIArrayX
-PySINumber
abs(PySINumber)
- The standalone Python package is renamed to
si_units
to avoid a name conflict on PyPI and to better reflect its content. #31
- Comparisons (
PartialOrd
andPartialEq
) ofQuantity
s now panic if they do not have the same unit. #27 - Changed the order of the type inference in the arithmetic operations to check for scalars first. #26
- Fix the formatting of
SINumber
s with negative values. #24 - Correctly return a
np.ndarray
in multiplications of scalars with arrays in which the units cancel out. #26
- Added
PyAngle:From<Angle>
andAngle:From<PyAngle>
. #21 - Added
PySIArrayX:Deref<Target=SIArrayX>
to automatically convert between&PySIArrayX
and&SIArrayX
. #21
- Renamed module
pyquantity
topython
. #19 - Replaced all Python wrapper structs with tuple structs. #19
- Made the fields of the tuple structs
pub(crate)
. #21 - Made
PySINumber
,PyAngle
andPyCelsius
Copy
. #21 - Improved float and latex representations of some SI quantities. #20
- Updated
ndarray
dependency to 0.15. - Updated
ang
dependency to 0.4. - Updated
regex
dependency to 1.5. - Updated
ndarray-linalg
dependency to 0.13. - Updated
pyo3
dependency to 0.14.
- Constant
CELSIUS
, that can be used for simple temperature conversions, mirrored in python. #17
- Removed enclosing
$
fromto_latex
functions in rust. #16