Releases: Abstract-Data/abstract-validation-base
Releases · Abstract-Data/abstract-validation-base
Release v0.4.0
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
Release v0.3.0a1
Release v0.3.0a1
✨ New Features
Observer Pattern & Event System
- Added
ValidationObserverprotocol for tracking validation events - New
ValidationEventandValidationEventTypefor event-driven architecture - Events:
VALIDATION_STARTED,VALIDATION_COMPLETED,ROW_PROCESSED,BATCH_STARTED,BATCH_COMPLETED,ERROR_ADDED,CLEANING_ADDED
Streaming Validation Runner
- New
ValidationRunnerfor 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
workersparameter - Built-in statistics tracking via
RunnerStats
Rich Console Observers
SimpleProgressObserver- Progress bar integration with RichRichDashboardObserver- Live dashboard with stats panel and error tracking
Output Writers
CSVFailedWriter- Export failed records to CSVJSONLinesFailedWriter- Export failed records to JSONLAuditReportWriter- Generate audit reports in JSON/CSV format
AI Agent Documentation
- Added comprehensive
AGENTS.mdwith guidelines for AI assistants - Quick reference table, code examples, and anti-patterns
🧪 Testing Improvements
- Added Hypothesis property-based tests for
rich_observersandrunnermodules - Stateful testing for
RunnerStatswithRuleBasedStateMachine - 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