Pydantic v2 Migration, Weaviate v4 Upgrade, and UI Fixes #674
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
This pull request implements a significant modernization of the codebase, primarily focusing on the migration to Pydantic v2 and upgrading the Weaviate client to v4.18.x. It also includes backward compatibility patches for existing benchmark results and addresses UI deprecation warnings.
Key Changes
1. Pydantic v2 Migration
field_validatorand improvedValidationErrorhandling frompydantic_core.SecretStrfor sensitive connection details (passwords, API keys) across all database clients.2. Weaviate Client Upgrade (v3.x → v4.18.x)
WeaviateCloudclient to use the new Weaviate v4 "Collections" API.weaviate.connect_to_custom, utilizing both HTTP and gRPC endpoints for improved performance.weaviate.classes.configand fluent interface.WeaviateCloud._ensure_cfgto support both legacy dict configurations and newWeaviateConfigmodels.3. Backward Compatibility & Stability
TestResult.read_fileto inject default credentials (e.g.,password: "-") for MariaDB, PgVector, and Weaviate when loading older result files. This preventsValidationErrorwhen viewing historical data that omitted these fields.db.case_config_clsinstantiation to ensure that a single malformed result file doesn't prevent the results page from loading.4. Streamlit UI Updates
use_container_width=Truewithwidth="stretch"across all chart and table components.Verification Results
stretchparameter.