# Install thrift with Homebrew, apk, apt, dnf, MacPorts, Nix, pacman, scoop, zypper

Framework for scalable cross-language services development. Version 0.23.0 via Homebrew; verified 2026-06-22.

## Install

```sh
sudo av install brew:thrift
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install thrift
```

  Evidence: local Homebrew formula metadata

- MacPorts (94%):

```sh
sudo port install thrift
```

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

### Linux

- apk (92%):

```sh
sudo apk add libthrift
```

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

- Debian apt (92%):

```sh
sudo apt install golang-thrift-dev
```

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

- dnf (92%):

```sh
sudo dnf install perl-thrift
```

  Evidence: Fedora Rawhide package metadata: perl-thrift 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#thrift
```

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

- pacman (92%):

```sh
sudo pacman -S thrift
```

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

- zypper (92%):

```sh
sudo zypper install libthrift-0_23_0
```

  Evidence: openSUSE Tumbleweed package metadata: libthrift-0_23_0 from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst

### Windows

- Scoop (92%):

```sh
scoop install main/thrift
```

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

## Package facts

- **Package key:** brew:thrift
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/thrift>
- **Version:** 0.23.0
- **Source summary:** Framework for scalable cross-language services development
- **Homepage:** <https://thrift.apache.org/>
- **Repository:** <https://github.com/apache/thrift>
- **Upstream docs:** <https://github.com/apache/thrift#readme>
- **License:** Apache-2.0
- **Source archive:** <https://www.apache.org/dyn/closer.lua?path=thrift/0.23.0/thrift-0.23.0.tar.gz>
- **Last updated:** 2026-06-22T14:06:28-07:00
- **Generated:** 2026-07-08T07:18:31+00:00

## Executables

- thrift (cli)
- thrift (alias)

## Dependencies

- openssl@3

## Build dependencies

- bison
- boost

## 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: 0.23.0
- Package-manager updated: 2026-06-22
- Local data: ok
- Upstream repository: https://thrift.apache.org/
- info: Release/tag comparison is only available for GitHub repositories.
## Project history and usage

Apache Thrift is a cross-language serialization, interface-definition, and RPC framework built around a compiler that turns `.thrift` IDL files into client/server code and data types for many programming languages.

### Project history

Thrift began at Facebook, was open sourced in April 2007, entered the Apache Incubator in May 2008, and became an Apache top-level project in October 2010. Apache's own project page describes the goal as efficient, reliable communication and data serialization across languages.

The project settled into the classic compiler-plus-runtime model: developers write service and type definitions in Thrift IDL, run the Thrift compiler, and combine the generated code with the runtime library for each target language. Apache's README describes Thrift as a lightweight, language-independent software stack for point-to-point RPC, with clean abstractions for transport, serialization, and application processing.

### Adoption history

Thrift's adoption pattern follows its cross-language design. Apache documentation says each supported language needs both the generated code from the compiler and the Apache Thrift library for that language, while the language matrix notes broad language support and a large cross-language test matrix.

In package-manager culture, Thrift is widely packaged because it is both a CLI compiler and a family of language runtimes. The input package facts list Homebrew, Debian/Ubuntu, Fedora, Arch, MacPorts, Nix, Scoop, and openSUSE-family packages, often with language-specific package names.

### How it is used

A typical workflow is to define structs, exceptions, constants, and services in a `.thrift` IDL file, then run the compiler with a target such as `--gen go`, `--gen java`, or another supported backend. The generated code becomes the typed contract used by clients and servers.

Package maintainers care about the compiler/runtime split: projects may need the `thrift` executable at build time, runtime libraries in specific languages, and matching versions so generated code and library APIs agree.

### Why package nerds care

Apache Thrift is significant to package nerds because it is a dependency bridge rather than just one executable. A single version bump can matter to C++, Java, Python, Go, Ruby, Node.js, and other ecosystems that consume generated bindings.

It also illustrates why package managers keep code generators around as first-class developer tools: Thrift IDL is often checked into source trees, but the generated output, runtime library, and compiler version still affect reproducibility.

### Timeline

- 2007: Facebook open sourced Thrift.
- 2008: Thrift entered the Apache Incubator.
- 2010: Thrift graduated as an Apache top-level project.
- 2026: Apache Thrift v0.23.0 published on GitHub releases.

### Related projects

- Facebook's fbthrift repository is an evolved internal branch that Facebook re-released in 2014 and explicitly describes as not being a distribution of Apache Thrift.
- CloudWeGo thriftgo is a Go implementation of a Thrift IDL compiler used by the CloudWeGo toolchain.

### Sources

- <https://api.github.com/repos/apache/thrift/releases>
- <https://github.com/apache/thrift>
- <https://github.com/facebook/fbthrift>
- <https://incubator.apache.org/projects/thrift.html>
- <https://thrift.apache.org/about>
- <https://thrift.apache.org/docs/>
- <https://thrift.apache.org/docs/Languages.html>
- <https://thrift.apache.org/docs/idl>
- input source_facts.package-manager


## Security Notes

narrow executable package without higher-risk signals.

- **Geiger risk:** green / low
- narrow executable package without higher-risk signals

## Source Database Details

- **Source Database:** Homebrew formula API
- **Tap:** homebrew/core
- **Full Name:** thrift
- **Aliases:** thrift@0.23
- **Version Scheme:** 0
- **Revision:** 0
- **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 - golang-thrift-dev - 0.19.0-4: normalized package name match | Debian stable package indexes: golang-thrift-dev from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | Go language support for Thrift | https://thrift.apache.org/
- Debian apt - libthrift-0.19.0t64 - 0.19.0-4+b1: normalized package name match | Debian stable package indexes: libthrift-0.19.0t64 from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | Thrift C++ library | https://thrift.apache.org/
- Debian apt - libthrift-c-glib-dev - 0.19.0-4+b1: normalized package name match | Debian stable package indexes: libthrift-c-glib-dev from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | Thrift glib library (development headers) | https://thrift.apache.org/
- Debian apt - libthrift-c-glib0t64 - 0.19.0-4+b1: normalized package name match | Debian stable package indexes: libthrift-c-glib0t64 from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | Thrift glib library | https://thrift.apache.org/
- Debian apt - libthrift-dev - 0.19.0-4+b1: normalized package name match | Debian stable package indexes: libthrift-dev from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | Thrift C++ library (development headers) | https://thrift.apache.org/
- Debian apt - libthrift-perl - 0.19.0-4: normalized package name match | Debian stable package indexes: libthrift-perl from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | Perl language support for Thrift | https://thrift.apache.org/
- Debian apt - php-thrift - 0.19.0-4+b1: normalized package name match | Debian stable package indexes: php-thrift from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | PHP language support for Thrift | https://thrift.apache.org/
- Debian apt - python3-thrift - 0.19.0-4+b1: normalized package name match | Debian stable package indexes: python3-thrift from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | Python 3 library for Thrift | https://thrift.apache.org/
- Debian apt - thrift-compiler - 0.19.0-4+b1: normalized package name match | Debian stable package indexes: thrift-compiler from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | code generator/compiler for Thrift definitions | https://thrift.apache.org/
- Nix - thrift: normalized package name match | nixpkgs package indexes: pkgs/by-name/th/thrift/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
- Ubuntu apt - golang-thrift-dev - 0.19.0-2.1build5: normalized package name match | Ubuntu 24.04 LTS package indexes: golang-thrift-dev from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | Go language support for Thrift | https://thrift.apache.org/
- Ubuntu apt - libthrift-0.19.0t64 - 0.19.0-2.1build5: normalized package name match | Ubuntu 24.04 LTS package indexes: libthrift-0.19.0t64 from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | Thrift C++ library | https://thrift.apache.org/
- Ubuntu apt - libthrift-c-glib-dev - 0.19.0-2.1build5: normalized package name match | Ubuntu 24.04 LTS package indexes: libthrift-c-glib-dev from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | Thrift glib library (development headers) | https://thrift.apache.org/
- Ubuntu apt - libthrift-c-glib0t64 - 0.19.0-2.1build5: normalized package name match | Ubuntu 24.04 LTS package indexes: libthrift-c-glib0t64 from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | Thrift glib library | https://thrift.apache.org/
- Ubuntu apt - libthrift-dev - 0.19.0-2.1build5: normalized package name match | Ubuntu 24.04 LTS package indexes: libthrift-dev from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | Thrift C++ library (development headers) | https://thrift.apache.org/
- Ubuntu apt - libthrift-perl - 0.19.0-2.1build5: normalized package name match | Ubuntu 24.04 LTS package indexes: libthrift-perl from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | Perl language support for Thrift | https://thrift.apache.org/


## 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.
- [Developer build packages](https://www.automicvault.com/pkg/developer-build-tools/) - Matched build, compiler, generator, or developer workflow metadata.
- [Language runtime packages](https://www.automicvault.com/pkg/language-runtime-packages/) - Matched language runtime, compiler, or interpreter metadata.
- [openssl@3](https://www.automicvault.com/pkg/brew/openssl-3/) - Runtime dependency declared by Homebrew.
- [bison](https://www.automicvault.com/pkg/brew/bison/) - Build dependency declared by Homebrew.
- [apache-arrow](https://www.automicvault.com/pkg/brew/apache-arrow/) - Popular package that depends on this formula.
- [fbthrift](https://www.automicvault.com/pkg/brew/fbthrift/) - Shares av.db curated category or tags: cli, code-generation, developer-tools, rpc, serialization.
- [protoc-gen-go-grpc](https://www.automicvault.com/pkg/brew/protoc-gen-go-grpc/) - Shares av.db curated category or tags: cli, code-generation, developer-tools, rpc.
- [brpc](https://www.automicvault.com/pkg/brew/brpc/) - Shares av.db curated category or tags: cli, developer-tools, rpc.
- [grpc](https://www.automicvault.com/pkg/brew/grpc/) - Shares av.db curated category or tags: cli, developer-tools, rpc.
- [capnp](https://www.automicvault.com/pkg/brew/capnp/) - Shares av.db curated category or tags: cli, developer-tools, rpc, serialization.
- [flatbuffers](https://www.automicvault.com/pkg/brew/flatbuffers/) - Shares av.db curated category or tags: cli, code-generation, developer-tools, serialization.
- [goctl](https://www.automicvault.com/pkg/brew/goctl/) - Shares av.db curated category or tags: cli, code-generation, developer-tools, rpc.
- [kitex](https://www.automicvault.com/pkg/brew/kitex/) - Shares av.db curated category or tags: cli, code-generation, developer-tools, rpc.

## Combined YAML source

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


## Sources

- Nucleus package database
- Geiger risk classifier
- package-page enrichment
- 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
