Skip to main content

mlc-z3-static

mlc-z3-static is a Python package that carries native Z3 4.16.0 development artifacts for build systems. It does not provide Z3 Python bindings.

The wheel contains:

  • Z3 C and C++ headers.
  • A position-independent static libz3 (libz3.a on Unix-like platforms, .lib on Windows).
  • A shared libz3.
  • Relocatable CMake and pkg-config metadata for each library flavor, under mlc_z3_static/<kind>/lib/cmake/z3 and mlc_z3_static/<kind>/lib/pkgconfig for kind in static and shared.

The package is built with scikit-build-core: building a wheel runs scripts/prepare_z3_v4_16_0.py, which downloads the pinned Z3 source archive, verifies its SHA-256 digest, and builds both library flavors. Source builds are opt-in (MLC_Z3_STATIC_ALLOW_SOURCE_BUILD=1) to avoid accidental long Z3 builds when pip cannot find a matching prebuilt wheel.

Python Helpers

Build systems can locate the packaged artifacts from Python:

import mlc_z3_static

print(mlc_z3_static.get_cmake_dir("static"))
print(mlc_z3_static.get_cmake_prefix_path("shared"))
print(mlc_z3_static.get_static_library_path())
print(mlc_z3_static.get_shared_library_path())

Or from a build script through the configuration CLI:

python -m mlc_z3_static.config --cmake-dir
python -m mlc_z3_static.config --prefix --kind shared

Downstream CMake Usage

Install the wheel into the Python environment used by the downstream build:

python -m pip install mlc-z3-static==4.16.0

Point CMake at the packaged static Z3 and use Z3's exported target:

cmake -S . -B build \
  -DCMAKE_BUILD_TYPE=Release \
  -DZ3_DIR="$(python -m mlc_z3_static.config --cmake-dir)"
cmake_minimum_required(VERSION 3.20)
project(my_z3_consumer LANGUAGES C CXX)

find_package(Z3 CONFIG REQUIRED)

add_executable(my_z3_consumer main.cpp)
target_link_libraries(my_z3_consumer PRIVATE z3::libz3)
target_compile_features(my_z3_consumer PRIVATE cxx_std_20)

Or resolve the directory from inside CMake:

find_package(Python3 COMPONENTS Interpreter REQUIRED)
execute_process(
  COMMAND "${Python3_EXECUTABLE}" -m mlc_z3_static.config --cmake-dir
  OUTPUT_STRIP_TRAILING_WHITESPACE
  OUTPUT_VARIABLE Z3_DIR
)
find_package(Z3 CONFIG REQUIRED)

Z3 is implemented in C++, so even C-only consumers should enable CXX in the CMake project and let CMake link through a C++ linker when using the static archive. Use --kind shared (or get_cmake_prefix_path("shared")) to link the shared flavor instead; each flavor has its own relocatable CMake prefix. See example_project/ for a complete uv-managed consumer.

Local Build

Build a wheel directly:

MLC_Z3_STATIC_ALLOW_SOURCE_BUILD=1 python -m build --wheel

Use an existing Z3 checkout instead of downloading the pinned archive:

MLC_Z3_STATIC_ALLOW_SOURCE_BUILD=1 \
MLC_Z3_STATIC_SOURCE_DIR=/path/to/z3 \
python -m build --wheel

Build Release Wheels

From this directory:

scripts/wheel_manylinux_2_28_v4_16_0.sh
scripts/wheel_macos_v4_16_0.sh

The scripts use uv for host-side Python tooling, so Debian/Ubuntu system Python restrictions such as PEP 668 and missing ensurepip do not affect the host CIBW runner or post-build verifier. Both run cibuildwheel==3.3.1, retag Linux wheels as manylinux_2_28, and verify each produced wheel from a clean temporary virtual environment with:

scripts/wheel_verify.sh wheelhouse/<wheel-file>.whl

The verifier installs the wheel, configures a small CMake project against mlc_z3_static.get_cmake_prefix_path("static"), links to z3::libz3, runs the executable, and checks that the executable does not link against a dynamic libz3.

The manylinux script defaults to the host architecture. Set MLC_Z3_STATIC_ARCH=x86_64 or MLC_Z3_STATIC_ARCH=aarch64 to choose explicitly.

On macOS, local CIBW builds require an official python.org CPython installation. The script defaults to the newest installed python.org CPython only as the build interpreter. The output wheel is still Python-agnostic and tagged py3-none-<platform>. Override CIBW_BUILD to force a specific installed build interpreter, for example CIBW_BUILD=cp313-macosx_arm64.

Metadata

Release files for mlc-z3-static 4.16.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for mlc-z3-static 4.16.0
File Size Uploaded
mlc_z3_static-4.16.0.tar.gz 15.2 kB Details

Built distributions (wheels)

Table of built distributions (wheels) for mlc-z3-static 4.16.0
File
mlc_z3_static-4.16.0-py3-none-win_amd64.whl Python 3 none Windows x86-64 Details
mlc_z3_static-4.16.0-py3-none-manylinux_2_28_x86_64.whl Python 3 none Linux glibc 2.28+ x86-64 Details
mlc_z3_static-4.16.0-py3-none-manylinux_2_28_aarch64.whl Python 3 none Linux glibc 2.28+ ARM64 Details
mlc_z3_static-4.16.0-py3-none-macosx_11_0_arm64.whl Python 3 none macOS 11.0+ ARM64 Details
mlc_z3_static-4.16.0-py3-none-macosx_10_9_x86_64.whl Python 3 none macOS 10.9+ x86-64 Details

Total release size: 305.2 MB

Release files / mlc_z3_static-4.16.0.tar.gz

Download URL mlc_z3_static-4.16.0.tar.gz
Size 15.2 kB
Tags Source
SHA-256 checksum
How to use checksums
cdbe927977868bfd16ac54cd5c739beb2b51de02579710003fcc344fc9a5e6e8
BLAKE2b-256 checksum
How to use checksums
e55b195aa11d0ccae01e9c146fc0c726422bc22b5f8236356000179a265e7bb8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 3, 2026.

Transparency log

Release files / mlc_z3_static-4.16.0-py3-none-win_amd64.whl

Download URL mlc_z3_static-4.16.0-py3-none-win_amd64.whl
Size 74.0 MB
Tags Python 3 Windows x86-64
SHA-256 checksum
How to use checksums
d2d4300509845829f12771b059c0a0e2686b24d29912f71e043a78fdb6585afb
BLAKE2b-256 checksum
How to use checksums
d7e6703ca7c72ddc0e19bfbfbfcffae9465e1a1b6841923e6b3bd62e589398d8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 3, 2026.

Transparency log

Release files / mlc_z3_static-4.16.0-py3-none-manylinux_2_28_x86_64.whl

Download URL mlc_z3_static-4.16.0-py3-none-manylinux_2_28_x86_64.whl
Size 68.5 MB
Tags Linux glibc 2.28+ x86-64 Python 3
SHA-256 checksum
How to use checksums
6feafa5272a9213b51515e155a943e417b5c27a56a72a11bd2bf7beb8d114784
BLAKE2b-256 checksum
How to use checksums
aa73f7e94e0791d32b78c0d540ccd781dc0643e8af99d57b60305447bbf9912c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 3, 2026.

Transparency log

Release files / mlc_z3_static-4.16.0-py3-none-manylinux_2_28_aarch64.whl

Download URL mlc_z3_static-4.16.0-py3-none-manylinux_2_28_aarch64.whl
Size 65.3 MB
Tags Linux glibc 2.28+ ARM64 Python 3
SHA-256 checksum
How to use checksums
c45af55c0e0ee5c349ba87a191f0c09db082a5109f2041bf3fe68f46d05dd339
BLAKE2b-256 checksum
How to use checksums
77fe73730b1b3a204af0cac3d4a7ae199f0acc8fbaa0835d50a0b336bac722fa
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 3, 2026.

Transparency log

Release files / mlc_z3_static-4.16.0-py3-none-macosx_11_0_arm64.whl

Download URL mlc_z3_static-4.16.0-py3-none-macosx_11_0_arm64.whl
Size 46.8 MB
Tags Python 3 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
3ee6c97c641da7ae0bf0da0b84a38576bdb73c7fb46ab62e26dac89223632abd
BLAKE2b-256 checksum
How to use checksums
ec9cff40cdee457174e10b40186b92ff02ba8c6503ef8a41bd924a83db11f505
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 3, 2026.

Transparency log

Release files / mlc_z3_static-4.16.0-py3-none-macosx_10_9_x86_64.whl

Download URL mlc_z3_static-4.16.0-py3-none-macosx_10_9_x86_64.whl
Size 50.5 MB
Tags Python 3 macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
bb5474ec52a3060af73b20979d1ff3a37e8a893973047c2b1db2abe88932ba26
BLAKE2b-256 checksum
How to use checksums
8ba69016fda1f5e866715ed37918ea4b89ba8897246856b53987ea55c081058b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 3, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

4.16.0 This release

6 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page