DuckDB is an in-process database system and offers client APIs (also known as “drivers”) for several languages.
| Client API | Maintainer | Support tier | Version |
|---|---|---|---|
| C | The DuckDB team | Primary | 1.4.1 |
| Command Line Interface (CLI) | The DuckDB team | Primary | 1.4.1 |
| Java (JDBC) | The DuckDB team | Primary | 1.4.1 |
| Go | The DuckDB team | Primary | 1.4.1 |
| Node.js (node-neo) | Jeff Raymakers (MotherDuck) | Primary | 1.4.1 |
| ODBC | The DuckDB team | Primary | 1.4.1 |
| Python | The DuckDB team | Primary | 1.4.1 |
| R | Kirill Müller and the DuckDB team | Primary | 1.4.1 |
| Rust | The DuckDB team | Primary | 1.4.1 |
| WebAssembly (Wasm) | The DuckDB team | Primary | 1.4.1 |
| ADBC (Arrow) | The DuckDB team | Secondary | 1.4.1 |
| C# (.NET) | Giorgi | Secondary | 1.4.1 |
| C++ | The DuckDB team | Secondary | 1.4.1 |
| Node.js (deprecated) | The DuckDB team | Secondary | 1.4.1 |
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 for the MIT license. For tertiary clients, please consult the repository for the license.
We report the latest stable version for the clients in the primary and secondary support tiers.
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).