Skip to content

Releases: sdepy/sdepy

SdePy 1.2.0

23 Aug 12:33
eb5a546
Compare
Choose a tag to compare

New in this release

SdePy was upgraded to the current NumPy pseudo-random numbers generation
framework, based on the PCG-64 algorithm (#33, #35, #38, #40).
The following additions were made:

  • SDEs and stochasticity source classes now accept upon instantiation
    a new optional parameter rng, to locally set the
    random number generator used by each instance.
    Such rng is expected to expose the interface
    used by numpy.random.Generator and numpy.random.RandomState
    instances.

  • In case no rng parameter is given, random number generation
    is delegated to a global numpy.random.default_rng() object,
    created upon import: absent any user intervention,
    unmodified pre-existing code will rely on PCG-64
    random number generation after upgrading to current
    NumPy and SdePy releases.

  • To access the stably reproducible NumPy legacy random generation,
    it is recommended to instantiate sources and SDEs with the
    rng=numpy.random.RandomState(SEED) parameter. As a result,
    each object is served the random numbers stream formerly obtained
    from the global NumPy random state after a numpy.random.seed(SEED)
    call.

  • Compatibility with legacy NumPy versions was maintained, if now deprecated:
    in such case, SdePy silently falls back on the legacy global NumPy random state.

The present SdePy version safeguards functional compatibility with
code written for previous versions, note however that, if such code is run
with current NumPy and SdePy versions, it will
break pseudo-random numbers reproducibility:

  • numpy.random.seed calls no longer affect SdePy objects.

  • To reproduce the default output of former SdePy versions,
    numpy.random.seed(SEED) statements may be replaced
    with the following assignment:

     sdepy.infrastructure.default_rng = numpy.random.RandomState(SEED)
    

    Any other use of such global variable should rather be avoided,
    in favor of the rng keyword.

Improvements

The testing suite was updated, and its interface sdepy.test() extended,
for use beyond NumPy legacy random generation;
GitHub Actions were updated accordingly, to perform CI tests using
both legacy and current NumPy random generation (#36, #37).

Changes

Python 3.5 is no longer supported (#39, #41).

Checksums

MD5

31a9dc7d4233ac3ec6fa910e81f370f6  sdepy-1.2.0-py3-none-any.whl
bb5c233606eb69a77e6ed9397d8732b8  sdepy-1.2.0.tar.gz

SdePy 1.1.2

16 Jan 12:32
b8f93fc
Compare
Choose a tag to compare

This is a maintenance release.

New in this release

  • Python 3.9 is now supported, and Python 3.5 is deprecated (#29).
  • The CI framework was migrated from Travis CI to GitHub Actions (#27).
  • Updates were made to the project setup and scripts (#26, #28).

SdePy 1.1.1

08 May 11:50
b28c9f6
Compare
Choose a tag to compare

This is a maintenance release.

New in this release

  • The testing framework was migrated from nose to pytest (#19),
    and removed from the package dependencies.
  • Python 3.8 is now supported (#22).
  • The quick guide was made available as a jupyter notebook (#23).
  • Checks and error messages were improved on the SDE.sde()
    and SDEs.sde() methods (#20, #21) and the integrate decorator (#24).

SdePy 1.1.0

13 Aug 21:55
Compare
Choose a tag to compare

New in this release

  • The process class acquired new methods
    vmin, vmax, vmean, vvar, vstd to perform summary operations
    across values, for each time point and path (#14).
  • A piecewise constant process constructor was added as the
    piecewise function (#9); it replaces, and improves upon,
    the private _piecewise_constant_process (undocumented,
    not part of the API), now deprecated.

Bug-fixes

  • An incompatibility issue of the process class with
    numpy versions >= 1.16.0 (#11, #12) was solved.
  • A bug in the out parameter of process methods
    pmin, pmax, tmin, tmax (#10, #13) was fixed.

Improvements

  • The behavior of the process attribute interp_kind
    was documented in more detail (#14).
  • There were several minor improvements to the testing
    and maintenance tools, and to the testing suite (#14, #15).

Changes

  • No backward incompatible changes were made against the stated API.
  • Note however that code relying on the out parameter of the
    mentioned process methods might be in need of fixing as well.

SdePy 1.0.1

09 Jan 00:35
Compare
Choose a tag to compare

This maintenance release includes:

  • Bug-fixes (issues #2 and #4).
  • Support for Python 3.7 (pull request #5).
  • Minor documentation additions (pull requests #6 and #7).

SdePy 1.0.0

03 Jul 23:28
Compare
Choose a tag to compare

First public release, also found on PyPi.

After evolving through several 0.x unpublished versions, and undergoing several months of extensive private use, SdePy achieved its present stable form, marked as beta as a measure of caution against the unexpected.

SdePy 1.0.0rc3

14 Jun 14:57
Compare
Choose a tag to compare
SdePy 1.0.0rc3 Pre-release
Pre-release

This is a release candidate, also found on PyPi.
SdePy 1.0.0 is not released yet.