# Install duckdb with Homebrew, apk, MacPorts, Nix, pacman, scoop, winget

Embeddable SQL OLAP Database Management System. Version 1.5.4 via Homebrew; verified 2026-06-17.

## Install

```sh
sudo av install brew:duckdb
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install duckdb
```

  Evidence: local Homebrew formula metadata

- MacPorts (94%):

```sh
sudo port install duckdb
```

  Evidence: MacPorts ports tree: databases/duckdb/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1

### Linux

- apk (92%):

```sh
sudo apk add duckdb
```

  Evidence: Alpine Linux edge package indexes: duckdb from https://dl-cdn.alpinelinux.org/alpine/edge/testing/x86_64/APKINDEX.tar.gz

- Nix (92%):

```sh
nix profile install nixpkgs#duckdb
```

  Evidence: nixpkgs package indexes: pkgs/by-name/du/duckdb/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1

- pacman (92%):

```sh
sudo pacman -S duckdb
```

  Evidence: Arch Linux sync databases: duckdb from https://geo.mirror.pkgbuild.com/extra/os/x86_64/extra.db.tar.gz

### Windows

- Scoop (92%):

```sh
scoop install main/duckdb
```

  Evidence: Scoop official bucket manifest trees: bucket/duckdb.json from https://api.github.com/repos/ScoopInstaller/Main/git/trees/master?recursive=1

- winget (92%):

```sh
winget install --id DuckDB.cli -e
```

  Evidence: Windows Package Manager source index: DuckDB.cli from https://cdn.winget.microsoft.com/cache/source.msix

## Package facts

- **Package key:** brew:duckdb
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/duckdb>
- **Version:** 1.5.4
- **Source summary:** Embeddable SQL OLAP Database Management System
- **Homepage:** <https://www.duckdb.org>
- **Repository:** <https://github.com/duckdb/duckdb>
- **Upstream docs:** <https://duckdb.org/docs>
- **License:** MIT
- **Source archive:** <https://github.com/duckdb/duckdb.git>
- **Last updated:** 2026-06-17T13:07:53Z
- **Generated:** 2026-07-08T07:18:31+00:00

## Executables

- duckdb (cli)
- duckdb_cli (cli)
- duckdb (alias)
- duckdb_cli (alias)

## Build dependencies

- cmake

## Install behavior

- Post-install hook: not defined
- Bottle: available on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux

## Freshness

- Page generated: 2026-07-08
- Package-manager version: 1.5.4
- Package-manager updated: 2026-06-17
- Local data: ok
- Upstream repository: https://github.com/duckdb/duckdb
- info: No cached GitHub release or tag data was available.
## Project history and usage

DuckDB is an embeddable analytical SQL database, often described culturally as SQLite for analytics. It became important because it made columnar OLAP queries, Parquet/CSV exploration, and dataframe-adjacent SQL available as a local library and CLI rather than a server to deploy.

### Project history

DuckDB was created by database researchers Mark Raasveldt and Hannes Muehleisen and grew out of academic work on embedded analytics. The DuckDB site links its research lineage to the SIGMOD 2019 DuckDB demo and the CIDR 2020 embedded analytics paper.

The project deliberately borrowed the embedded, zero-server deployment model made famous by SQLite, but targeted analytical query workloads instead of transactional application storage. Its documentation emphasizes no external runtime dependencies, portability across major operating systems and CPU architectures, and a columnar-vectorized execution engine for OLAP.

Over time DuckDB expanded from a C++ database engine and CLI into a multi-language analytical component with clients for Python, R, Java, Wasm, and other environments. That made it part database, part data-science runtime building block.

### Adoption history

Early adoption came from data scientists and engineers who wanted fast local SQL over CSV, Parquet, pandas, Arrow, and data lake files without running a database server. The official README highlights deep integrations with pandas and dplyr, plus standalone CLI usage.

DuckDB's 1.0.0 release in June 2024 was a major adoption milestone because the project used it to signal stability for production use. By then, it had already become a common dependency in notebooks, local analytics scripts, ETL checks, and data toolchains.

Package-manager adoption is broad: the package appears in Homebrew, Linux distributions, Nix, MacPorts, Arch, Scoop, and winget-style Windows packaging. That matters because the CLI is often used directly by people inspecting files at the shell.

### How it is used

Typical usage includes ad hoc SQL over CSV and Parquet files, embedding an analytical engine in Python or R, running local transformations before loading data elsewhere, and querying data lake files through extensions such as httpfs and S3 support.

The CLI gives package users a small, scriptable database shell. The library APIs make the same engine available inside applications, notebooks, and data pipelines.

### Why package nerds care

DuckDB is one of the clearest modern examples of a package whose CLI understates its ecosystem impact. The Homebrew formula installs a command, but the project is also a database engine, language bindings ecosystem, extension platform, and data tooling dependency.

For package metadata, DuckDB is significant because its category is not just database-server software. It is an embedded OLAP engine whose distribution model looks like SQLite, whose usage overlaps with pandas/Arrow/Parquet workflows, and whose package-manager footprint signals mainstream adoption in local analytics.

### Timeline

- 2019: DuckDB: An Embeddable Analytical Database appears as a SIGMOD demo.
- 2020: Data Management for Data Science - Towards Embedded Analytics appears at CIDR.
- 2020: Public 0.1.x releases appear in the GitHub release history.
- 2022: DuckDB-Wasm is presented as a VLDB demo, extending DuckDB into browser-based analytics.
- 2024: DuckDB 1.0.0 is announced as the first stable major release.

### Related projects

- SQLite is the central architectural comparison point for DuckDB's embedded model, while MonetDB, PostgreSQL, and vectorized analytical engines are part of its database lineage and testing/reference context.
- DuckDB is closely related in usage to Apache Arrow, pandas, dplyr, Parquet, MotherDuck, and DuckDB-Wasm; these projects and integrations explain much of its adoption outside traditional database administration.

### Sources

- <https://github.com/duckdb/duckdb>
- <https://duckdb.org/why_duckdb.html>
- <https://duckdb.org/2024/06/03/announcing-duckdb-100.html>
- <https://duckdb.org/library/>
- <https://github.com/duckdb/duckdb/releases>


## Security Notes

No matching local secret-handling manifest was found for duckdb. Nucleus package metadata is still published here so future coverage has a stable package URL.



## Configuration and credential file locations

These source-backed paths show where this package keeps local settings or durable credentials. Automic Vault can use them as review targets for secret scanning, migration, and command approval.


## Configuration files

- Unix: ~/.duckdbrc
## Source Database Details

- **Source Database:** Homebrew formula API
- **Tap:** homebrew/core
- **Full Name:** duckdb
- **Version Scheme:** 0
- **Revision:** 0
- **Bottle Stable Root URL:** <https://ghcr.io/v2/homebrew/core>
- **Deprecated:** no
- **Disabled:** no
- **Keg Only:** no
- **URL Keys:** stable

## Other Package-Manager Records

- Nix - duckdb: normalized package name match | nixpkgs package indexes: pkgs/by-name/du/duckdb/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
- apk - duckdb - 1.5.2-r0: normalized package name match | Alpine Linux edge package indexes: duckdb from https://dl-cdn.alpinelinux.org/alpine/edge/testing/x86_64/APKINDEX.tar.gz | High-performance analytical database system | https://duckdb.org
- apk - duckdb-dev - 1.5.2-r0: normalized package name match | Alpine Linux edge package indexes: duckdb-dev from https://dl-cdn.alpinelinux.org/alpine/edge/testing/x86_64/APKINDEX.tar.gz | High-performance analytical database system (development files) | https://duckdb.org
- apk - duckdb-doc - 1.5.2-r0: normalized package name match | Alpine Linux edge package indexes: duckdb-doc from https://dl-cdn.alpinelinux.org/alpine/edge/testing/x86_64/APKINDEX.tar.gz | High-performance analytical database system (documentation) | https://duckdb.org
- apk - duckdb-libs - 1.5.2-r0: normalized package name match | Alpine Linux edge package indexes: duckdb-libs from https://dl-cdn.alpinelinux.org/alpine/edge/testing/x86_64/APKINDEX.tar.gz | High-performance analytical database system (libraries) | https://duckdb.org
- pacman - duckdb - 1.5.3-1: normalized package name match | Arch Linux sync databases: duckdb from https://geo.mirror.pkgbuild.com/extra/os/x86_64/extra.db.tar.gz | An analytical in-process SQL database management system | https://www.duckdb.org
- MacPorts - duckdb: normalized package name match | MacPorts ports tree: databases/duckdb/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1
- Scoop - main/duckdb: normalized package name match | Scoop official bucket manifest trees: bucket/duckdb.json from https://api.github.com/repos/ScoopInstaller/Main/git/trees/master?recursive=1
- winget - DuckDB.cli: installed executable or alias match | Windows Package Manager source index: DuckDB.cli from https://cdn.winget.microsoft.com/cache/source.msix


## Related links

- [Terminal utility packages](https://www.automicvault.com/pkg/terminal-utilities/) - Matched terminal and command-line workflow metadata.
- [Text processing packages](https://www.automicvault.com/pkg/text-processing-tools/) - Matched text, document, or structured-data processing metadata.
- [Networking and protocol packages](https://www.automicvault.com/pkg/networking-protocol-tools/) - Matched network, protocol, or remote-service metadata.
- [Database and data packages](https://www.automicvault.com/pkg/database-data-tools/) - Matched database, SQL, migration, or data-store metadata.
- [cmake](https://www.automicvault.com/pkg/brew/cmake/) - Build dependency declared by Homebrew.
- [msgvault](https://www.automicvault.com/pkg/brew/msgvault/) - Popular package that depends on this formula.
- [monetdb](https://www.automicvault.com/pkg/brew/monetdb/) - Shares av.db curated category or tags: analytics, cli, data, database, sql.
- [pinot](https://www.automicvault.com/pkg/brew/pinot/) - Shares av.db curated category or tags: analytics, cli, data, database, olap.
- [questdb](https://www.automicvault.com/pkg/brew/questdb/) - Shares av.db curated category or tags: cli, data, database, olap, sql.
- [dolt](https://www.automicvault.com/pkg/brew/dolt/) - Shares av.db curated category or tags: cli, data, database, sql.
- [doltgres](https://www.automicvault.com/pkg/brew/doltgres/) - Shares av.db curated category or tags: cli, data, database, sql.
- [immudb](https://www.automicvault.com/pkg/brew/immudb/) - Shares av.db curated category or tags: cli, data, database, sql.
- [lazysql](https://www.automicvault.com/pkg/brew/lazysql/) - Shares av.db curated category or tags: cli, data, database, sql.
- [mariadb](https://www.automicvault.com/pkg/brew/mariadb/) - Shares av.db curated category or tags: cli, data, database, sql.
- [mysql](https://www.automicvault.com/pkg/brew/mysql/) - Local metadata places this package in an adjacent workflow. Shared terms: cli, data, database, management, sql.

## Combined YAML source

View the package source record on GitHub. [combined/duckdb.yml](https://github.com/automic-vault/db/blob/main/combined/duckdb.yml)


## Sources

- Nucleus package database
- Geiger risk classifier
- package-page enrichment
- curated configuration and credential file locations
- curated package history
- package version freshness
- av.db category and tag curation
- package relationship graph
- external package-manager database matches
- cross-ecosystem install command graph
