CARVIEW |
Navigation Menu
-
Notifications
You must be signed in to change notification settings - Fork 24
Releases: selimfirat/pysad
v0.3.4
2b81c5d
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 thanwindow_size
after sliding, causingreference_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
(includingIForestASD
) - 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.
Assets 2
v0.3.2
e825849
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 coveragepysad.evaluation.metrics
andpysad.evaluation.windowed_metrics
with edge case testingpysad.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 versionrrcf
: 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
- GitHub Repository: https://github.com/selimfirat/pysad
- Documentation: https://pysad.readthedocs.io/
- PyPI Package: https://pypi.org/project/pysad/
- Issue Tracker: https://github.com/selimfirat/pysad/issues
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.
Assets 2
v0.3.1
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
- 50+ files using
- 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
- GitHub Repository: https://github.com/selimfirat/pysad
- Documentation: https://pysad.readthedocs.io/
- PyPI Package: https://pypi.org/project/pysad/
- Google Scholar: Citation metrics and academic impact
📦 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.1CHANGES.txt
- Added changelog entry for v0.3.1README.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.
Assets 3
v0.3.0
3d5c748
Compare
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
Assets 2
v0.2.0
Compare
v<0.2.0> <06/10/2023> -- Upgraded some libraries like numpy, pandas. Refactored code.
Assets 3
v0.1.1
1980c36
Compare
Assets 2
v0.1.0
Compare
Initial release
pysad-0.1.0.tar.gz