mistral-vibe: 2.4.2 -> 2.5.0 (#500483)
This commit is contained in:
@@ -12,14 +12,14 @@
|
||||
|
||||
python3Packages.buildPythonApplication (finalAttrs: {
|
||||
pname = "mistral-vibe";
|
||||
version = "2.4.2";
|
||||
version = "2.5.0";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "mistralai";
|
||||
repo = "mistral-vibe";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-r/9kMhkoLfj9oEifFun/bpIQYEouqm9YEiWZVk07+S8=";
|
||||
hash = "sha256-5su0Qfg3M+Yq4pkptDOJhvM8VFGCaOLeeDijeFeywP4=";
|
||||
};
|
||||
|
||||
build-system = with python3Packages; [
|
||||
@@ -58,12 +58,14 @@ python3Packages.buildPythonApplication (finalAttrs: {
|
||||
pyyaml
|
||||
requests
|
||||
rich
|
||||
sounddevice
|
||||
textual
|
||||
textual-speedups
|
||||
tomli-w
|
||||
tree-sitter
|
||||
tree-sitter-bash
|
||||
watchfiles
|
||||
websockets
|
||||
zstandard
|
||||
];
|
||||
|
||||
@@ -81,7 +83,29 @@ python3Packages.buildPythonApplication (finalAttrs: {
|
||||
];
|
||||
versionCheckKeepEnvironment = [ "HOME" ];
|
||||
|
||||
disabledTests = lib.optionals stdenv.hostPlatform.isDarwin [
|
||||
disabledTests = [
|
||||
# Fail in the sandbox
|
||||
# vibe.core.audio_recorder.audio_recorder_port.NoAudioInputDeviceError: No audio input device available
|
||||
"test_audio_stream_yields_chunks"
|
||||
"test_auto_stops_after_max_duration"
|
||||
"test_buffer_mode_audio_stream_yields_nothing"
|
||||
"test_can_record_multiple_times"
|
||||
"test_cancel_discards_audio"
|
||||
"test_manual_stop_prevents_on_expire"
|
||||
"test_on_expire_receives_audio"
|
||||
"test_peak_clamps_to_one"
|
||||
"test_peak_updates_from_callback"
|
||||
"test_silent_audio_has_zero_peak"
|
||||
"test_start_sets_recording_state"
|
||||
"test_start_when_already_recording_raises"
|
||||
"test_stop_from_event_loop_does_not_block"
|
||||
"test_stop_returns_empty_data_in_stream_mode"
|
||||
"test_stop_returns_positive_duration"
|
||||
"test_stop_returns_valid_wav"
|
||||
"test_stop_without_drain_returns_promptly"
|
||||
"test_stream_audio_does_not_leak_into_buffer_recording"
|
||||
]
|
||||
++ lib.optionals stdenv.hostPlatform.isDarwin [
|
||||
# AssertionError
|
||||
"test_rebuilds_index_when_mass_change_threshold_is_exceeded"
|
||||
"test_updates_index_incrementally_by_default"
|
||||
|
||||
@@ -0,0 +1,94 @@
|
||||
{
|
||||
lib,
|
||||
buildPythonPackage,
|
||||
fetchFromGitHub,
|
||||
|
||||
# build-system
|
||||
pdm-backend,
|
||||
|
||||
# dependencies
|
||||
anyio,
|
||||
httpx,
|
||||
httpx-ws,
|
||||
msgspec,
|
||||
typing-extensions,
|
||||
|
||||
# tests
|
||||
pytest-asyncio,
|
||||
pytestCheckHook,
|
||||
}:
|
||||
|
||||
buildPythonPackage (finalAttrs: {
|
||||
pname = "lmstudio";
|
||||
version = "1.5.0";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "lmstudio-ai";
|
||||
repo = "lmstudio-python";
|
||||
tag = finalAttrs.version;
|
||||
hash = "sha256-3LOoCWoQ7eXRPXHRio9Rtle07HcV3ZrWkrtVVY6mvfI=";
|
||||
};
|
||||
|
||||
build-system = [
|
||||
pdm-backend
|
||||
];
|
||||
|
||||
dependencies = [
|
||||
anyio
|
||||
httpx
|
||||
httpx-ws
|
||||
msgspec
|
||||
typing-extensions
|
||||
];
|
||||
|
||||
pythonImportsCheck = [ "lmstudio" ];
|
||||
|
||||
nativeCheckInputs = [
|
||||
pytest-asyncio
|
||||
pytestCheckHook
|
||||
];
|
||||
|
||||
disabledTests = [
|
||||
# lmstudio.LMStudioRuntimeError: Local API host port is not yet resolved.
|
||||
"test_session_disconnected_async"
|
||||
];
|
||||
|
||||
disabledTestPaths = [
|
||||
# ModuleNotFoundError: No module named 'pytest_subtests'
|
||||
"tests/async/test_model_catalog_async.py"
|
||||
"tests/sync/test_model_catalog_sync.py"
|
||||
"tests/test_inference.py"
|
||||
|
||||
# lmstudio.LMStudioRuntimeError: Local API host port is not yet resolved.
|
||||
"tests/async/test_embedding_async.py"
|
||||
"tests/async/test_images_async.py"
|
||||
"tests/async/test_inference_async.py"
|
||||
"tests/async/test_llm_async.py"
|
||||
"tests/async/test_model_handles_async.py"
|
||||
"tests/async/test_repository_async.py"
|
||||
"tests/async/test_sdk_bypass_async.py"
|
||||
"tests/sync/test_embedding_sync.py"
|
||||
"tests/sync/test_images_sync.py"
|
||||
"tests/sync/test_inference_sync.py"
|
||||
"tests/sync/test_llm_sync.py"
|
||||
"tests/sync/test_model_handles_sync.py"
|
||||
"tests/sync/test_repository_sync.py"
|
||||
"tests/sync/test_sdk_bypass_sync.py"
|
||||
"tests/test_convenience_api.py"
|
||||
"tests/test_logging.py"
|
||||
"tests/test_plugin_examples.py"
|
||||
"tests/test_sessions.py"
|
||||
"tests/test_timeouts.py"
|
||||
];
|
||||
|
||||
__darwinAllowLocalNetworking = true;
|
||||
|
||||
meta = {
|
||||
description = "LM Studio Python SDK";
|
||||
homepage = "https://github.com/lmstudio-ai/lmstudio-python";
|
||||
changelog = "https://github.com/lmstudio-ai/lmstudio-python/releases/tag/${finalAttrs.src.tag}";
|
||||
license = lib.licenses.mit;
|
||||
maintainers = with lib.maintainers; [ GaetanLepage ];
|
||||
};
|
||||
})
|
||||
@@ -9,13 +9,10 @@
|
||||
# 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
|
||||
@@ -26,19 +23,20 @@
|
||||
requests,
|
||||
|
||||
# tests
|
||||
opentelemetry-sdk,
|
||||
pytestCheckHook,
|
||||
}:
|
||||
|
||||
buildPythonPackage (finalAttrs: {
|
||||
pname = "mistralai";
|
||||
version = "1.12.3";
|
||||
version = "2.0.4";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "mistralai";
|
||||
repo = "client-python";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-DaCAO4/DoskFuRgNcoLWBuRdnxXfYhsgY/WZu/s1wk0=";
|
||||
hash = "sha256-SLPLj9rp8TTOSE3ldobBFU1+MpffzH1Bpshw+7LLUvU=";
|
||||
};
|
||||
|
||||
preBuild = ''
|
||||
@@ -50,18 +48,15 @@ buildPythonPackage (finalAttrs: {
|
||||
];
|
||||
|
||||
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
|
||||
];
|
||||
|
||||
@@ -80,7 +75,15 @@ buildPythonPackage (finalAttrs: {
|
||||
pythonImportsCheck = [ "mistralai" ];
|
||||
|
||||
nativeCheckInputs = [
|
||||
opentelemetry-sdk
|
||||
pytestCheckHook
|
||||
]
|
||||
++ finalAttrs.passthru.optional-dependencies.agents
|
||||
++ finalAttrs.passthru.optional-dependencies.gcp;
|
||||
|
||||
disabledTests = [
|
||||
# AssertionError: <Response [200 OK]> is not an instance of <class 'mistralai.extra.observability.otel.TracedResponse'>
|
||||
"TestOtelTracing"
|
||||
];
|
||||
|
||||
meta = {
|
||||
|
||||
+257
-276
File diff suppressed because it is too large
Load Diff
@@ -32,17 +32,16 @@
|
||||
pytestCheckHook,
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
buildPythonPackage (finalAttrs: {
|
||||
pname = "outlines-core";
|
||||
version = "0.2.13";
|
||||
|
||||
version = "0.2.14";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "dottxt-ai";
|
||||
repo = "outlines-core";
|
||||
tag = version;
|
||||
hash = "sha256-mfw/cOLZPRcL3HWmrm/SyA0zDCPWr5F19EWIUdNu9jM=";
|
||||
tag = finalAttrs.version;
|
||||
hash = "sha256-XmXD2tWG2277bC318Bn9RqeEE7j9VdauvWnBmFS8Lsk=";
|
||||
};
|
||||
|
||||
cargoDeps = rustPlatform.importCargoLock {
|
||||
@@ -53,7 +52,7 @@ buildPythonPackage rec {
|
||||
substituteInPlace Cargo.toml \
|
||||
--replace-fail \
|
||||
'version = "0.0.0"' \
|
||||
'version = "${version}"'
|
||||
'version = "${finalAttrs.version}"'
|
||||
|
||||
cp --no-preserve=mode ${./Cargo.lock} Cargo.lock
|
||||
'';
|
||||
@@ -67,7 +66,7 @@ buildPythonPackage rec {
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
openssl.dev
|
||||
openssl
|
||||
];
|
||||
|
||||
build-system = [
|
||||
@@ -97,7 +96,10 @@ buildPythonPackage rec {
|
||||
rm -rf outlines_core
|
||||
'';
|
||||
|
||||
nativeCheckInputs = [ pytestCheckHook ] ++ lib.concatAttrValues optional-dependencies;
|
||||
nativeCheckInputs = [
|
||||
pytestCheckHook
|
||||
]
|
||||
++ lib.concatAttrValues finalAttrs.passthru.optional-dependencies;
|
||||
|
||||
disabledTests = [
|
||||
# Tests that need to download from Hugging Face Hub.
|
||||
@@ -116,8 +118,8 @@ buildPythonPackage rec {
|
||||
meta = {
|
||||
description = "Structured text generation (core)";
|
||||
homepage = "https://github.com/outlines-dev/outlines-core";
|
||||
changelog = "https://github.com/dottxt-ai/outlines-core/releases/tag/${version}";
|
||||
changelog = "https://github.com/dottxt-ai/outlines-core/releases/tag/${finalAttrs.src.tag}";
|
||||
license = lib.licenses.asl20;
|
||||
maintainers = with lib.maintainers; [ danieldk ];
|
||||
};
|
||||
}
|
||||
})
|
||||
|
||||
@@ -31,6 +31,7 @@
|
||||
google-genai,
|
||||
iso3166,
|
||||
jax,
|
||||
lmstudio,
|
||||
llama-cpp-python,
|
||||
mistralai,
|
||||
ollama,
|
||||
@@ -41,26 +42,41 @@
|
||||
tensorflow,
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
buildPythonPackage (finalAttrs: {
|
||||
pname = "outlines";
|
||||
version = "1.2.9";
|
||||
version = "1.2.12";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "outlines-dev";
|
||||
repo = "outlines";
|
||||
tag = version;
|
||||
hash = "sha256-QuS8IokiOPJeh59+W4FLoE9dvBCChf2li70+Ex3aIwg=";
|
||||
tag = finalAttrs.version;
|
||||
hash = "sha256-DPxtvaEbPv3go2WD9lqXB6AfTSmIA+MsqZwxXVcpyXk=";
|
||||
};
|
||||
|
||||
# Fix mistralai>=2.0 compatibility
|
||||
postPatch = ''
|
||||
substituteInPlace tests/models/test_mistral_type_adapter.py \
|
||||
--replace-fail \
|
||||
"from mistralai import (" \
|
||||
"from mistralai.client.models import ("
|
||||
|
||||
substituteInPlace outlines/models/mistral.py \
|
||||
--replace-fail \
|
||||
"from mistralai import UserMessage" \
|
||||
"from mistralai.client.models import UserMessage"
|
||||
|
||||
substituteInPlace outlines/models/mistral.py tests/models/test_mistral.py \
|
||||
--replace-fail \
|
||||
"from mistralai import Mistral" \
|
||||
"from mistralai.client import Mistral"
|
||||
'';
|
||||
|
||||
build-system = [
|
||||
setuptools
|
||||
setuptools-scm
|
||||
];
|
||||
|
||||
pythonRelaxDeps = [
|
||||
"outlines_core"
|
||||
];
|
||||
dependencies = [
|
||||
cloudpickle
|
||||
datasets
|
||||
@@ -94,6 +110,7 @@ buildPythonPackage rec {
|
||||
iso3166
|
||||
jax
|
||||
llama-cpp-python
|
||||
lmstudio
|
||||
mistralai
|
||||
ollama
|
||||
openai
|
||||
@@ -109,11 +126,17 @@ buildPythonPackage rec {
|
||||
];
|
||||
|
||||
disabledTests = [
|
||||
# Incompatible with latest mistralai (AssertionError: assert False)
|
||||
"test_mistral_type_adapter_input_chat"
|
||||
"test_mistral_type_adapter_input_list"
|
||||
"test_mistral_type_adapter_input_text"
|
||||
|
||||
# Try to dowload models from Hugging Face Hub
|
||||
"test_application_callable_call"
|
||||
"test_application_generator_reuse"
|
||||
"test_application_template_call"
|
||||
"test_application_template_error"
|
||||
"test_check_hf_chat_template"
|
||||
"test_generator_black_box_async_processor"
|
||||
"test_generator_black_box_sync_processor"
|
||||
"test_generator_init_multiple_output_type"
|
||||
@@ -226,8 +249,8 @@ buildPythonPackage rec {
|
||||
meta = {
|
||||
description = "Structured text generation";
|
||||
homepage = "https://github.com/outlines-dev/outlines";
|
||||
changelog = "https://github.com/dottxt-ai/outlines/releases/tag/${version}";
|
||||
changelog = "https://github.com/dottxt-ai/outlines/releases/tag/${finalAttrs.src.tag}";
|
||||
license = lib.licenses.asl20;
|
||||
maintainers = with lib.maintainers; [ lach ];
|
||||
};
|
||||
}
|
||||
})
|
||||
|
||||
@@ -9213,6 +9213,8 @@ self: super: with self; {
|
||||
|
||||
lmnotify = callPackage ../development/python-modules/lmnotify { };
|
||||
|
||||
lmstudio = callPackage ../development/python-modules/lmstudio { };
|
||||
|
||||
lmtpd = callPackage ../development/python-modules/lmtpd { };
|
||||
|
||||
lnkparse3 = callPackage ../development/python-modules/lnkparse3 { };
|
||||
|
||||
Reference in New Issue
Block a user