Skip to content

PySPI v0.4.2

Compare
Choose a tag to compare
@joshuabmoore joshuabmoore released this 14 Feb 01:58
· 157 commits to main since this release
3f9c0b5

Introduction

This patch release brings a few minor updates including a new high contrast logo for dark mode users, improved SPI unit testing (with a new benchmarking dataset) and fixes for potential security vulnerability issues.

Highlights of this release

  • New high contrast logo for dark-mode users.
  • Improved SPI unit testing with z-scoring approach to flag SPIs with differing outputs.
  • New coupled map lattice (CML) benchmarking dataset.
  • Fix for potential security vulnerability issues in scikit-learn.

What's Changed

  • Replaced the old standard_normal.npy benchmarking dataset with a coupled map lattice (cml7.npy), along with its associated .pkl file containing the benchmark values (CML7_benchmark_tables.pkl) generated in a fresh Ubuntu environment.
  • Updated the README to automatically select either the regular or new dark mode logo based on the user's theme.
  • Added new conftest.py file for pytest to customise the unit testing outputs.
  • Added a new pyproject.toml file for configuring the package for publishing to PyPI.

New features

  • Improved SPI unit testing with a new coupled map lattice benchmarking dataset (cml7.npy) consisting of 7 processes and 100 observations per process.
  • Z-scoring approach in unit testing pipeline to flag potential changes in SPI outputs as a result of algorithmic changes, etc. SPIs with outputs differing by more than a specified threshold are "flagged" and summarised in a table.
  • Added a darkmode pyspi logo to the README which is shown for users with the dark-mode GitHub theme.

Bug Fixes

  • Fixed a scikit-learn security vulnerability issue with severity "high" (pertaining to denial of service) by upgrading scikit-learn from version 0.24.1 to version 1.0.1.
  • Fixed Int64 deprecation issue (cannot import name Int64Index from pandas) by fixing pandas to version 1.5.0.
  • Fixed unknown character issue for Windows users resulting from not specifying an encoding when loading the "README" in setup.py. Now fixed to utf-8 for consistency across platforms.