🔧 Type System¶
Advanced type handling and conversion utilities.
🎯 Overview¶
Type system provides low-level type detection, conversion, and handling utilities.
📦 Functions¶
Type Utilities¶
datason.safe_float(value: Any, default: float = 0.0) -> float
¶
Convert value to float, handling NaN, None, and Inf values safely.
This function is particularly useful when working with pandas DataFrames that may contain NaN values or when processing data from external sources that may have None values.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
value
|
Any
|
Value to convert to float |
required |
default
|
float
|
Default value to return if conversion fails or value is NaN/None/Inf |
0.0
|
Returns:
Type | Description |
---|---|
float
|
Float value or default if conversion fails |
Examples:
>>> safe_float(42.5)
42.5
>>> safe_float(None)
0.0
>>> safe_float(float('nan'))
0.0
>>> safe_float(float('inf'))
0.0
>>> safe_float("invalid", 10.0)
10.0
Source code in datason/converters.py
datason.safe_int(value: Any, default: int = 0) -> int
¶
Convert value to int, handling NaN and None values safely.
This function is particularly useful when working with pandas DataFrames that may contain NaN values or when processing data from external sources that may have None values.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
value
|
Any
|
Value to convert to int |
required |
default
|
int
|
Default value to return if conversion fails or value is NaN/None |
0
|
Returns:
Type | Description |
---|---|
int
|
Integer value or default if conversion fails |
Examples:
>>> safe_int(42)
42
>>> safe_int(42.7)
42
>>> safe_int(None)
0
>>> safe_int(float('nan'))
0
>>> safe_int("invalid", 10)
10
Source code in datason/converters.py
datason.ensure_timestamp(val: Any) -> Any
¶
Ensure a scalar date value is a pandas Timestamp. Use this for group-level date fields.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
val
|
Any
|
A date value (can be pd.Timestamp, datetime, or string) |
required |
Returns:
Type | Description |
---|---|
Any
|
pd.Timestamp or pd.NaT |
Raises: TypeError: If input is a list, dict, or other non-date-like object
Source code in datason/datetime_utils.py
🔗 Related Documentation¶
- Core Functions - Main serialization functions
- Enums & Constants - Type-related enums