diff --git a/pkgs/development/python-modules/mistralai/default.nix b/pkgs/development/python-modules/mistralai/default.nix new file mode 100644 index 000000000000..d6def4e2bc9c --- /dev/null +++ b/pkgs/development/python-modules/mistralai/default.nix @@ -0,0 +1,96 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + + # build-system + poetry-core, + + # dependencies + eval-type-backport, + httpx, + invoke, + opentelemetry-api, + opentelemetry-exporter-otlp-proto-http, + opentelemetry-sdk, + opentelemetry-semantic-conventions, + pydantic, + python-dateutil, + pyyaml, + typing-inspection, + + # optional-dependencies + authlib, + griffe, + mcp, + google-auth, + requests, + + # tests + pytestCheckHook, +}: + +buildPythonPackage rec { + pname = "mistralai"; + version = "1.10.0"; + pyproject = true; + + src = fetchFromGitHub { + owner = "mistralai"; + repo = "client-python"; + tag = "v${version}"; + hash = "sha256-B7ZJTwykFnOibTJL5AP3eKT15rLgAJ1hc53BL9TR0CM="; + }; + + preBuild = '' + python scripts/prepare_readme.py + ''; + + build-system = [ + poetry-core + ]; + + pythonRelaxDeps = [ + "opentelemetry-exporter-otlp-proto-http" + "opentelemetry-semantic-conventions" + ]; + dependencies = [ + eval-type-backport + httpx + invoke + opentelemetry-api + opentelemetry-exporter-otlp-proto-http + opentelemetry-sdk + opentelemetry-semantic-conventions + pydantic + python-dateutil + pyyaml + typing-inspection + ]; + + optional-dependencies = { + agents = [ + authlib + griffe + mcp + ]; + gcp = [ + google-auth + requests + ]; + }; + + pythonImportsCheck = [ "mistralai" ]; + + nativeCheckInputs = [ + pytestCheckHook + ]; + + meta = { + description = "Python client library for Mistral AI platform"; + homepage = "https://github.com/mistralai/client-python"; + changelog = "https://github.com/mistralai/client-python/blob/${src.tag}/RELEASES.md"; + license = lib.licenses.asl20; + maintainers = with lib.maintainers; [ GaetanLepage ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 8b0a196a037f..eaf0c9d72d73 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -9676,6 +9676,8 @@ self: super: with self; { mistral-common = callPackage ../development/python-modules/mistral-common { }; + mistralai = callPackage ../development/python-modules/mistralai { }; + mistune = callPackage ../development/python-modules/mistune { }; mitmproxy = callPackage ../development/python-modules/mitmproxy { };