Skip to content

2.0.0

Compare
Choose a tag to compare
@johannes-mueller johannes-mueller released this 22 Feb 16:02
· 256 commits to master since this release

What is new and what has changed in pyLife-2.0

The pyLife-2.0 release is planned for end of 2021. No promises, though. This
document lists changes and new features of pyLife-2.0.

General changes

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.

New features

Rainflow counting

The rainflow counting module has been vastly redesigned
in order to get more flexibility. New possibilities are:

  • Four point rainflow counting

  • 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.

Restructuring the code

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.

Changes that affect your code

  • Strength scattering is now stored as TS and TN, no longer by 1/TS and
    1/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 arguments obj
    and validator are no longer needed. obj is now accessible by
    self._obj. The methods of DataValidator are now accessible as methods of
    PylifeSignal directly.

  • Signal accessor class names are no longer suffixed with Accessor

  • The PyLifeSignal is promoted to the toplevel of the pylife package. That
    means that you have to change

    from 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 but cycles.

  • The names of the functions scatteringRange2std and std2scatteringRange
    have been adjusted to the naming conventions and are now
    scattering_range_to_std and std_to_scattering_range.

  • The accessor class CyclicStress with the accessor cyclic_stress is gone.
    Use pylife.LoadCollective instead.

Variable names

Currently we are brainstorming on guidelines about variable names. See the
article in the docs about it. It will be
continuously updated.