duckguard 2.3.0__py3-none-any.whl → 3.0.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
duckguard/__init__.py CHANGED
@@ -85,7 +85,7 @@ from duckguard.semantic import (
85
85
  detect_types_for_dataset,
86
86
  )
87
87
 
88
- __version__ = "2.3.0"
88
+ __version__ = "3.0.0"
89
89
 
90
90
  __all__ = [
91
91
  # Core classes
@@ -0,0 +1,26 @@
1
+ """Advanced check implementations for DuckGuard 3.0.
2
+
3
+ This package contains specialized check handlers for:
4
+ - Conditional checks (when clause)
5
+ - Multi-column checks (cross-column validation)
6
+ - Query-based checks (custom SQL)
7
+ - Distributional checks (statistical tests)
8
+ """
9
+
10
+ from __future__ import annotations
11
+
12
+ __all__ = [
13
+ "ConditionalCheckHandler",
14
+ "QueryValidator",
15
+ ]
16
+
17
+ # Lazy imports to avoid circular dependencies
18
+ def __getattr__(name: str):
19
+ """Lazy import check modules."""
20
+ if name == "ConditionalCheckHandler":
21
+ from duckguard.checks.conditional import ConditionalCheckHandler
22
+ return ConditionalCheckHandler
23
+ elif name == "QueryValidator":
24
+ from duckguard.checks.conditional import QueryValidator
25
+ return QueryValidator
26
+ raise AttributeError(f"module {__name__!r} has no attribute {name!r}")