# Install swig with Homebrew, apk, chocolatey, apt, dnf, MacPorts, Nix, pacman, scoop, winget, zypper

Generate scripting interfaces to C/C++ code. Version 4.4.1 via Homebrew; verified from local package data.

## Install

```sh
sudo av install brew:swig
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install swig
```

  Evidence: local Homebrew formula metadata

- MacPorts (94%):

```sh
sudo port install swig
```

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

### Linux

- apk (92%):

```sh
sudo apk add swig
```

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

- Debian apt (92%):

```sh
sudo apt install swig
```

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

- dnf (92%):

```sh
sudo dnf install ccache-swig
```

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

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

- pacman (92%):

```sh
sudo pacman -S swig
```

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

- zypper (92%):

```sh
sudo zypper install swig
```

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

### Windows

- Chocolatey (92%):

```sh
choco install swig
```

  Evidence: Chocolatey community package catalog: swig from http://community.chocolatey.org/api/v2/Packages?$filter=IsLatestVersion&$select=Id&$top=1000&$skiptoken='11','superputty'

- Scoop (92%):

```sh
scoop install main/swig
```

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

- winget (92%):

```sh
winget install --id SWIG.SWIG -e
```

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

## Package facts

- **Package key:** brew:swig
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/swig>
- **Version:** 4.4.1
- **Source summary:** Generate scripting interfaces to C/C++ code
- **Homepage:** <https://www.swig.org/>
- **Repository:** <https://github.com/swig/swig>
- **Upstream docs:** <https://www.swig.org/doc.html>
- **License:** GPL-3.0-or-later
- **Source archive:** <https://downloads.sourceforge.net/project/swig/swig/swig-4.4.1/swig-4.4.1.tar.gz>
- **Generated:** 2026-07-08T07:18:31+00:00

## Executables

- ccache-swig (cli)
- swig (cli)
- ccache-swig (alias)
- swig (alias)

## Dependencies

- pcre2

## Install behavior

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

## Freshness

- Page generated: 2026-07-08
- Package-manager version: 4.4.1
- Local data: ok
- Upstream repository: https://www.swig.org/
- info: No package-manager update timestamp was available.
- info: Release/tag comparison is only available for GitHub repositories.
## Project history and usage

SWIG, the Simplified Wrapper and Interface Generator, is a long-running tool for connecting C and C++ programs to higher-level languages. In package-manager culture it is a classic build dependency: old, portable, cross-language, and often installed because another package needs generated bindings.

### Project history

SWIG began in July 1995 when Dave Beazley developed it at Los Alamos National Laboratory for scientific software that needed scripting interfaces. The official history says it was rewritten in C++ at the University of Utah in January 1996 and expanded beyond its original environment to Tcl, Perl, and Guile.

Version 1.0 arrived in September 1996 with Python support, followed by 1.1 in 1997. The long 1.3 development series began in 2000 and carried the project through a decade of incremental language and parser work before SWIG 2.0.0 was released in 2010.

Later major releases continued to track C++ and target-language evolution: 3.0.0 in 2014, 4.0.0 in 2019, 4.1.x in 2022, 4.2.x in 2023-2024, 4.3.x in 2024-2025, and 4.4.x in 2025.

### Adoption history

The SWIG homepage describes support for common scripting languages including JavaScript, Perl, PHP, Python, Tcl, and Ruby, plus non-scripting targets such as C#, D, Go, Java, Lua, OCaml, Octave, Scilab, R, and Guile. That breadth made it a general-purpose bridge for C and C++ libraries rather than a single-language extension tool.

The documentation page lists papers and tutorials from the 1996-1998 period and later training material, reflecting early adoption in Tcl, Python, Perl, scientific computing, and systems integration communities.

The input package facts show SWIG in many package managers, including apk, Homebrew, Chocolatey, Debian, DNF, MacPorts, Nix, pacman, Scoop, Ubuntu, winget, and zypper. That distribution footprint fits its role as a cross-platform tool needed by both developers and downstream package builds.

### How it is used

SWIG is commonly used to parse C or C++ declarations and generate wrapper or glue code so higher-level languages can call native libraries. It is also used for prototyping, testing, embedding interpreters, and exporting parse information.

In package builds, SWIG often appears as a build-time dependency for projects that ship generated bindings for Python, Java, Ruby, Perl, Tcl, R, Octave, or other target languages.

### Why package nerds care

SWIG is package-nerd significant because it is part compiler, part portability layer, and part historical artifact of scripting-language extension culture. It lets a C or C++ library become packages in multiple language ecosystems without hand-writing every binding layer.

Its long release history also matters operationally: old software may require old SWIG behavior, while new packages need modern C++, Python, JavaScript, Ruby, PHP, Go, or Java support. Distribution maintainers therefore care about which SWIG version is installed and when generated files are regenerated.

### Timeline

- 1995: SWIG developed at Los Alamos National Laboratory.
- 1996: First alpha release and version 1.0 with Python support.
- 1997: Version 1.1 released.
- 2000: SWIG 1.3 alpha series begins.
- 2010: SWIG 2.0.0 released.
- 2014: SWIG 3.0.0 released.
- 2019: SWIG 4.0.0 released.
- 2022: SWIG 4.1.0 and 4.1.1 released.
- 2024: SWIG 4.2.x and 4.3.0 released.
- 2025: SWIG 4.3.1, 4.4.0, and 4.4.1 released.

### Related projects

- Related technologies include Python extension modules, Perl XS, JNI, CFFI/ctypes-style foreign function interfaces, CORBA/IDL-style interface compilers, and package build systems that generate language bindings from C and C++ headers.

### Sources

- <https://www.swig.org/>
- <https://www.swig.org/compat.html>
- <https://www.swig.org/doc.html>
- <https://www.swig.org/history.html>
- 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:** swig
- **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 - swig - 4.3.0-1: normalized package name match | Debian stable package indexes: swig from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | Generate scripting interfaces to C/C++ code | https://www.swig.org/
- Debian apt - swig-doc - 4.3.0-1: normalized package name match | Debian stable package indexes: swig-doc from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | HTML documentation for SWIG | https://www.swig.org/
- Debian apt - swig-examples - 4.3.0-1: normalized package name match | Debian stable package indexes: swig-examples from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | Examples for applications of SWIG | https://www.swig.org/
- Nix - swig: normalized package name match | nixpkgs package indexes: pkgs/by-name/sw/swig/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
- Ubuntu apt - swig - 4.2.0-2ubuntu1: normalized package name match | Ubuntu 24.04 LTS package indexes: swig from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | Generate scripting interfaces to C/C++ code | http://www.swig.org/
- Ubuntu apt - swig-doc - 4.2.0-2ubuntu1: normalized package name match | Ubuntu 24.04 LTS package indexes: swig-doc from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | HTML documentation for SWIG | http://www.swig.org/
- Ubuntu apt - swig-examples - 4.2.0-2ubuntu1: normalized package name match | Ubuntu 24.04 LTS package indexes: swig-examples from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | Examples for applications of SWIG | http://www.swig.org/
- apk - swig - 4.4.1-r1: normalized package name match | Alpine Linux edge package indexes: swig from https://dl-cdn.alpinelinux.org/alpine/edge/main/x86_64/APKINDEX.tar.gz | A compiler that makes it easy to integrate C and C++ code with scripting languages | https://www.swig.org/
- apk - swig-doc - 4.4.1-r1: normalized package name match | Alpine Linux edge package indexes: swig-doc from https://dl-cdn.alpinelinux.org/alpine/edge/main/x86_64/APKINDEX.tar.gz | A compiler that makes it easy to integrate C and C++ code with scripting languages (documentation) | https://www.swig.org/
- dnf - ccache-swig - 4.4.1-7.fc45: normalized package name match | Fedora Rawhide package metadata: ccache-swig from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst | Fast compiler cache | https://www.swig.org/
- dnf - python3-swig - 4.4.1-7.fc45: normalized package name match | Fedora Rawhide package metadata: python3-swig from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst | Python package metadata for SWIG | https://www.swig.org/
- dnf - swig - 4.4.1-7.fc45: normalized package name match | Fedora Rawhide package metadata: swig from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst | Connects C/C++/Objective C to some high-level programming languages | https://www.swig.org/
- dnf - swig-doc - 4.4.1-7.fc45: normalized package name match | Fedora Rawhide package metadata: swig-doc from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst | Documentation files for SWIG | https://www.swig.org/
- dnf - swig-gdb - 4.4.1-7.fc45: normalized package name match | Fedora Rawhide package metadata: swig-gdb from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst | Commands for easier debugging of SWIG | https://www.swig.org/
- pacman - swig - 4.4.1-1: normalized package name match | Arch Linux sync databases: swig from https://geo.mirror.pkgbuild.com/extra/os/x86_64/extra.db.tar.gz | Generate scripting interfaces to C/C++ code | https://www.swig.org/
- zypper - swig - 4.4.1-1.4: normalized package name match | openSUSE Tumbleweed package metadata: swig from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst | Simplified Wrapper and Interface Generator | https://www.swig.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.
- [Networking and protocol packages](https://www.automicvault.com/pkg/networking-protocol-tools/) - Matched network, protocol, or remote-service metadata.
- [pcre2](https://www.automicvault.com/pkg/brew/pcre2/) - Runtime dependency declared by Homebrew.
- [valabind](https://www.automicvault.com/pkg/brew/valabind/) - Popular package that depends on this formula.
- [cbindgen](https://www.automicvault.com/pkg/brew/cbindgen/) - Shares av.db curated category or tags: bindings, c, cli, code-generation, developer-tools.
- [wasm-bindgen](https://www.automicvault.com/pkg/brew/wasm-bindgen/) - Shares av.db curated category or tags: bindings, cli, developer-tools.
- [aarch64-elf-gcc](https://www.automicvault.com/pkg/brew/aarch64-elf-gcc/) - Shares av.db curated category or tags: c, c-plus-plus, cli, developer-tools.
- [astyle](https://www.automicvault.com/pkg/brew/astyle/) - Shares av.db curated category or tags: c, c-plus-plus, cli, developer-tools.
- [build2](https://www.automicvault.com/pkg/brew/build2/) - Shares av.db curated category or tags: c, c-plus-plus, cli, developer-tools.
- [castxml](https://www.automicvault.com/pkg/brew/castxml/) - Shares av.db curated category or tags: c, c-plus-plus, cli, developer-tools.
- [cbmc](https://www.automicvault.com/pkg/brew/cbmc/) - Shares av.db curated category or tags: c, c-plus-plus, cli, developer-tools.
- [ccache](https://www.automicvault.com/pkg/brew/ccache/) - Shares av.db curated category or tags: c, c-plus-plus, cli, developer-tools.

## Combined YAML source

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