In this PR, I have updated the dark mode logo (once again) for better contrast, updated the setup.py file to support emojis in the README file and bumped scikit-learn to resolve a potential security vulnerability issue. The specific details of these changes are detailed below:
Improved SPI unit testing with a new coupled map lattice benchmarking dataset (cml7.npy) consisting of 7 processes and 100 observations per process.
Added new SPI unit tests that z-score the table of pairwise interactions upon running the tests and compares against a reference/benchmark table for each SPI. Interactions that exceed a pre-specified threshold are flagged for further investigation. A corresponding conftest.py file has been added to customise the output of the pytest tests.
For generating the benchmark table of SPIs, the benchmarking dataset was loaded in a fresh Ubuntu environment imitating the GitHub Actions Ubuntu-latest runner (with pyspi v0.4). A random seed was set and pyspi was applied to compute all SPIs on the benchmark dataset across 100 repeated runs. For each SPI, a table of mean values and a table of std. deviations were computed across the 100 trials. The file CML7_benchmark_tables.pkl contains a dictionary of mean and std. deviation tables for each SPI and is used as a reference table for comparing the outputs under changing dependencies and/or changes to the codebase.
Modified the existing test_SPIs.py file to support the new benchmarking dataset.
Updated the reading of the README file in setup.py to support utf-8 encoding. This is to ensure consistency across all platforms as Window users will run into an issue when pip installing pyspi due to unknown characters in the README (these are the emojis).
Fixed a scikit-learn security vulnerability issue with severity "high" (pertaining to denial of service) by bumping scikit-learn from version 0.24.1 to version 1.0.1.
Resolved Int64 deprecation issue (cannot import name Int64Index from pandas) by fixing pandas to version 1.5.0 instead of >= 1.3.3. This version of pandas works consistently across all 3 platforms.
In this PR, I have updated the dark mode logo (once again) for better contrast, updated the setup.py file to support emojis in the README file and bumped scikit-learn to resolve a potential security vulnerability issue. The specific details of these changes are detailed below:
cml7.npy
) consisting of 7 processes and 100 observations per process.conftest.py
file has been added to customise the output of the pytest tests.CML7_benchmark_tables.pkl
contains a dictionary of mean and std. deviation tables for each SPI and is used as a reference table for comparing the outputs under changing dependencies and/or changes to the codebase.test_SPIs.py
file to support the new benchmarking dataset.setup.py
to support utf-8 encoding. This is to ensure consistency across all platforms as Window users will run into an issue when pip installing pyspi due to unknown characters in the README (these are the emojis).0.24.1
to version1.0.1
.Int64Index
frompandas
) by fixing pandas to version1.5.0
instead of>= 1.3.3
. This version of pandas works consistently across all 3 platforms.