Skip to content

colnade.dtypes

Data type definitions used in Column annotations.

Type Categories

NumericType

Base class for all numeric data types.

IntegerType

Bases: NumericType

Base class for all integer data types (signed and unsigned).

FloatType

Bases: NumericType

Base class for floating-point data types. Used to constrain NaN methods.

TemporalType

Base class for all temporal data types.

Boolean

Bool

Boolean type. Not numeric — arithmetic on booleans is not supported.

Unsigned Integers

UInt8

Bases: IntegerType

8-bit unsigned integer.

UInt16

Bases: IntegerType

16-bit unsigned integer.

UInt32

Bases: IntegerType

32-bit unsigned integer.

UInt64

Bases: IntegerType

64-bit unsigned integer.

Signed Integers

Int8

Bases: IntegerType

8-bit signed integer.

Int16

Bases: IntegerType

16-bit signed integer.

Int32

Bases: IntegerType

32-bit signed integer.

Int64

Bases: IntegerType

64-bit signed integer.

Floating Point

Float32

Bases: FloatType

32-bit floating point.

Float64

Bases: FloatType

64-bit floating point.

String / Binary

Utf8

UTF-8 encoded string.

Binary

Raw binary data.

Temporal

Date

Bases: TemporalType

Calendar date (no time component).

Time

Bases: TemporalType

Time of day (no date component).

Datetime

Bases: TemporalType

Date and time.

Duration

Bases: TemporalType

Time duration / interval.

Parameterized Types

Struct

Bases: Generic[_S]

A struct column type parameterized by a Schema class.

Usage in schema definitions::

class Address(Schema):
    street: Utf8
    city: Utf8

class Users(Schema):
    address: Struct[Address]
    location: Struct[GeoPoint] | None  # nullable struct

List

Bases: Generic[_T]

A list column type parameterized by element type.

Usage in schema definitions::

class Users(Schema):
    tags: List[Utf8]                  # list of strings
    scores: List[Float64 | None]      # list of nullable floats
    friends: List[UInt64] | None      # nullable list