Skip to content

Release v0.4.0

Latest

Choose a tag to compare

@github-actions github-actions released this 13 Dec 02:52
· 2 commits to main since this release

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 loc tuple (#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.0

Full Changelog: v0.3.0a1...v0.4.0