# Install buku with Homebrew, apk, apt, dnf, MacPorts, Nix

Powerful command-line bookmark manager. Version 5.1 via Homebrew; verified 2026-06-13.

## Install

```sh
sudo av install brew:buku
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install buku
```

  Evidence: local Homebrew formula metadata

- MacPorts (94%):

```sh
sudo port install buku
```

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

### Linux

- apk (92%):

```sh
sudo apk add buku
```

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

- Debian apt (92%):

```sh
sudo apt install buku
```

  Evidence: Debian stable package indexes: buku from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz

- dnf (92%):

```sh
sudo dnf install buku
```

  Evidence: Fedora Rawhide package metadata: buku from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst

- Nix (92%):

```sh
nix profile install nixpkgs#buku
```

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

## Package facts

- **Package key:** brew:buku
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/buku>
- **Version:** 5.1
- **Source summary:** Powerful command-line bookmark manager
- **Homepage:** <https://github.com/jarun/buku>
- **Repository:** <https://github.com/jarun/buku>
- **Upstream docs:** <https://buku.readthedocs.io/en/latest>
- **License:** GPL-3.0-or-later
- **Source archive:** <https://github.com/jarun/buku/archive/refs/tags/v5.1.tar.gz>
- **Last updated:** 2026-06-13T11:21:14-07:00
- **Generated:** 2026-07-08T07:18:31+00:00

## Executables

- buku (cli)
- bukuserver (cli)
- buku (alias)
- bukuserver (alias)

## Dependencies

- certifi
- cryptography
- libyaml
- python@3.14
- rpds-py

## Uses from macOS

- libffi

## 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: 5.1
- Package-manager updated: 2026-06-13
- Local data: ok
- Upstream repository: https://github.com/jarun/buku
- Upstream latest detected: v5.1 (current)
## Project history and usage

buku is a command-line bookmark manager built around a private, portable SQLite bookmark database. It sits in the Unix tradition of personal information tools that are scriptable, editor-friendly, and intentionally local-first.

### Project history

The `jarun/buku` repository was created on 2015-11-01. In the README, the author explains that buku was written because they could not find a flexible command-line bookmark manager with a private, portable, mergeable database and seamless GUI integration.

Over time buku grew beyond simple URL storage into a bookmark database with browser import, automatic title/tag/description fetching, regex and fielded search, Wayback Machine lookups, import/export formats, manual encryption, shell completion, a Python API, and the optional `bukuserver` web UI.

### Adoption history

buku's adoption followed the path of many beloved CLI productivity tools: distribution through PyPI and operating-system package managers, then auxiliary frontends and integrations around the core database. The input package facts list Homebrew, Debian, Ubuntu, Fedora, Alpine, MacPorts, Nix, and PyPI-adjacent installation routes.

The upstream README lists related projects such as a browser WebExtension, rofi frontend, search-as-you-type CLI frontend, and Android app, plus press/tutorial mentions. That ecosystem points to adoption by users who wanted browser bookmarks to become a portable, searchable personal dataset.

### How it is used

Users add, edit, tag, search, open, import, export, and refresh bookmarks from the terminal. Common workflows include importing browser bookmarks, adding URLs with fetched metadata, searching by tags or URL/title/comment markers, exporting subsets to HTML/XBEL/Markdown/Org/RSS, and using an editor for bookmark entry.

`bukuserver` gives users a local web UI, while the Python API and related tools allow custom integrations. The database location can be redirected through `BUKU_DEFAULT_DBDIR` or XDG paths, which makes syncing and backups straightforward.

### Why package nerds care

buku is package-nerd catnip because it turns a browser-owned feature into a plain local database with a normal CLI. It is small enough to understand, useful enough to package everywhere, and scriptable enough to become part of shell workflows.

Its charm is that it treats bookmarks like data: searchable, exportable, mergeable, syncable, and private by default rather than bound to one browser profile or cloud account.

### Timeline

- 2015: Public `jarun/buku` repository is created.
- 2010s: buku gains packaging across Python and Linux/macOS package managers.
- 2010s: Related projects appear around browser integration, rofi, Android, and web UI workflows.
- 2026: The repository remains active and continues to document package-manager installation and a broad feature set.

### Related projects

- buku is related to `bukuserver`, bukubrow, oil, buku_run, buku-dmenu, buku-android, browser bookmark import/export formats, SQLite, PyPI packaging, and XDG data-directory conventions.

### Sources

- <https://api.github.com/repos/jarun/buku>
- <https://buku.readthedocs.io/en/latest>
- <https://github.com/jarun/buku#readme>
- <https://github.com/jarun/buku/wiki>
- source_facts.package-manager


## Security Notes

No matching local secret-handling manifest was found for buku. 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: $BUKU_DEFAULT_DBDIR/bookmarks.db, $XDG_DATA_HOME/buku/bookmarks.db, ~/.local/share/buku/bookmarks.db, ./bookmarks.db
- Windows: %APPDATA%\buku\bookmarks.db, .\bookmarks.db
## Source Database Details

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

## Other Package-Manager Records

- Debian apt - buku - 4.9+ds-1: normalized package name match | Debian stable package indexes: buku from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | Powerful command-line bookmark manager | https://github.com/jarun/Buku
- Nix - buku: normalized package name match | nixpkgs package indexes: pkgs/by-name/bu/buku/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
- Ubuntu apt - buku - 4.8+ds-1: normalized package name match | Ubuntu 24.04 LTS package indexes: buku from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | Powerful command-line bookmark manager | https://github.com/jarun/Buku
- apk - buku - 5.1-r0: normalized package name match | Alpine Linux edge package indexes: buku from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | Cmdline bookmark management utility | https://github.com/jarun/Buku
- apk - buku-bash-completion - 5.1-r0: normalized package name match | Alpine Linux edge package indexes: buku-bash-completion from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | Bash completions for buku | https://github.com/jarun/Buku
- apk - buku-doc - 5.1-r0: normalized package name match | Alpine Linux edge package indexes: buku-doc from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | Cmdline bookmark management utility (documentation) | https://github.com/jarun/Buku
- apk - buku-fish-completion - 5.1-r0: normalized package name match | Alpine Linux edge package indexes: buku-fish-completion from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | Fish completions for buku | https://github.com/jarun/Buku
- apk - buku-pyc - 5.1-r0: normalized package name match | Alpine Linux edge package indexes: buku-pyc from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | Precompiled Python bytecode for buku | https://github.com/jarun/Buku
- apk - buku-zsh-completion - 5.1-r0: normalized package name match | Alpine Linux edge package indexes: buku-zsh-completion from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | Zsh completions for buku | https://github.com/jarun/Buku
- dnf - buku - 4.9-4.fc44: normalized package name match | Fedora Rawhide package metadata: buku from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst | Powerful command-line bookmark manager | https://github.com/jarun/Buku
- MacPorts - buku: normalized package name match | MacPorts ports tree: python/buku/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1


## Related links

- [Source-control packages](https://www.automicvault.com/pkg/source-control-tools/) - Belongs to a source-control command family.
- [Terminal utility packages](https://www.automicvault.com/pkg/terminal-utilities/) - Matched terminal and command-line workflow metadata.
- [Networking and protocol packages](https://www.automicvault.com/pkg/networking-protocol-tools/) - Matched network, protocol, or remote-service metadata.
- [Web development packages](https://www.automicvault.com/pkg/web-dev-tools/) - Matched web development metadata.
- [python@3.14](https://www.automicvault.com/pkg/brew/python-3-14/) - Runtime dependency declared by Homebrew.
- [jpdfbookmarks](https://www.automicvault.com/pkg/brew/jpdfbookmarks/) - Shares av.db curated category or tags: bookmarks, cli, productivity.
- [apparix](https://www.automicvault.com/pkg/brew/apparix/) - Shares av.db curated category or tags: bookmarks, cli, productivity.
- [bkmr](https://www.automicvault.com/pkg/brew/bkmr/) - Shares av.db curated category or tags: bookmarks, cli, productivity.
- [cdargs](https://www.automicvault.com/pkg/brew/cdargs/) - Shares av.db curated category or tags: bookmarks, cli, productivity.
- [filebrowser](https://www.automicvault.com/pkg/brew/filebrowser/) - Shares av.db curated category or tags: cli, productivity, web-ui.
- [hledger](https://www.automicvault.com/pkg/brew/hledger/) - Shares av.db curated category or tags: cli, productivity, web-ui.
- [karakeep](https://www.automicvault.com/pkg/brew/karakeep/) - Shares av.db curated category or tags: bookmarks, cli, productivity.
- [nb](https://www.automicvault.com/pkg/brew/nb/) - Shares av.db curated category or tags: bookmarks, cli, productivity.
- [gcalcli](https://www.automicvault.com/pkg/brew/gcalcli/) - Both packages touch the same language runtime or ecosystem. Shared terms: certifi, cli, command-line, cryptography, line.
- [mcp-google-sheets](https://www.automicvault.com/pkg/brew/mcp-google-sheets/) - Both packages touch the same language runtime or ecosystem. Shared terms: certifi, cli, cryptography, productivity, python.
- [bagels](https://www.automicvault.com/pkg/brew/bagels/) - Both packages touch the same language runtime or ecosystem. Shared terms: certifi, cli, libyaml, powerful, productivity.

## Combined YAML source

View the package source record on GitHub. [combined/buku.yml](https://github.com/automic-vault/db/blob/main/combined/buku.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
