Client Overview
DuckDB is an in-process database system and offers client APIs (“drivers”) for several languages.
| Client API | Maintainer | Support tier | Latest version |
|---|---|---|---|
| C | Core team | Primary | 1.5.5 |
| CLI (command line interface) | Core team | Primary | 1.5.5 |
| Java (JDBC) | Core team | Primary | 1.5.5 |
| Go | Core team | Primary | 1.5.5 |
| Node.js (node-neo) | Jeff Raymakers | Primary | 1.5.5 |
| ODBC | Core team | Primary | 1.5.5 |
| Python | Core team | Primary | 1.5.5 |
| R | Kirill Müller | Primary | 1.5.5 |
| Rust | Core team | Primary | 1.5.5 |
| WebAssembly (Wasm) | Core team | Primary | 1.5.5 |
| ADBC (Arrow) | Core team | Secondary | 1.5.5 |
| C# (.NET) | Giorgi | Secondary | 1.5.5 |
| C++ | Core team | Secondary | 1.5.5 |
The table above lists the DuckDB clients with the primary and secondary support tiers. For a list of tertiary clients, see the “Tertiary Clients” page.
Support Tiers
There are three tiers of support for clients. Primary clients are the first to receive new features and are covered by community support. Secondary clients receive new features but are not covered by community support. Finally, there are no feature or support guarantees for tertiary clients.
The DuckDB clients listed above are open-source and we welcome community contributions to these libraries. All primary and secondary clients are available under the MIT license. For tertiary clients, please consult the repository for the license.
Compatibility
All DuckDB clients support the same DuckDB SQL syntax and use the same on-disk database format. DuckDB extensions are also portable between clients with some exceptions (see Wasm extensions).