v0.3.0
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