Skip to content

Releases: Abstract-Data/abstract-validation-base

Release v0.4.0

Choose a tag to compare

@github-actions github-actions released this 13 Dec 02:52

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

Release v0.3.0a1

Release v0.3.0a1 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 12 Dec 08:14

Release v0.3.0a1

✨ New Features

Observer Pattern & Event System

  • Added ValidationObserver protocol for tracking validation events
  • New ValidationEvent and ValidationEventType for event-driven architecture
  • Events: VALIDATION_STARTED, VALIDATION_COMPLETED, ROW_PROCESSED, BATCH_STARTED, BATCH_COMPLETED, ERROR_ADDED, CLEANING_ADDED

Streaming Validation Runner

  • New ValidationRunner for processing large datasets without loading into memory
  • Supports iterator input for streaming CSV/JSONL files
  • Methods: run(), run_collect_valid(), run_collect_failed(), run_batch_valid()
  • Parallel processing support with workers parameter
  • Built-in statistics tracking via RunnerStats

Rich Console Observers

  • SimpleProgressObserver - Progress bar integration with Rich
  • RichDashboardObserver - Live dashboard with stats panel and error tracking

Output Writers

  • CSVFailedWriter - Export failed records to CSV
  • JSONLinesFailedWriter - Export failed records to JSONL
  • AuditReportWriter - Generate audit reports in JSON/CSV format

AI Agent Documentation

  • Added comprehensive AGENTS.md with guidelines for AI assistants
  • Quick reference table, code examples, and anti-patterns

🧪 Testing Improvements

  • Added Hypothesis property-based tests for rich_observers and runner modules
  • Stateful testing for RunnerStats with RuleBasedStateMachine
  • Achieved 99% test coverage (100% on most modules)

🔧 Fixes

  • Resolved all mypy type errors in test files
  • Fixed version-check workflow for better cross-platform portability

📦 CI/CD

  • Added alpha/beta/rc prerelease support to release workflow
  • Improved version tagging automation

Full Changelog: https://github.com/Abstract-Data/abstract-validation-base/commits/v0.3.0a1