Skip to content

v0.3.0

Compare
Choose a tag to compare
@selimfirat selimfirat released this 23 May 15:38
· 15 commits to master since this release
3d5c748

Kaira Logo

PySAD v0.3.0 Release Notes

Release Date: May 23, 2025

Overview

We're excited to announce the release of PySAD v0.3.0, an open-source Python framework for anomaly detection on streaming multivariate data. This release includes significant dependency updates, a new anomaly detection model, improved documentation, and updated Python version requirements.

What's New

New Features

  • Inqmad Model: Added a new incremental quantum-inspired multivariate anomaly detection model. This model leverages JAX for GPU acceleration when available, providing significant performance improvements for supported hardware.
  • Quick Start Example: Added a new quick start example in the README for easier onboarding of new users.
  • Added pyproject.toml: Improved packaging system with pyproject.toml support for more reliable and consistent builds.

Python Version Update

  • Upgraded Python Requirement: Now requires Python 3.10+ (previously supported Python 3.8+)
  • Added Support: Officially supports Python 3.10, 3.11, and 3.12

Improvements

  • Updated Dependencies: All core dependencies have been updated to their latest versions:
    • numpy 2.0.2
    • scikit-learn 1.5.2
    • scipy 1.13.1
    • pyod 1.1.0
    • combo 0.1.3
  • JAX Integration: Added optional JAX dependency (0.6.1) with graceful fallback for enhanced performance
  • Development Dependencies:
    • Added tqdm for progress tracking
    • Added attrs for improved test compatibility
    • Added setuptools to requirements-ci to fix rrcf

Bug Fixes

  • Deprecated NumPy Features: Fixed usage of deprecated np.Inf and addressed deprecation warnings in JAX imports

  • RSHash Improvements: Updated RSHash to handle deprecated nonzero on 0d arrays and ensure proper feature selection

  • Numerical Stability: Improved numerical stability in model calculations

  • Enhanced Documentation: Improved documentation across the project for better readability and understanding.

Examples

  • Added a new example example_usage_inqmad.py demonstrating the usage of the new Inqmad model.

Installation

pip install pysad==0.3.0

Or for the development version:

pip install git+https://github.com/selimfirat/pysad.git

Breaking Changes

  • Dropped support for Python 3.8 and 3.9
  • Updated NumPy and SciPy dependencies that may require adjustments in downstream code due to API changes
  • JAX-dependent features now gracefully degrade when JAX is not available

Contributors

Special thanks to:

  • @TechyNilesh for documentation improvements
  • @Joaggi for the implementation of the Inqmad model
  • @onixlas for dependency updates and bug fixes

Commit History

Key commits since v0.2.0:

  • Update NumPy and SciPy versions
  • Drop Python 3.8 support
  • Update pandas, scikit-learn versions
  • Replace deprecated np.Inf
  • Add Inqmad model
  • Add pyproject.toml for improved packaging
  • Update Python version requirements to 3.10+
  • Make JAX dependencies optional with graceful fallback
  • Fix RSHash to handle deprecated nonzero on 0d arrays
  • Update JAX and jaxlib to version 0.6.1 for compatibility with NumPy 2.0+

Contributors

Special thanks to:

For their valuable contributions to this release.

About PySAD

PySAD is an open-source Python framework for anomaly detection on streaming multivariate data. It provides a comprehensive set of tools and models for detecting anomalies in real-time data streams.

License

PySAD is licensed under the 3-Clause BSD license.

Full Changelog: v0.1.1...v0.3.0