from __future__ import annotations import os from hatchling.builders.hooks.plugin.interface import BuildHookInterface def _platform_tag() -> str: from packaging.tags import sys_tags return next(iter(sys_tags())).platform class RuntimeBuildHook(BuildHookInterface): def initialize(self, version: str, build_data: dict[str, object]) -> None: del version if self.target_name == "sdist": raise RuntimeError( "openai-codex-cli-bin is wheel-only; build and publish platform wheels only." ) platform_tag = self.config.get("platform-tag") or os.environ.get( "CODEX_CLI_BIN_PLATFORM_TAG" ) if not isinstance(platform_tag, str) or not platform_tag: platform_tag = _platform_tag() build_data["pure_python"] = False build_data["infer_tag"] = False build_data["tag"] = f"py3-none-{platform_tag}"