# Download and install the qualified runtime Use Python 3.12 or newer for installation. Inference runs through the native executable and needs neither Python nor network access. The Hugging Face repository is private; authenticate locally with an account authorized for DataFog. ```sh python -m pip install 'huggingface_hub==1.27.0' hf auth login ``` Select exactly one tested target: `linux-x86_64`, `linux-aarch64`, `macos-arm64`, `macos-x86_64`, or `windows-x86_64`. The release index records the tested OS, exact archive hash, runtime source commit, model revision and MCP compatibility revision. Linux ARM64 qualification on Ubuntu is not a Raspberry Pi OS qualification. Windows qualification on Server 2022 does not establish every desktop Windows version. Save this script as `download_install.py`. The script pins immutable runtime commit `7cadd41e21f59b2a149e31378d073cf6ca057531` from the staging report. It downloads only your selected archive and the versioned installer, forces a fresh download, and verifies the archive and all installed file hashes. ```python import argparse import json import subprocess import sys from pathlib import Path from huggingface_hub import hf_hub_download parser = argparse.ArgumentParser() parser.add_argument('--platform', required=True) parser.add_argument('--destination', type=Path, required=True) args = parser.parse_args() revision = '7cadd41e21f59b2a149e31378d073cf6ca057531' repo = 'DataFog/pii-en-65m' prefix = 'runtimes/v0.2.0' downloads = Path('datafog-runtime-download').resolve() def download(name): return Path(hf_hub_download( repo_id=repo, revision=revision, filename=f'{prefix}/{name}', local_dir=downloads, force_download=True, )) index = json.loads(download('release-index.json').read_text(encoding='utf-8')) record = next(item for item in index['platforms'] if item['platform'] == args.platform) archive = download(record['archive']['filename']) download('tools/common.py') installer = download('tools/install_bundle.py') subprocess.run([ sys.executable, str(installer), '--archive', str(archive), '--sha256', record['archive']['sha256'], '--destination', str(args.destination.resolve()), ], check=True) ``` Run it with your target and a new absolute destination; the installer refuses an existing directory and a mismatched host architecture. ```sh python download_install.py --platform macos-arm64 --destination /absolute/new/datafog-bundle ``` On Windows, use `--platform windows-x86_64` and a path such as `C:\DataFog\bundle`. Install Microsoft's x64 Visual C++ Redistributable (2019-compatible v14). The installer probes startup and reports a missing runtime dependency. Intel macOS requires 15 or newer; ARM macOS requires 14 or newer. Use datafog-mcp PR #33's compatibility revision `01d7f74e693a7892ab1ed504d0d8f8c1e7ce51d3` (stacked on PR #32). Configure the installed path in MCP policy: ```toml [model] bundle_directory = "/absolute/new/datafog-bundle" ``` On Windows, TOML literal strings avoid escaping backslashes: ```toml [model] bundle_directory = 'C:\DataFog\bundle' ``` Keep weights, tokenizer, configuration and calibration together. GLiNER is not part of this download.