swig
SWIG is a software development tool that connects programs written in C and C++ with a variety of high-level programming languages.
Decision gist · record as of 2026-08-14
Yes, if you need this tool for building bindings from C/C++ code. The package eliminates system-level installation friction and works reliably across platforms. Be aware that binary wheels carry GPLv3 licensing obligations—verify compatibility with your project's license before distributing compiled extensions. The package is actively maintained and has no known vulnerabilities.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Building from source distribution requires internet access to download source code.
- Binary wheels are platform-specific; ensure your platform has a matching wheel available.
- Medium install friction due to binary wheel distribution across many platforms (Windows, macOS, Linux on x86_64, ARM, and other architectures).
License · maintenance · safety
copyleft license (copyleft) — Copyleft license (GPLv3 or later) applies to binary wheels due to inclusion of compiled binaries. Source distributions are Apache 2.0. Users distributing compiled extensions must comply with GPLv3 terms; verify compatibility with your project's license before use.
last release 2025-12-27 (230 days) · last repo commit 2026-08-13 · 24 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 1,708,972 downloads/mo, #3,629 on PyPI
Alternatives
Verify before relying
pip install swig
Then add to pyproject.toml:
[build-system]
requires = ["swig"]
Or run directly: swig -python myfile.i- Whether ARM wheels for Raspberry Pi on piwheels.org are kept in sync with PyPI releases
- Exact Python version compatibility (requires_python is unspecified in metadata)
- Whether swig can be used as a direct CLI tool after pip install
What it is and what it does
This package distributes SWIG as a wheel, eliminating the need to install it separately via system package managers. SWIG is a compiler that connects C and C++ programs with high-level languages by automatically generating wrapper code. It's commonly used during the build phase of extension projects to generate bindings from C/C++ interface files.
The package provides pre-compiled binaries for most major platforms and architectures (x86_64, ARM, RISC-V, s390x, and others on Windows, macOS, and Linux). You can declare it in pyproject.toml so it's available during builds, or use it as a command-line tool. With no runtime dependencies, the footprint is minimal once installed.
Use it for
- Building C/C++ extensions that need automatic wrapper generation from interface definitions
- Setting up CI/CD pipelines where the tool must be available without relying on system package managers
- Declaring the tool as a build-system requirement in pyproject.toml for reproducible builds across platforms
- Running the tool via pipx without a permanent installation, useful in ephemeral environments like GitHub Actions
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, if you need this tool for building bindings from C/C++ code.
The package eliminates system-level installation friction and works reliably across platforms. Be aware that binary wheels carry GPLv3 licensing obligations—verify compatibility with your project's license before distributing compiled extensions. The package is actively maintained and has no known vulnerabilities.
Install
swig on PyPI
Before you install
Medium install friction due to binary wheel distribution across many platforms (Windows, macOS, Linux on x86_64, ARM, and other architectures). Package is actively maintained with recent releases; last commit was 2026-08-13. No runtime dependencies simplifies deployment once installed.
Building from source distribution requires internet access to download source code. Binary wheels are platform-specific; ensure your platform has a matching wheel available.
License in practice
Copyleft license (GPLv3 or later) applies to binary wheels due to inclusion of compiled binaries. Source distributions are Apache 2.0. Users distributing compiled extensions must comply with GPLv3 terms; verify compatibility with your project's license before use.
Quickstart
pip install swig
Then add to pyproject.toml:
[build-system]
requires = ["swig"]
Or run directly: swig -python myfile.i
Verify before relying
- Whether ARM wheels for Raspberry Pi on piwheels.org are kept in sync with PyPI releases
- Exact Python version compatibility (requires_python is unspecified in metadata)
- Whether swig can be used as a direct CLI tool after pip install
Package facts
| License | copyleft license copyleft |
| Python support | Not specified |
| Install friction | Medium. Platform-specific wheel |
| Runtime dependencies | None |
| Maintenance | Actively maintained 230 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 1,708,972 / month, #3,629 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Development Status :: 5 - Production/StableIntended Audience :: DevelopersLicense :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)License :: Other/Proprietary LicenseOperating System :: OS IndependentProgramming Language :: CProgramming Language :: C++Programming Language :: PythonTopic :: Software Development :: Build Tools |
Evidence: swig-4.4.1-py3-none-macosx_10_9_universal2.whl; swig-4.4.1-py3-none-manylinux2014_aarch64.manylinux_2_17_aarch64.whl; swig-4.4.1-py3-none-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl; swig-4.4.1-py3-none-manylinux2014_s390x.manylinux_2_17_s390x.whl; swig-4.4.1-py3-none-manylinux_2_12_i686.manylinux2010_i686.whl; swig-4.4.1-py3-none-manylinux_2_12_x86_64.manylinux2010_x86_64.whl; swig-4.4.1-py3-none-manylinux_2_24_armv7l.manylinux_2_31_armv7l.whl; swig-4.4.1-py3-none-manylinux_2_31_riscv64.whl; swig-4.4.1-py3-none-musllinux_1_2_aarch64.whl; swig-4.4.1-py3-none-musllinux_1_2_armv7l.whl; swig-4.4.1-py3-none-musllinux_1_2_i686.whl; swig-4.4.1-py3-none-musllinux_1_2_ppc64le.whl; swig-4.4.1-py3-none-musllinux_1_2_riscv64.whl; swig-4.4.1-py3-none-musllinux_1_2_s390x.whl; swig-4.4.1-py3-none-musllinux_1_2_x86_64.whl; swig-4.4.1-py3-none-win_amd64.whl; swig-4.4.1-py3-none-win_arm64.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “swig python bindings”
- swigProvides SWIG as a PyPI-installable package, enabling you to generate…
- swiglpkswiglpk provides direct Python bindings to the GNU Linear Programming…
- pylibfdtProvides Python bindings to libfdt, the device tree compiler library,…
Give your agent the search over MCP, or paste the wish link into any chat.
More Build Tools packages
Provides reusable utilities for Python packaging interoperability, including version handling, specifiers, markers, requirements, tags, and metadata parsing according to standards like PEP 440 and PEP 425.
Wraps any iterable to display a real-time progress bar in the terminal or Jupyter notebook, showing iteration count, elapsed time, and estimated time remaining.
pip is the standard installer for Python packages, enabling you to download and install packages from the Python Package Index and other indexes into your Python environment.
Hatchling is a standards-compliant Python build backend that handles packaging, metadata, and distribution of Python projects when configured in a project's pyproject.toml file.
Generates Python gRPC service stubs and message classes from Protocol Buffer definitions, enabling developers to build gRPC clients and servers.
pre-commit is a framework for installing and running git hooks written in any language before commits are made, automating code quality and validation checks across multi-language projects.
Install it if your team needs consistent, automated validation at commit time.
See also tippecanoe · swiglpk · cmeel · oldest-supported-numpy · clang · cmake · clang-tidy · build · scikit-build-core · pylibfdt