MCPcopy Index your code
hub / github.com/duckdb/duckdb

github.com/duckdb/duckdb @v1.5.4

Chat with this repo
repository ↗ · DeepWiki ↗ · release v1.5.4 ↗ · + Follow
34,315 symbols 90,397 edges 3,634 files 2,724 documented · 8%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README
<img alt="DuckDB logo" src="https://github.com/duckdb/duckdb/raw/v1.5.4/logo/DuckDB_Logo-horizontal.svg" height="100">

Github Actions Badge discord Latest Release

DuckDB

DuckDB is a high-performance analytical database system. It is designed to be fast, reliable, portable, and easy to use. DuckDB provides a rich SQL dialect with support far beyond basic SQL. DuckDB supports arbitrary and nested correlated subqueries, window functions, collations, complex types (arrays, structs, maps), and several extensions designed to make SQL easier to use.

DuckDB is available as a standalone CLI application and has clients for Python, R, Java, Wasm, etc., with deep integrations with packages such as pandas and dplyr.

For more information on using DuckDB, please refer to the DuckDB documentation.

Installation

If you want to install DuckDB, please see our installation page for instructions.

Data Import

For CSV files and Parquet files, data import is as simple as referencing the file in the FROM clause:

SELECT * FROM 'myfile.csv';
SELECT * FROM 'myfile.parquet';

Refer to our Data Import section for more information.

SQL Reference

The documentation contains a SQL introduction and reference.

Development

For development, DuckDB requires CMake, Python 3 and a C++11 compliant compiler. In the root directory, run make to compile the sources. For development, use make debug to build a non-optimized debug version. You should run make unit and make allunit to verify that your version works properly after making changes. To test performance, you can run BUILD_BENCHMARK=1 BUILD_TPCH=1 make and then perform several standard benchmarks from the root directory by executing ./build/release/benchmark/benchmark_runner. The details of benchmarks are in our Benchmark Guide.

Please also refer to our Build Guide and Contribution Guide.

Support

See the Support Options page and the dedicated endoflife.date page.

Core symbols most depended-on inside this repo

size
called by 5997
src/common/encryption_types.cpp
push_back
called by 3501
src/include/duckdb/common/index_vector.hpp
empty
called by 2462
src/include/duckdb/common/types/string.hpp
emplace_back
called by 2192
src/include/duckdb/common/arena_linked_list.hpp
get
called by 1563
src/include/duckdb/common/deque.hpp
id
called by 1323
src/include/duckdb/common/types.hpp
insert
called by 1164
src/include/duckdb/common/owning_string_map.hpp
find
called by 1040
src/include/duckdb/common/fixed_size_map.hpp

Shape

Method 20,395
Class 7,567
Function 5,634
Enum 716
Route 3

Languages

C++97%
Python3%
C1%

Modules by API surface

src/common/enum_util.cpp711 symbols
src/include/duckdb/common/enum_util.hpp240 symbols
tools/shell/shell_renderer.cpp169 symbols
extension/autocomplete/transformer/transform_expression.cpp168 symbols
src/include/duckdb/main/settings.hpp147 symbols
extension/autocomplete/transformer/transform_select.cpp145 symbols
extension/core_functions/scalar/date/date_part.cpp139 symbols
test/api/adbc/driver_manager.cpp137 symbols
extension/core_functions/scalar/math/numeric.cpp130 symbols
tools/shell/tests/test_shell_basics.py122 symbols
src/common/symbols.cpp119 symbols
tools/shell/shell.cpp113 symbols

For agents

$ claude mcp add duckdb \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page