>>> import ibis
>>> ibis.dtype("int32")Data types
Scalar and column data types
dtype
ibis.dtype(value, nullable=True)Create a DataType object.
Parameters
| Name | Type | Description | Default |
|---|---|---|---|
| value | The object to coerce to an Ibis DataType. Supported inputs include strings, python type annotations, numpy dtypes, pandas dtypes, and pyarrow types. | required | |
| nullable | Whether the type should be nullable. Defaults to True. If value is a string prefixed by “!”, the type is always non-nullable. |
True |
Examples
>>> ibis.dtype("!int32")>>> ibis.dtype("array<float>")DataType objects may also be created from Python types:
>>> ibis.dtype(int, nullable=False)>>> ibis.dtype(list[float])Or other type systems, like numpy/pandas/pyarrow types:
>>> import pyarrow as pa
>>> ibis.dtype(pa.int32())DataType
DataType(**kwargs)Base class for all data types.
Instances are immutable.
Attributes
| Name | Description |
|---|---|
| name | Return the name of the data type. |
Methods
| 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. |
castable
castable(to, **kwargs)Check whether this type is castable to another.
from_numpy
from_numpy(numpy_type, nullable=True)Return the equivalent ibis datatype.
from_pandas
from_pandas(pandas_type, nullable=True)Return the equivalent ibis datatype.
from_polars
from_polars(polars_type, nullable=True)Return the equivalent ibis datatype.
from_pyarrow
from_pyarrow(arrow_type, nullable=True)Return the equivalent ibis datatype.
is_array
is_array()Return True if an instance of an Array type.
is_binary
is_binary()Return True if an instance of a Binary type.
is_boolean
is_boolean()Return True if an instance of a Boolean type.
is_date
is_date()Return True if an instance of a Date type.
is_decimal
is_decimal()Return True if an instance of a Decimal type.
is_enum
is_enum()Return True if an instance of an Enum type.
is_float16
is_float16()Return True if an instance of a Float16 type.
is_float32
is_float32()Return True if an instance of a Float32 type.
is_float64
is_float64()Return True if an instance of a Float64 type.
is_floating
is_floating()Return True if an instance of any Floating type.
is_geospatial
is_geospatial()Return True if an instance of a Geospatial type.
is_inet
is_inet()Return True if an instance of an Inet type.
is_int16
is_int16()Return True if an instance of an Int16 type.
is_int32
is_int32()Return True if an instance of an Int32 type.
is_int64
is_int64()Return True if an instance of an Int64 type.
is_int8
is_int8()Return True if an instance of an Int8 type.
is_integer
is_integer()Return True if an instance of any Integer type.
is_interval
is_interval()Return True if an instance of an Interval type.
is_json
is_json()Return True if an instance of a JSON type.
is_linestring
is_linestring()Return True if an instance of a LineString type.
is_macaddr
is_macaddr()Return True if an instance of a MACADDR type.
is_map
is_map()Return True if an instance of a Map type.
is_multilinestring
is_multilinestring()Return True if an instance of a MultiLineString type.
is_multipoint
is_multipoint()Return True if an instance of a MultiPoint type.
is_multipolygon
is_multipolygon()Return True if an instance of a MultiPolygon type.
is_nested
is_nested()Return true if an instance of any nested (Array/Map/Struct) type.
is_null
is_null()Return true if an instance of a Null type.
is_numeric
is_numeric()Return true if an instance of a Numeric type.
is_point
is_point()Return true if an instance of a Point type.
is_polygon
is_polygon()Return true if an instance of a Polygon type.
is_primitive
is_primitive()Return true if an instance of a Primitive type.
is_signed_integer
is_signed_integer()Return true if an instance of a SignedInteger type.
is_string
is_string()Return true if an instance of a String type.
is_struct
is_struct()Return true if an instance of a Struct type.
is_temporal
is_temporal()Return true if an instance of a Temporal type.
is_time
is_time()Return true if an instance of a Time type.
is_timestamp
is_timestamp()Return true if an instance of a Timestamp type.
is_uint16
is_uint16()Return true if an instance of a UInt16 type.
is_uint32
is_uint32()Return true if an instance of a UInt32 type.
is_uint64
is_uint64()Return true if an instance of a UInt64 type.
is_uint8
is_uint8()Return true if an instance of a UInt8 type.
is_unknown
is_unknown()Return true if an instance of an Unknown type.
is_unsigned_integer
is_unsigned_integer()Return true if an instance of an UnsignedInteger type.
is_uuid
is_uuid()Return true if an instance of a UUID type.
is_variadic
is_variadic()Return true if an instance of a Variadic type.
to_numpy
to_numpy()Return the equivalent numpy datatype.
to_pandas
to_pandas()Return the equivalent pandas datatype.
to_polars
to_polars()Return the equivalent polars datatype.
to_pyarrow
to_pyarrow()Return the equivalent pyarrow datatype.
Array
Array(**kwargs)Array values.
Binary
Binary(**kwargs)A type representing a sequence of bytes.
Notes
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.
Boolean
Boolean(**kwargs)Date
Date(**kwargs)Date values.
Decimal
Decimal(precision=None, scale=None, **kwargs)Fixed-precision decimal values.
Attributes
| Name | Description |
|---|---|
| precision | The number of decimal places values of this type can hold. |
| scale | The number of values after the decimal point. |
Float16
Float16(**kwargs)16-bit floating point numbers.
Float32
Float32(**kwargs)32-bit floating point numbers.
Float64
Float64(**kwargs)64-bit floating point numbers.
INET
INET(**kwargs)IP addresses.
Int16
Int16(**kwargs)Signed 16-bit integers.
Int32
Int32(**kwargs)Signed 32-bit integers.
Int64
Int64(**kwargs)Signed 64-bit integers.
Int8
Int8(**kwargs)Signed 8-bit integers.
Interval
Interval(**kwargs)Interval values.
Attributes
| Name | Description |
|---|---|
| resolution | The interval unit’s name. |
| unit | The time unit of the interval. |
JSON
JSON(**kwargs)JSON values.
Attributes
| Name | Description |
|---|---|
| binary | True if JSON is stored as binary, e.g., JSONB in PostgreSQL. |
LineString
LineString(**kwargs)A sequence of 2 or more points.
MACADDR
MACADDR(**kwargs)Media Access Control (MAC) address of a network interface.
Map
Map(**kwargs)Associative array values.
MultiLineString
MultiLineString(**kwargs)A set of one or more line strings.
MultiPoint
MultiPoint(**kwargs)A set of one or more points.
MultiPolygon
MultiPolygon(**kwargs)A set of one or more polygons.
Null
Null(**kwargs)Null values.
Point
Point(**kwargs)A point described by two coordinates.
Polygon
Polygon(**kwargs)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).
String
String(**kwargs)A type representing a string.
Notes
Because of differences in the way different backends handle strings, we cannot assume that strings are UTF-8 encoded.
Struct
Struct(**kwargs)Structured values.
Methods
| 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. |
from_tuples
from_tuples(pairs, nullable=True)Construct a Struct type from pairs.
Parameters
| 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 |
Returns
| Name | Type | Description |
|---|---|---|
| Struct | Struct data type instance |
names
names()Return the names of the struct’s fields.
types
types()Return the types of the struct’s fields.
Time
Time(**kwargs)Time values.
Timestamp
Timestamp(**kwargs)Timestamp values.
Attributes
| 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. |
Methods
| Name | Description |
|---|---|
| from_unit | Return a timestamp type with the given unit and timezone. |
from_unit
from_unit(unit, timezone=None, nullable=True)Return a timestamp type with the given unit and timezone.
UInt16
UInt16(**kwargs)Unsigned 16-bit integers.
UInt32
UInt32(**kwargs)Unsigned 32-bit integers.
UInt64
UInt64(**kwargs)Unsigned 64-bit integers.
UInt8
UInt8(**kwargs)Unsigned 8-bit integers.
UUID
UUID(**kwargs)A 128-bit number used to identify information in computer systems.