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
TSandTN, no longer by1/TSand1/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 argumentsobjandvalidatorare no longer needed.objis now accessible byself._obj. The methods ofDataValidatorare now accessible as methods ofPylifeSignaldirectly. -
Signal accessor class names are no longer suffixed with
Accessor -
The
PyLifeSignalis promoted to the toplevel of thepylifepackage. 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
frequencybutcycles. -
The names of the functions
scatteringRange2stdandstd2scatteringRangehave been adjusted to the naming conventions and are nowscattering_range_to_stdandstd_to_scattering_range. -
The accessor class
CyclicStresswith the accessorcyclic_stressis gone. Usepylife.LoadCollectiveinstead.
Currently we are brainstorming on guidelines about variable names. See the article in the docs about it. It will be continuously updated.