{ lib, buildPythonPackage, fetchFromGitHub, pkg-config, rustPlatform, openssl, # tests cacert, pytestCheckHook, writableTmpDirAsHomeHook, }: buildPythonPackage (finalAttrs: { pname = "hf-xet"; version = "1.8.0"; pyproject = true; __structuredAttrs = true; src = fetchFromGitHub { owner = "huggingface"; repo = "xet-core"; tag = "v${finalAttrs.version}"; hash = "sha256-m78BR0ctfJFwpmWy/gM8uDwckK4FL/+xuAQJljlYoY8="; }; sourceRoot = "${finalAttrs.src.name}/hf_xet"; cargoDeps = rustPlatform.fetchCargoVendor { inherit (finalAttrs) pname version src sourceRoot ; hash = "sha256-YE5i6keGkMLLukCUoK09/pAD9deChXimTGqXDUCN7vc="; }; nativeBuildInputs = [ pkg-config rustPlatform.cargoSetupHook rustPlatform.maturinBuildHook ]; buildInputs = [ openssl ]; env.OPENSSL_NO_VENDOR = 1; pythonImportsCheck = [ "hf_xet" ]; nativeCheckInputs = [ cacert pytestCheckHook writableTmpDirAsHomeHook ]; meta = { description = "Xet client tech, used in huggingface_hub"; homepage = "https://github.com/huggingface/xet-core/tree/main/hf_xet"; changelog = "https://github.com/huggingface/xet-core/releases/tag/${finalAttrs.src.tag}"; license = lib.licenses.asl20; maintainers = with lib.maintainers; [ GaetanLepage ]; }; })