97 lines
1.6 KiB
Nix
97 lines
1.6 KiB
Nix
{
|
|
lib,
|
|
buildPythonPackage,
|
|
fetchFromGitHub,
|
|
|
|
# build-system
|
|
hatchling,
|
|
|
|
# dependencies
|
|
eval-type-backport,
|
|
httpx,
|
|
invoke,
|
|
opentelemetry-api,
|
|
opentelemetry-exporter-otlp-proto-http,
|
|
opentelemetry-sdk,
|
|
pydantic,
|
|
python-dateutil,
|
|
pyyaml,
|
|
typing-inspection,
|
|
|
|
# optional-dependencies
|
|
authlib,
|
|
griffe,
|
|
mcp,
|
|
google-auth,
|
|
requests,
|
|
|
|
# tests
|
|
pytestCheckHook,
|
|
}:
|
|
|
|
buildPythonPackage (finalAttrs: {
|
|
pname = "mistralai";
|
|
version = "1.12.3";
|
|
pyproject = true;
|
|
|
|
src = fetchFromGitHub {
|
|
owner = "mistralai";
|
|
repo = "client-python";
|
|
tag = "v${finalAttrs.version}";
|
|
hash = "sha256-DaCAO4/DoskFuRgNcoLWBuRdnxXfYhsgY/WZu/s1wk0=";
|
|
};
|
|
|
|
preBuild = ''
|
|
python scripts/prepare_readme.py
|
|
'';
|
|
|
|
build-system = [
|
|
hatchling
|
|
];
|
|
|
|
pythonRelaxDeps = [
|
|
"opentelemetry-exporter-otlp-proto-http"
|
|
];
|
|
dependencies = [
|
|
eval-type-backport
|
|
httpx
|
|
invoke
|
|
opentelemetry-api
|
|
opentelemetry-exporter-otlp-proto-http
|
|
opentelemetry-sdk
|
|
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/${finalAttrs.src.tag}/RELEASES.md";
|
|
license = lib.licenses.asl20;
|
|
maintainers = with lib.maintainers; [
|
|
GaetanLepage
|
|
mana-byte
|
|
];
|
|
};
|
|
})
|