Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Releases: selimfirat/pysad

v0.3.4

24 Jun 11:37
2b81c5d

Choose a tag to compare

PySAD v0.3.4 Release

🐛 Critical Bug Fixes

ReferenceWindowModel Reset Bug (Issue #25)

  • Fixed critical reference window reset bug that was causing incorrect window reinitialization during sliding window operations
  • The bug occurred when cur_window_X length was less than window_size after sliding, causing reference_window_X to be incorrectly reset to just the current window instead of maintaining the properly sized reference window
  • This fix ensures stable and reliable sliding window behavior for all models using ReferenceWindowModel (including IForestASD)
  • Added comprehensive test coverage to prevent regression

AUROCMetric Single Class Validation

  • Added validation for single class presence in AUROCMetric evaluation to prevent evaluation errors
  • Now properly handles edge cases where only one class is present in the evaluation data
  • Throws informative ValueError with message "Only one class present" instead of cryptic sklearn errors

StreamhashProjector Type Casting Fix

  • Fixed hash seed type casting issue in StreamhashProjector's _hash_string method
  • Ensures proper integer casting of seed parameter to prevent type-related errors in hash computation
  • Improves stability of streamhash projection operations

🔧 Infrastructure Improvements

  • Enhanced CI infrastructure with Python 3.13 support
  • Updated dependency management for better compatibility
  • Improved test coverage for edge cases and bug prevention

🙏 Acknowledgments

Special thanks to @onixlas for discovering and reporting the critical reference window bug that led to this important fix.

📋 Full Changelog

Full Changelog: v0.3.3...v0.3.4

For detailed changes, see our CHANGES.txt.

🚀 Installation

pip install pysad==0.3.4

🔗 Links

This release focuses on critical stability fixes, particularly for streaming anomaly detection workflows using reference window models. We strongly recommend upgrading from previous versions to ensure reliable sliding window operations.

v0.3.2

14 Jun 04:36
e825849

Choose a tag to compare

Release Notes - PySAD v0.3.2

Release Date: June 14, 2025

🎉 What's New

PySAD v0.3.2 brings significant improvements in dependency management, Python compatibility, code quality, and testing infrastructure. This release focuses on modernizing the codebase and enhancing developer experience.

🚀 Key Features & Improvements

📦 Dependency Updates & Python Support

  • Updated PyOD Integration: Upgraded PyOD version for better compatibility and performance
  • Python 3.13 Support: Added official support for Python 3.13
  • RRCF Library Update: Updated rrcf to version 0.4.4 for improved reliability
  • Enhanced JAX Integration: Improved error handling for optional JAX dependencies in model imports

🛠️ Code Quality & Reliability

  • Enhanced RelativeEntropy Model:
    • Fixed scalar conversion deprecation warnings in NumPy 2.0+
    • Improved quantization algorithm for better numerical stability
  • Improved Array Handling: Enhanced handling of array results in model methods
  • Better Error Handling: Added graceful fallback mechanisms for optional dependencies

📚 Documentation & Links

  • Fixed Documentation Links: Corrected Flaticon link in documentation
  • Enhanced API Documentation: Improved inline documentation and examples

🧪 Testing Infrastructure

  • Comprehensive Test Coverage: Added extensive test coverage for core modules:
    • pysad.core base classes with 100% abstract method coverage
    • pysad.evaluation.metrics and pysad.evaluation.windowed_metrics with edge case testing
    • pysad.utils functions and classes with comprehensive scenarios
    • Integration models (OneFitModel, ReferenceWindowModel) with real-world usage patterns
  • Deprecation Warning Tests: Added tests to catch and handle deprecation warnings
  • Test Configuration: Enhanced coverage configuration and test reproducibility
  • Warning Suppression: Improved test suite reliability by properly handling expected warnings

🔧 Model Improvements

  • ReferenceWindowModel Enhancements:
    • Fixed reference window label management
    • Improved current window variable initialization
    • Better handling of window transitions
  • Score Generation: Enhanced reproducibility in model score generation

🐛 Bug Fixes

  • NumPy Compatibility: Fixed deprecation warnings with NumPy 2.0+ scalar conversions
  • Array Handling: Resolved issues with multi-dimensional array processing in models
  • Optional Dependencies: Improved graceful handling when optional dependencies are missing
  • Test Reliability: Fixed flaky tests and improved test determinism
  • Documentation Links: Corrected broken external links in documentation

💻 Developer Experience

  • Enhanced Testing Framework: New comprehensive test suites provide better confidence in code changes
  • Improved Code Coverage: Significantly increased test coverage across core modules
  • Better Error Messages: More informative error messages for common configuration issues
  • Cleaner Codebase: Removed deprecated test files and improved code organization

📋 Technical Details

Dependencies Updated

  • pyod: Updated to latest compatible version
  • rrcf: Updated to v0.4.4
  • Enhanced support for optional JAX dependencies

Python Version Support

  • Python 3.8+ (existing support maintained)
  • Python 3.13 (newly added)

Testing Improvements

  • Added 69+ new test cases across core modules
  • Enhanced edge case coverage for evaluation metrics
  • Comprehensive base class testing for all abstract interfaces
  • Real-world scenario testing for integration models

🔄 Migration Guide

For Users

  • No Breaking Changes: This release maintains full backward compatibility
  • Optional Dependencies: JAX dependencies are now handled more gracefully - applications will continue to work even if JAX is not installed

For Developers

  • Enhanced Testing: If you're contributing to PySAD, note the new comprehensive test suite
  • NumPy 2.0+: The codebase now fully supports NumPy 2.0+ without deprecation warnings

🤝 Contributors

Special thanks to the contributors who made this release possible:

  • @onixlas - Multiple contributions including PyOD version bump, Python 3.13 support, and documentation fixes
  • @selimfirat - Core maintenance, testing framework enhancements, and model improvements
  • Community - Bug reports and feedback that helped prioritize these improvements

📈 What's Next

  • Continued dependency modernization
  • Enhanced model performance optimizations
  • Additional Python version support as they become available
  • Expanded integration options

🔗 Links


Full Changelog: v0.3.1...v0.3.2

For detailed technical information about the changes, please refer to the commit history and the project documentation.

v0.3.1

04 Jun 02:21

Choose a tag to compare

PySAD v0.3.1 Release Notes

Release Date: June 4, 2025
Version: 0.3.1
Previous Version: 0.3.0 (May 23, 2025)

🚀 What's New in v0.3.1

This release focuses on significant documentation enhancements and community engagement improvements, along with important bug fixes to enhance the user experience and project visibility.

📚 Major Documentation Enhancements

Community Engagement Section

  • Added comprehensive community engagement section highlighting PySAD's growing impact:
    • Academic recognition with 50+ citations to the arXiv version
    • GitHub community growth with 260+ stars
    • Strong PyPI download statistics (2K+ monthly downloads)
    • Educational content integration across multiple platforms

Educational Content Integration

  • Featured educational content across multiple platforms:
    • Medium articles covering real-time anomaly detection applications
    • Comprehensive resource collections and guides
    • Industrial AI implementation challenges

Third-Party Integrations

  • Documented major framework integrations:
    • TurboML Integration: PySAD example documentation in ML workflow platforms
    • Apache Beam Integration: PySAD modules adapted into Apache Beam's ML package (zscore, robust_zscore detectors)
    • River ML Integration: StandardAbsoluteDeviation detector with explicit PySAD references

Developer Community Highlights

  • Widespread GitHub usage statistics:
    • 50+ files using import pysad across repositories
    • 200+ files using from pysad implementations
  • External projects showcase:
    • Online Isolation Forest implementations
    • Academic final projects
    • Natural gas wells anomaly detection
    • EuroPython 2024 conference materials

🐛 Bug Fixes and Improvements

Documentation Formatting

  • Fixed sublist formatting in README.rst: Corrected reStructuredText nested list syntax for proper rendering
  • Enhanced reStructuredText compliance: Improved indentation and spacing for better documentation display

Error Handling Improvements

  • Enhanced Inqmad model import handling: Improved error handling to cover undefined names and import edge cases
  • Better error messages: More informative error handling for optional dependencies

🔧 Technical Changes

Version Management

  • Updated version from 0.3.0 to 0.3.1 in pysad/version.py
  • Updated changelog in CHANGES.txt with comprehensive release notes

Code Quality

  • Maintained backward compatibility with all existing APIs
  • No breaking changes introduced
  • Enhanced code documentation and comments

📊 Community Impact Highlights

This release showcases PySAD's significant community impact:

  • Academic Recognition: Growing adoption in streaming data research
  • Industry Usage: Integration with major ML frameworks and platforms
  • Educational Impact: Featured in educational content and tutorials
  • Developer Adoption: Widespread usage across GitHub repositories
  • Download Growth: Consistent weekly usage with growing PyPI statistics

🔗 Quick Links

📦 Installation

Install or upgrade to v0.3.1:

pip install -U pysad==0.3.1

Or install from source:

git clone https://github.com/selimfirat/pysad.git
cd pysad
git checkout v0.3.1
pip install .

🔄 Migration Guide

No migration steps required. This release maintains full backward compatibility with v0.3.0.

📝 Files Changed

  • pysad/version.py - Version bump to 0.3.1
  • CHANGES.txt - Added changelog entry for v0.3.1
  • README.rst - Enhanced with community engagement sections and fixed formatting

🙏 Acknowledgments

Special thanks to the community for continued support and feedback. The growing adoption across academia and industry demonstrates PySAD's value in the streaming anomaly detection ecosystem.


Full Changelog: v0.3.0...v0.3.1

For questions or support, please visit our GitHub repository or check our documentation.

v0.3.0

23 May 15:38
3d5c748

Choose a tag to compare

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

v0.2.0

12 Oct 21:34

Choose a tag to compare

v<0.2.0> <06/10/2023> -- Upgraded some libraries like numpy, pandas. Refactored code.

v0.1.1

19 Aug 13:32
1980c36

Choose a tag to compare

v0.1.0

15 Aug 20:40

Choose a tag to compare

Initial release
pysad-0.1.0.tar.gz