Skip to content

Commit 7da5066

Browse files
committed
style: apply black and isort formatting to error formatters
- Applied black code formatting - Fixed import sorting with isort - Added missing newline at end of file - All tests pass with formatted code Signed-off-by: Shuntaro Takahashi <[email protected]>
1 parent 24ae454 commit 7da5066

File tree

4 files changed

+49
-37
lines changed

4 files changed

+49
-37
lines changed
Lines changed: 13 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
"""Common error formatting utilities for all backends."""
22

3-
from typing import Callable, Optional, TypeVar, Union, Tuple
3+
from typing import Callable, Optional, Tuple, TypeVar, Union
44

5-
T = TypeVar('T')
5+
T = TypeVar("T")
66

77

88
def format_failure_cases_with_truncation(
@@ -14,14 +14,14 @@ def format_failure_cases_with_truncation(
1414
) -> str:
1515
"""
1616
Format failure cases with truncation based on max_reported_failures.
17-
17+
1818
This function provides a unified way to handle failure case formatting
1919
across different backends (pandas, polars, etc.) while allowing each
2020
backend to maintain its specific formatting requirements.
21-
21+
2222
:param failure_cases: The failure cases to format (backend-specific type)
2323
:param total_failures: Total number of failures
24-
:param max_reported_failures: Maximum failures to report
24+
:param max_reported_failures: Maximum failures to report
2525
(-1 for unlimited, 0 for summary only)
2626
:param format_all_cases: Function to format all cases without truncation
2727
:param format_limited_cases: Function to format limited number of cases,
@@ -30,14 +30,16 @@ def format_failure_cases_with_truncation(
3030
"""
3131
if max_reported_failures == -1:
3232
return format_all_cases(failure_cases)
33-
33+
3434
if max_reported_failures == 0:
3535
return f"... {total_failures} failure cases"
36-
37-
formatted_str, shown_count = format_limited_cases(failure_cases, max_reported_failures)
38-
36+
37+
formatted_str, shown_count = format_limited_cases(
38+
failure_cases, max_reported_failures
39+
)
40+
3941
if shown_count < total_failures:
4042
omitted_count = total_failures - shown_count
4143
return f"{formatted_str} ... and {omitted_count} more failure cases ({total_failures} total)"
42-
43-
return formatted_str
44+
45+
return formatted_str

pandera/backends/ibis/error_formatters.py

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,9 @@
44

55
import pandas as pd
66

7-
from pandera.backends.error_formatters import format_failure_cases_with_truncation
7+
from pandera.backends.error_formatters import (
8+
format_failure_cases_with_truncation,
9+
)
810
from pandera.backends.pandas.error_formatters import (
911
format_generic_error_message,
1012
reshape_failure_cases,
@@ -34,6 +36,7 @@ def format_vectorized_error_message(
3436
max_reported_failures = config.max_reported_failures
3537

3638
import re
39+
3740
pattern = r"<Check\s+([^:>]+):\s*([^>]+)>"
3841
matches = re.findall(pattern, str(check))
3942

@@ -46,21 +49,21 @@ def format_vectorized_error_message(
4649

4750
failure_cases = reshaped_failure_cases.failure_case
4851
total_failures = len(failure_cases)
49-
52+
5053
def format_all(cases):
5154
return ", ".join(cases.apply(str))
52-
55+
5356
def format_limited(cases, limit):
5457
limited = cases.iloc[:limit]
5558
formatted = ", ".join(limited.apply(str))
5659
return formatted, len(limited)
57-
60+
5861
failure_cases_string = format_failure_cases_with_truncation(
5962
failure_cases,
6063
total_failures,
6164
max_reported_failures,
6265
format_all,
63-
format_limited
66+
format_limited,
6467
)
6568

6669
return (
@@ -75,4 +78,4 @@ def format_limited(cases, limit):
7578
"format_generic_error_message",
7679
"format_vectorized_error_message",
7780
"reshape_failure_cases",
78-
]
81+
]

pandera/backends/pandas/error_formatters.py

Lines changed: 17 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,9 @@
55

66
import pandas as pd
77

8-
from pandera.backends.error_formatters import format_failure_cases_with_truncation
8+
from pandera.backends.error_formatters import (
9+
format_failure_cases_with_truncation,
10+
)
911
from pandera.config import get_config_context
1012
from pandera.errors import SchemaError
1113

@@ -29,16 +31,16 @@ def format_generic_error_message(
2931

3032

3133
def _format_failure_cases_string(
32-
failure_cases,
33-
total_failures: int,
34+
failure_cases,
35+
total_failures: int,
3436
max_reported_failures: int,
35-
is_pyspark: bool = False
37+
is_pyspark: bool = False,
3638
) -> str:
3739
"""Format failure cases into a string with appropriate truncation."""
38-
40+
3941
def format_all(cases):
4042
return ", ".join(cases.astype(str) if is_pyspark else cases.apply(str))
41-
43+
4244
def format_limited(cases, limit):
4345
if is_pyspark:
4446
limited = cases[:limit]
@@ -47,13 +49,13 @@ def format_limited(cases, limit):
4749
limited = cases.iloc[:limit]
4850
formatted = ", ".join(limited.apply(str))
4951
return formatted, len(limited)
50-
52+
5153
return format_failure_cases_with_truncation(
5254
failure_cases,
5355
total_failures,
5456
max_reported_failures,
5557
format_all,
56-
format_limited
58+
format_limited,
5759
)
5860

5961

@@ -89,13 +91,15 @@ def format_vectorized_error_message(
8991
else:
9092
check_str = str(check)
9193

92-
is_pyspark = type(reshaped_failure_cases.failure_case).__module__.startswith("pyspark.pandas")
93-
94+
is_pyspark = type(
95+
reshaped_failure_cases.failure_case
96+
).__module__.startswith("pyspark.pandas")
97+
9498
if is_pyspark:
9599
failure_cases = reshaped_failure_cases.failure_case.to_numpy()
96100
else:
97101
failure_cases = reshaped_failure_cases.failure_case
98-
102+
99103
total_failures = len(failure_cases)
100104
failure_cases_string = _format_failure_cases_string(
101105
failure_cases, total_failures, max_reported_failures, is_pyspark
@@ -191,7 +195,8 @@ def _multiindex_to_frame(df):
191195

192196

193197
def consolidate_failure_cases(
194-
schema_errors: List[SchemaError], max_reported_failures: Optional[int] = None
198+
schema_errors: List[SchemaError],
199+
max_reported_failures: Optional[int] = None,
195200
):
196201
"""Consolidate schema error dicts to produce data for error message."""
197202
from pandera.api.pandas.types import is_table

pandera/backends/polars/error_formatters.py

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,9 @@
22

33
from typing import Any, Optional
44

5-
from pandera.backends.error_formatters import format_failure_cases_with_truncation
5+
from pandera.backends.error_formatters import (
6+
format_failure_cases_with_truncation,
7+
)
68
from pandera.config import get_config_context
79

810

@@ -11,7 +13,7 @@ def format_failure_cases_message(
1113
max_reported_failures: Optional[int] = None,
1214
) -> str:
1315
"""Format failure cases for Polars error messages.
14-
16+
1517
:param failure_cases: Polars DataFrame containing failure cases
1618
:param max_reported_failures: Maximum number of failures to report.
1719
If None, uses config value.
@@ -20,20 +22,20 @@ def format_failure_cases_message(
2022
if max_reported_failures is None:
2123
config = get_config_context()
2224
max_reported_failures = config.max_reported_failures
23-
25+
2426
total_failures = failure_cases.height
25-
27+
2628
def format_all(cases):
2729
return cases.rows(named=True)
28-
30+
2931
def format_limited(cases, limit):
3032
limited = cases.head(limit)
3133
return limited.rows(named=True), limited.height
32-
34+
3335
return format_failure_cases_with_truncation(
3436
failure_cases,
3537
total_failures,
3638
max_reported_failures,
3739
format_all,
38-
format_limited
39-
)
40+
format_limited,
41+
)

0 commit comments

Comments
 (0)