| 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}" | |