Skip to content
Blog

Extensions

Kuzu has an extension framework designed to extend its capabilities. Our goal is to implement more and more extensions over time, such as supporting new data types, functions and indices, or to better integrate with external systems.

Extensions expose several internal interfaces of Kuzu, for example, the FileSystem, and can have multiple implementations. Extensions are implementations of these interfaces that can be dynamically loaded at runtime.

Official Extensions

The available extensions for each OS are listed here.

Available extensions

The following extensions are implemented, with more to come:

Extension NameDescription
httpfsRead and write files over HTTP(s) protocol. Also used for attaching to a remote Kuzu database.
duckdbScan data from an attached DuckDB database
postgresScan data from an attached PostgreSQL database
sqliteScan data from an attached SQLite database
jsonScan and manipulate JSON data
deltaScan data from a delta table
icebergScan iceberg data

Using Extensions in Kuzu

This section describes how to use officially supported extensions in Kuzu.

Installing an official extension

Kuzu requires the user to install the extension before loading and using it. Official extensions can be simply installed by running the install command:

INSTALL <extension_name>

Where extension_name is the name of the extension to be installed.

Loading an official extension

After installation, a load command is required to ask Kuzu to dynamically load the shared library. Extensions installed using the INSTALL command can be loaded directly as follows:

LOAD EXTENSION <extension_name>