Release Notes for v0.4.0
Highlights
This release graduates from alpha (0.3.0a1) to stable (0.4.0), introducing whylogs integration for data profiling during validation runs.
New Features
WhylogsObserver for Data Profiling
- New module:
whylogs_observer.py- Automated data profiling of both raw input data and validated outputs - Profile data during validation runs with configurable chunk sizes
- Compare raw vs valid profiles for data quality analysis
- Export profiles to whylogs binary format or pandas DataFrames
- Thread-safe design compatible with parallel validation
- Install with:
pip install abstract-validation-base[whylogs]
from abstract_validation_base import WhylogsObserver, ValidationRunner
observer = WhylogsObserver(chunk_size=10000, profile_raw=True, profile_valid=True)
runner = ValidationRunner(data, MyModel)
runner.add_observer(observer)
for result in runner.run():
process(result)
profiles = observer.get_profiles()
comparison = observer.compare_profiles()Bug Fixes
- Fix IndexError: Resolved crash when validation error has empty
loctuple (#2) - Remove unused type: ignore comment: Fixed mypy strict mode compliance in
whylogs_observer.py
Documentation
- Comprehensive README update covering all package functionality
- Added AI agent issue reporting guidelines to
AGENTS.md - Added whylogs integration documentation with usage examples
Infrastructure
- Added comprehensive GitHub issue/PR templates with YAML forms
- Added automated issue triage workflow
- Context7 owner verification
Code Quality
- 358 tests passing with 98% code coverage
- Full mypy strict mode compliance
- Ruff linting and formatting compliance
Breaking Changes
None - fully backward compatible with 0.3.0a1
Installation
pip install abstract-validation-base==0.4.0
# With whylogs support:
pip install abstract-validation-base[whylogs]==0.4.0Full Changelog: v0.3.0a1...v0.4.0