This document lists changes and new features of pyLife-2.0.
In pyLife-1.x the individual modules often where not playing together really well, sometimes we had even the same concept multiple times. For the pyLife-2.0 release we aim to improve that. The concept of the accessor classes will be used more extensively.
The rainflow counting module has been vastly redesigned in order to get more flexibility. New possibilities are:
-
Recording of the hysteresis loop information is in a separate class to allow the recording in a customized way.
See docs of the rainflow counting module for details.
We are now using PyScaffold to handle the packaging
files. That's why we have restructured the code base. Basically the only
notable things that have changed is that all the code has been moved from
pylife
to src/pylife
and the documentation has been moved from doc/source
to docs
. Both are the common locations for Python 3.x packages.
-
Strength scattering is now stored as
TS
andTN
, no longer by1/TS
and1/TN
. This only concerns the naming, the underlying values are still the same. With this we are following the newer conventions in DIN 50100:2016-12. -
self._validate()
is no longer called with arguments. The argumentsobj
andvalidator
are no longer needed.obj
is now accessible byself._obj
. The methods ofDataValidator
are now accessible as methods ofPylifeSignal
directly. -
Signal accessor class names are no longer suffixed with
Accessor
-
The
PyLifeSignal
is promoted to the toplevel of thepylife
package. That means that you have to changefrom pylife import signal ... class Foo(signal.PylifeSignal): ...
to
from pylife import PylifeSignal ... class Foo(PylifeSignal): ...
-
The name of a rainflow matrix series is no longer
frequency
butcycles
. -
The names of the functions
scatteringRange2std
andstd2scatteringRange
have been adjusted to the naming conventions and are nowscattering_range_to_std
andstd_to_scattering_range
. -
The accessor class
CyclicStress
with the accessorcyclic_stress
is gone. Usepylife.LoadCollective
instead.
Currently we are brainstorming on guidelines about variable names. See the article in the docs about it. It will be continuously updated.