Feature Support
The goal is that the python library will provide a functional, performant subset of the Java library. The initial focus has been on reading table metadata and provide a convenient CLI to go through the catalog.
Metadata
| Operation | Java | Python |
|---|---|---|
| Get Schema | X | X |
| Get Snapshots | X | X |
| Plan Scan | X | X |
| Plan Scan for Snapshot | X | X |
| Update Current Snapshot | X | |
| Create Table | X | X |
| Rename Table | X | X |
| Drop Table | X | X |
| Alter Table | X | |
| Set Table Properties | X | |
| Create Namespace | X | X |
| Drop Namespace | X | X |
| Set Namespace Properties | X | X |
Types
The types are kept in pyiceberg.types.
Primitive types:
BooleanTypeStringTypeIntegerTypeLongTypeFloatTypeDoubleTypeDateTypeTimeTypeTimestampTypeTimestamptzTypeBinaryTypeUUIDType
Complex types:
StructTypeListTypeMapTypeFixedType(16)DecimalType(8, 3)
Expressions
The expressions are kept in pyiceberg.expressions.
IsNullNotNullIsNaNNotNaNInNotInEqualToNotEqualToGreaterThanOrEqualGreaterThanLessThanOrEqualLessThanAndOrNot