>>> import ibis
>>> ibis.dtype("int32")
Int32(nullable=True)
Scalar and column data types
Create a DataType object.
Name | Type | Description | Default |
---|---|---|---|
value | Any | The object to coerce to an Ibis DataType. Supported inputs include strings, python type annotations, numpy dtypes, pandas dtypes, and pyarrow types. | required |
nullable | bool |
Whether the type should be nullable. Defaults to True. | True |
DataType objects may also be created from Python types:
Or other type systems, like numpy/pandas/pyarrow types:
Base class for all data types.
Instances are immutable.
Name | Description |
---|---|
name | Return the name of the data type. |
Name | Description |
---|---|
castable | Check whether this type is castable to another. |
from_numpy | Return the equivalent ibis datatype. |
from_pandas | Return the equivalent ibis datatype. |
from_polars | Return the equivalent ibis datatype. |
from_pyarrow | Return the equivalent ibis datatype. |
is_array | Return True if an instance of an Array type. |
is_binary | Return True if an instance of a Binary type. |
is_boolean | Return True if an instance of a Boolean type. |
is_date | Return True if an instance of a Date type. |
is_decimal | Return True if an instance of a Decimal type. |
is_enum | Return True if an instance of an Enum type. |
is_float16 | Return True if an instance of a Float16 type. |
is_float32 | Return True if an instance of a Float32 type. |
is_float64 | Return True if an instance of a Float64 type. |
is_floating | Return True if an instance of any Floating type. |
is_geospatial | Return True if an instance of a Geospatial type. |
is_inet | Return True if an instance of an Inet type. |
is_int16 | Return True if an instance of an Int16 type. |
is_int32 | Return True if an instance of an Int32 type. |
is_int64 | Return True if an instance of an Int64 type. |
is_int8 | Return True if an instance of an Int8 type. |
is_integer | Return True if an instance of any Integer type. |
is_interval | Return True if an instance of an Interval type. |
is_json | Return True if an instance of a JSON type. |
is_linestring | Return True if an instance of a LineString type. |
is_macaddr | Return True if an instance of a MACADDR type. |
is_map | Return True if an instance of a Map type. |
is_multilinestring | Return True if an instance of a MultiLineString type. |
is_multipoint | Return True if an instance of a MultiPoint type. |
is_multipolygon | Return True if an instance of a MultiPolygon type. |
is_nested | Return true if an instance of any nested (Array/Map/Struct) type. |
is_null | Return true if an instance of a Null type. |
is_numeric | Return true if an instance of a Numeric type. |
is_point | Return true if an instance of a Point type. |
is_polygon | Return true if an instance of a Polygon type. |
is_primitive | Return true if an instance of a Primitive type. |
is_signed_integer | Return true if an instance of a SignedInteger type. |
is_string | Return true if an instance of a String type. |
is_struct | Return true if an instance of a Struct type. |
is_temporal | Return true if an instance of a Temporal type. |
is_time | Return true if an instance of a Time type. |
is_timestamp | Return true if an instance of a Timestamp type. |
is_uint16 | Return true if an instance of a UInt16 type. |
is_uint32 | Return true if an instance of a UInt32 type. |
is_uint64 | Return true if an instance of a UInt64 type. |
is_uint8 | Return true if an instance of a UInt8 type. |
is_unknown | Return true if an instance of an Unknown type. |
is_unsigned_integer | Return true if an instance of an UnsignedInteger type. |
is_uuid | Return true if an instance of a UUID type. |
is_variadic | Return true if an instance of a Variadic type. |
to_numpy | Return the equivalent numpy datatype. |
to_pandas | Return the equivalent pandas datatype. |
to_polars | Return the equivalent polars datatype. |
to_pyarrow | Return the equivalent pyarrow datatype. |
Check whether this type is castable to another.
Return the equivalent ibis datatype.
Return the equivalent ibis datatype.
Return the equivalent ibis datatype.
Return the equivalent ibis datatype.
Return True if an instance of an Array type.
Return True if an instance of a Binary type.
Return True if an instance of a Boolean type.
Return True if an instance of a Date type.
Return True if an instance of a Decimal type.
Return True if an instance of an Enum type.
Return True if an instance of a Float16 type.
Return True if an instance of a Float32 type.
Return True if an instance of a Float64 type.
Return True if an instance of any Floating type.
Return True if an instance of a Geospatial type.
Return True if an instance of an Inet type.
Return True if an instance of an Int16 type.
Return True if an instance of an Int32 type.
Return True if an instance of an Int64 type.
Return True if an instance of an Int8 type.
Return True if an instance of any Integer type.
Return True if an instance of an Interval type.
Return True if an instance of a JSON type.
Return True if an instance of a LineString type.
Return True if an instance of a MACADDR type.
Return True if an instance of a Map type.
Return True if an instance of a MultiLineString type.
Return True if an instance of a MultiPoint type.
Return True if an instance of a MultiPolygon type.
Return true if an instance of any nested (Array/Map/Struct) type.
Return true if an instance of a Null type.
Return true if an instance of a Numeric type.
Return true if an instance of a Point type.
Return true if an instance of a Polygon type.
Return true if an instance of a Primitive type.
Return true if an instance of a SignedInteger type.
Return true if an instance of a String type.
Return true if an instance of a Struct type.
Return true if an instance of a Temporal type.
Return true if an instance of a Time type.
Return true if an instance of a Timestamp type.
Return true if an instance of a UInt16 type.
Return true if an instance of a UInt32 type.
Return true if an instance of a UInt64 type.
Return true if an instance of a UInt8 type.
Return true if an instance of an Unknown type.
Return true if an instance of an UnsignedInteger type.
Return true if an instance of a UUID type.
Return true if an instance of a Variadic type.
Return the equivalent numpy datatype.
Return the equivalent pandas datatype.
Return the equivalent polars datatype.
Return the equivalent pyarrow datatype.
Array values.
A type representing a sequence of bytes.
Some databases treat strings and blobs of equally, and some do not.
For example, Impala doesn’t make a distinction between string and binary types but PostgreSQL has a TEXT
type and a BYTEA
type which are distinct types that have different behavior.
Date values.
Fixed-precision decimal values.
Name | Description |
---|---|
precision | The number of decimal places values of this type can hold. |
scale | The number of values after the decimal point. |
16-bit floating point numbers.
32-bit floating point numbers.
64-bit floating point numbers.
IP addresses.
Signed 16-bit integers.
Signed 32-bit integers.
Signed 64-bit integers.
Signed 8-bit integers.
Interval values.
Name | Description |
---|---|
resolution | The interval unit’s name. |
unit | The time unit of the interval. |
JSON values.
Name | Description |
---|---|
binary | True if JSON is stored as binary, e.g., JSONB in PostgreSQL. |
A sequence of 2 or more points.
Media Access Control (MAC) address of a network interface.
Associative array values.
A set of one or more line strings.
A set of one or more points.
A set of one or more polygons.
Null values.
A point described by two coordinates.
A set of one or more closed line strings.
The first line string represents the shape (external ring) and the rest represent holes in that shape (internal rings).
A type representing a string.
Because of differences in the way different backends handle strings, we cannot assume that strings are UTF-8 encoded.
Structured values.
Name | Description |
---|---|
from_tuples | Construct a Struct type from pairs. |
names | Return the names of the struct’s fields. |
types | Return the types of the struct’s fields. |
Construct a Struct
type from pairs.
Name | Type | Description | Default |
---|---|---|---|
pairs | Iterable[tuple[str , str | DataType]] |
An iterable of pairs of field name and type | required |
nullable | bool |
Whether the type is nullable | True |
Name | Type | Description |
---|---|---|
Struct | Struct data type instance |
Return the names of the struct’s fields.
Return the types of the struct’s fields.
Time values.
Timestamp values.
Name | Description |
---|---|
scale | The scale of the timestamp if known. |
timezone | The timezone of values of this type. |
unit | Return the unit of the timestamp. |
Name | Description |
---|---|
from_unit | Return a timestamp type with the given unit and timezone. |
Return a timestamp type with the given unit and timezone.
Unsigned 16-bit integers.
Unsigned 32-bit integers.
Unsigned 64-bit integers.
Unsigned 8-bit integers.
A 128-bit number used to identify information in computer systems.