diff --git a/pkgs/development/python-modules/mistral-common/default.nix b/pkgs/development/python-modules/mistral-common/default.nix index e245f5b7e524..305581a4ef91 100644 --- a/pkgs/development/python-modules/mistral-common/default.nix +++ b/pkgs/development/python-modules/mistral-common/default.nix @@ -1,57 +1,96 @@ { lib, buildPythonPackage, - fetchPypi, - poetry-core, - numpy, - pydantic, + fetchFromGitHub, + + # build-system + setuptools, + + # dependencies jsonschema, + numpy, opencv-python-headless, - sentencepiece, - typing-extensions, - tiktoken, pillow, + pydantic, + pydantic-extra-types, requests, + sentencepiece, + tiktoken, + typing-extensions, + + # tests + click, + fastapi, + huggingface-hub, + openai, + pycountry, + pydantic-settings, + pytestCheckHook, + soundfile, + soxr, + uvicorn, }: buildPythonPackage rec { pname = "mistral-common"; - version = "1.8.3"; + version = "1.8.4"; pyproject = true; - src = fetchPypi { - pname = "mistral_common"; - inherit version; - hash = "sha256-DRl52CIntiX21xs8goF28FnajQ9aMwfN9TtIQJo5cKQ="; + src = fetchFromGitHub { + owner = "mistralai"; + repo = "mistral-common"; + tag = "v${version}"; + hash = "sha256-HB6dsqiDSLhjyANk7ZT/cU98mjJamegAF0uKH8GfgM8="; }; - pythonRelaxDeps = [ - "pillow" - "tiktoken" - ]; - - build-system = [ poetry-core ]; + build-system = [ setuptools ]; dependencies = [ - numpy - pydantic jsonschema + numpy opencv-python-headless - sentencepiece - typing-extensions - tiktoken pillow + pydantic + pydantic-extra-types requests + sentencepiece + tiktoken + typing-extensions ]; - doCheck = true; - pythonImportsCheck = [ "mistral_common" ]; - meta = with lib; { + nativeCheckInputs = [ + click + fastapi + huggingface-hub + openai + pycountry + pydantic-settings + pytestCheckHook + soundfile + soxr + uvicorn + ]; + + disabledTests = [ + # Require internet + "test_download_gated_image" + "test_image_encoder_formats" + "test_image_processing" + + # AssertionError: Regex pattern did not match. + "test_from_url" + + # AssertionError, Extra items in the right set + "test_openai_chat_fields" + ]; + + meta = { description = "Tools to help you work with Mistral models"; homepage = "https://github.com/mistralai/mistral-common"; - license = licenses.asl20; - maintainers = with maintainers; [ bgamari ]; + changelog = "https://github.com/mistralai/mistral-common/releases/tag/v${version}"; + license = lib.licenses.asl20; + maintainers = with lib.maintainers; [ bgamari ]; }; }