build: add jsonschema library to core dependencies (#8753)

* add jsonschema to core dependencies

* release note
This commit is contained in:
Stefano Fiorucci 2025-01-21 10:07:56 +01:00 committed by GitHub
parent 542a7f7ef5
commit 2bf6bf6a45
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
4 changed files with 10 additions and 14 deletions

View File

@ -5,12 +5,10 @@
import json
from typing import Any, Dict, List, Optional
from jsonschema import ValidationError, validate
from haystack import component
from haystack.dataclasses import ChatMessage
from haystack.lazy_imports import LazyImport
with LazyImport(message="Run 'pip install jsonschema'") as jsonschema_import:
from jsonschema import ValidationError, validate
def is_valid_json(s: str) -> bool:
@ -110,7 +108,6 @@ class JsonSchemaValidator:
the messages' content is validated.
:param error_template: A custom template string for formatting the error message in case of validation failure.
"""
jsonschema_import.check()
self.json_schema = json_schema
self.error_template = error_template

View File

@ -5,15 +5,13 @@
from dataclasses import asdict, dataclass
from typing import Any, Callable, Dict, List, Optional
from jsonschema import Draft202012Validator
from jsonschema.exceptions import SchemaError
from haystack.core.serialization import generate_qualified_class_name, import_class_by_name
from haystack.lazy_imports import LazyImport
from haystack.tools.errors import ToolInvocationError
from haystack.utils import deserialize_callable, serialize_callable
with LazyImport(message="Run 'pip install jsonschema'") as jsonschema_import:
from jsonschema import Draft202012Validator
from jsonschema.exceptions import SchemaError
@dataclass
class Tool:
@ -39,7 +37,6 @@ class Tool:
function: Callable
def __post_init__(self):
jsonschema_import.check()
# Check that the parameters define a valid JSON schema
try:
Draft202012Validator.check_schema(self.parameters)

View File

@ -57,6 +57,7 @@ dependencies = [
"requests",
"numpy",
"python-dateutil",
"jsonschema", # JsonSchemaValidator, Tool
"haystack-experimental",
]
@ -116,9 +117,6 @@ extra-dependencies = [
"jsonref", # OpenAPIServiceConnector, OpenAPIServiceToFunctions
"openapi3",
# JsonSchemaValidator, Tool
"jsonschema",
# Tracing
"opentelemetry-sdk",
"ddtrace",

View File

@ -0,0 +1,4 @@
---
enhancements:
- |
Add jsonschema library as a core dependency. It is used in Tool and JsonSchemaValidator.