From 090cdd0fdb170495375a3a7fd6e4805ac50aa4e4 Mon Sep 17 00:00:00 2001 From: Tim Paine <3105306+timkpaine@users.noreply.github.com> Date: Sun, 12 Jan 2025 20:48:38 -0500 Subject: [PATCH] Form wheel name --- hatch_cpp/plugin.py | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/hatch_cpp/plugin.py b/hatch_cpp/plugin.py index 469ee39..7fcbfbf 100644 --- a/hatch_cpp/plugin.py +++ b/hatch_cpp/plugin.py @@ -2,6 +2,8 @@ import logging import os +import platform as sysplatform +import sys import typing as t from hatchling.builders.hooks.plugin.interface import BuildHookInterface @@ -18,7 +20,7 @@ class HatchCppBuildHook(BuildHookInterface[HatchCppBuildConfig]): PLUGIN_NAME = "hatch-cpp" _logger = logging.getLogger(__name__) - def initialize(self, version: str, _: dict[str, t.Any]) -> None: + def initialize(self, version: str, build_data: dict[str, t.Any]) -> None: """Initialize the plugin.""" # Log some basic information self._logger.info("Initializing hatch-cpp plugin version %s", version) @@ -30,6 +32,19 @@ def initialize(self, version: str, _: dict[str, t.Any]) -> None: self._logger.info("ignoring target name %s", self.target_name) return + build_data["pure_python"] = False + machine = sysplatform.machine() + version_major = sys.version_info.major + version_minor = sys.version_info.minor + # TODO abi3 + if "darwin" in sys.platform: + os_name = "macosx_11_0" + elif "linux" in sys.platform: + os_name = "linux" + else: + os_name = "win" + build_data["tag"] = f"cp{version_major}{version_minor}-cp{version_major}{version_minor}-{os_name}_{machine}" + # Skip if SKIP_HATCH_CPP is set # TODO: Support CLI once https://github.com/pypa/hatch/pull/1743 if os.getenv("SKIP_HATCH_CPP"):