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.aon Unix-like platforms,.libon Windows). - A shared
libz3. - Relocatable CMake and pkg-config metadata for each library flavor, under
mlc_z3_static/<kind>/lib/cmake/z3andmlc_z3_static/<kind>/lib/pkgconfigforkindinstaticandshared.
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)
| File | Size | Uploaded | |
|---|---|---|---|
| mlc_z3_static-4.16.0.tar.gz | 15.2 kB | Details |
Built distributions (wheels)
| File | Reset | |||
|---|---|---|---|---|
| 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 logRelease 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 logRelease 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 logRelease 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 logRelease 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 logRelease 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