ziglang
Zig is a general-purpose programming language and toolchain for maintaining robust, optimal, and reusable software.
What it is and what it does
ziglang is a Python package that redistributes the Zig programming language toolchain, including its standalone C and C++ compiler (zig cc). Unlike system-installed Zig or clang, this distribution requires no external development files and works across multiple platforms and architectures. It allows Python projects to invoke the Zig compiler either from the command line via `python -m ziglang` or programmatically through subprocess calls, making it useful for projects that generate or build C/C++ code as part of their workflow.
The package installs a binary wrapper named `python-zig` to avoid conflicts with system Zig installations. It supports a wide range of platforms including macOS (ARM and x86_64), Linux (x86_64, i686, ARM, PowerPC, s390x, RISC-V), and Windows (x86_64, ARM, x86). The repository is archived and marked abandoned, so the package is no longer actively maintained.
Use it for:
- Bundle Zig compiler with Python projects that generate or build C/C++ code without requiring external toolchain setup.
- Use zig cc as a standalone C/C++ compiler in Python build scripts without installing system development files.
- Cross-compile C/C++ code for multiple target platforms from a Python project using Zig's built-in cross-compilation support.
- Distribute Python packages that depend on Zig-based build tools as a self-contained dependency.
- Run Zig code or scripts from within Python automation or CI/CD pipelines without manual toolchain installation.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Distributes the Zig programming language toolchain and its standalone C/C++ compiler (zig cc) as a Python package, enabling Python projects to use Zig as a build dependency without external system libraries.
Yes, if you need Zig as a build dependency in a Python project and want to avoid external system setup. However, note that the repository is archived and abandoned—the package will not receive updates for new Zig releases or Python compatibility issues. Suitable for stable, long-lived projects that do not require ongoing toolchain updates; risky for projects expecting active maintenance or frequent Zig version upgrades.
Install
ziglang on PyPI
pip
pip install ziglanguv
uv add ziglangpoetry
poetry add ziglangInstalling ziglang
Before you install
Medium install friction due to platform-specific binary wheels for multiple architectures (x86_64, ARM, PowerPC, s390x, RISC-V). Repository is archived and marked abandoned as of the latest commit; no active maintenance.
License in practice
MIT license permits commercial and private use with minimal restrictions, making it suitable for most projects that need to bundle Zig.
Quickstart
pip install ziglang
python -m ziglang
# Or via uv:
# uvx --from ziglang python-zig
Requires Python ~=3.5; binary wheels are platform-specific and must match your OS and CPU architecture.
Verify before relying
- Whether the abandoned repository status affects long-term compatibility with future Zig language releases.
- Performance or compatibility implications of using an archived distribution package in active projects.
Package facts
| License | MIT (permissive) |
| Python support | supports the current Python release (~=3.5) |
| Install friction | medium — platform-specific wheel |
| Runtime dependencies | none |
| Maintenance | abandoned — 121 days since the last release |
| Last repo commit | (repository archived) |
| First released | |
| Downloads | 872,993/month — #4,839 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: ziglang-0.16.0-py3-none-macosx_12_0_arm64.whl; ziglang-0.16.0-py3-none-macosx_12_0_x86_64.whl; ziglang-0.16.0-py3-none-manylinux_2_12_i686.manylinux2010_i686.musllinux_1_1_i686.whl; ziglang-0.16.0-py3-none-manylinux_2_12_x86_64.manylinux2010_x86_64.musllinux_1_1_x86_64.whl; ziglang-0.16.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.musllinux_1_1_aarch64.whl; ziglang-0.16.0-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.musllinux_1_1_armv7l.whl; ziglang-0.16.0-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.musllinux_1_1_ppc64le.whl; ziglang-0.16.0-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.musllinux_1_1_s390x.whl; ziglang-0.16.0-py3-none-manylinux_2_31_riscv64.musllinux_1_1_riscv64.whl; ziglang-0.16.0-py3-none-win32.whl; ziglang-0.16.0-py3-none-win_amd64.whl; ziglang-0.16.0-py3-none-win_arm64.whl
Tags
More Build Tools packages
Provides reusable utilities for Python…
permissive · top 100 on PyPI
tqdmWraps any iterable to display a real-time…
copyleft · top 100 on PyPI
pippip is the standard installer for Python…
permissive · top 100 on PyPI
hatchlingHatchling is a standards-compliant Python build…
permissive · top 100 on PyPI
grpcio-toolsGenerates Python gRPC service stubs and message…
permissive · top 1,000 on PyPI
pre-commitpre-commit is a framework for installing and…
permissive · top 1,000 on PyPI
NuitkaNuitka compiles Python code to C and then to…
agpl · top 15,000 on PyPI
clangProvides Python bindings to libclang, allowing…
permissive · top 5,000 on PyPI
nvidia-cuda-nvcc-cu12Provides the NVIDIA CUDA nvcc compiler for…
unclear · top 5,000 on PyPI
pkgconfpkgconf is a cross-platform Python package that…
permissive · top 15,000 on PyPI
licenseheadersBatch-updates or adds license headers to source…
permissive · top 15,000 on PyPI
tree-sitter-zigProvides a tree-sitter grammar for parsing Zig…
permissive · top 5,000 on PyPI
ckzgProvides Python bindings to C-KZG-4844, a…
permissive · top 5,000 on PyPI
torch-c-dlpack-extProvides an ahead-of-time compiled module for…
permissive · top 5,000 on PyPI
source-distributionDistributes Python source code as a package;…
unclear · top 15,000 on PyPI