Types API Reference¶
BaseType
¶
Bases: ABC
Abstract base class for all NLQL types.
Types must implement comparison methods to support WHERE clause operations.
Source code in src/nlql/types/core.py
NumberType
¶
Bases: BaseType
Numeric type supporting arithmetic comparisons.
Source code in src/nlql/types/core.py
TextType
¶
Bases: BaseType
Text type supporting lexicographic comparisons.
Source code in src/nlql/types/core.py
DateType
¶
Bases: BaseType
Date/datetime type supporting temporal comparisons.
Source code in src/nlql/types/core.py
MetaFieldRegistry
¶
Registry for META field type information.
This allows users to register type information for metadata fields, enabling type-safe comparisons in WHERE clauses.
Source code in src/nlql/types/meta.py
register(field_name, type_class)
¶
Register a META field with its type class.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
field_name
|
str
|
Name of the metadata field |
required |
type_class
|
Type[BaseType]
|
Type class (e.g., NumberType, TextType, DateType) |
required |
Raises:
| Type | Description |
|---|---|
NLQLTypeError
|
If type_class is not a valid BaseType subclass |
Source code in src/nlql/types/meta.py
get_type(field_name)
¶
Get the registered type class for a field.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
field_name
|
str
|
Name of the metadata field |
required |
Returns:
| Type | Description |
|---|---|
Type[BaseType] | None
|
Type class if registered, None otherwise |
Source code in src/nlql/types/meta.py
wrap_value(field_name, value)
¶
Wrap a raw value in its registered type class.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
field_name
|
str
|
Name of the metadata field |
required |
value
|
Any
|
Raw value from data source |
required |
Returns:
| Type | Description |
|---|---|
BaseType
|
Wrapped value as a BaseType instance |
Raises:
| Type | Description |
|---|---|
NLQLTypeError
|
If field is not registered or wrapping fails |