Unverified Commit f3520b46 authored by kirillrdy's avatar kirillrdy Committed by GitHub
Browse files

python3Packages.mistral-inference: init at 1.6.0 (#487034)

parents d9a578f8 e771e3f4
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
{ python3Packages }: with python3Packages; toPythonApplication mistral-inference
+90 −0
Original line number Diff line number Diff line
{
  lib,
  config,
  buildPythonPackage,
  fetchFromGitHub,
  pythonAtLeast,

  # build-system
  poetry-core,

  # dependencies
  fire,
  mistral-common,
  pillow,
  safetensors,
  simple-parsing,
  xformers,

  # tests
  mamba-ssm,
  pycountry,
  pytestCheckHook,
  writableTmpDirAsHomeHook,

  # passthu
  mistral-inference,
}:

buildPythonPackage (finalAttrs: {
  pname = "mistral-inference";
  version = "1.6.0";
  pyproject = true;

  src = fetchFromGitHub {
    owner = "mistralai";
    repo = "mistral-inference";
    tag = "v${finalAttrs.version}";
    hash = "sha256-dcBlZWrgQn7eiNsjTS8882X9quHbgTfXxTK7HLpbLM8=";
  };

  build-system = [
    poetry-core
  ];

  dependencies = [
    fire
    mistral-common
    pillow
    pycountry
    safetensors
    simple-parsing
    xformers
  ];

  nativeCheckInputs = [
    mamba-ssm
    pytestCheckHook
    writableTmpDirAsHomeHook
  ];

  # Tests require GPU access in the sandbox
  doCheck = false;

  disabledTests = lib.optionals (pythonAtLeast "3.14") [
    # AttributeError("module 'ast' has no attribute 'Num'")
    "test_generation_mamba"
  ];

  passthru.gpuCheck = mistral-inference.overridePythonAttrs {
    requiredSystemFeatures = [ "cuda" ];
    doCheck = true;
  };

  pythonImportsCheck = [ "mistral_inference" ];

  meta = {
    description = "High-performance library for running Mistral AI models on local hardware";
    homepage = "https://github.com/mistralai/mistral-inference";
    changelog = "https://github.com/mistralai/mistral-inference/releases/tag/${finalAttrs.src.tag}";
    license = lib.licenses.asl20;
    platforms = lib.platforms.linux;
    maintainers = with lib.maintainers; [
      GaetanLepage
      mana-byte
    ];
    mainProgram = "mistral-chat";
    # Explicitly requires an NVIDIA GPU to work
    broken = !config.cudaSupport;
  };
})
+2 −0
Original line number Diff line number Diff line
@@ -9770,6 +9770,8 @@ self: super: with self; {
  mistral-common = callPackage ../development/python-modules/mistral-common { };
  mistral-inference = callPackage ../development/python-modules/mistral-inference { };
  mistralai = callPackage ../development/python-modules/mistralai { };
  mistune = callPackage ../development/python-modules/mistune { };