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:

  • BooleanType
  • StringType
  • IntegerType
  • LongType
  • FloatType
  • DoubleType
  • DateType
  • TimeType
  • TimestampType
  • TimestamptzType
  • BinaryType
  • UUIDType

Complex types:

  • StructType
  • ListType
  • MapType
  • FixedType(16)
  • DecimalType(8, 3)

Expressions

The expressions are kept in pyiceberg.expressions.

  • IsNull
  • NotNull
  • IsNaN
  • NotNaN
  • In
  • NotIn
  • EqualTo
  • NotEqualTo
  • GreaterThanOrEqual
  • GreaterThan
  • LessThanOrEqual
  • LessThan
  • And
  • Or
  • Not