validmind 2.13.9__tar.gz → 2.13.11__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {validmind-2.13.9 → validmind-2.13.11}/.gitignore +0 -4
- {validmind-2.13.9 → validmind-2.13.11}/PKG-INFO +6 -4
- {validmind-2.13.9 → validmind-2.13.11}/pyproject.toml +7 -3
- validmind-2.13.11/validmind/__version__.py +1 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/ai/utils.py +5 -2
- {validmind-2.13.9 → validmind-2.13.11}/validmind/api_client.py +50 -10
- {validmind-2.13.9 → validmind-2.13.11}/validmind/client.py +8 -2
- {validmind-2.13.9 → validmind-2.13.11}/validmind/client_config.py +4 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/experimental/agents.py +3 -1
- {validmind-2.13.9 → validmind-2.13.11}/validmind/tests/output.py +3 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/tests/run.py +5 -2
- {validmind-2.13.9 → validmind-2.13.11}/validmind/vm_models/model.py +4 -2
- {validmind-2.13.9 → validmind-2.13.11}/validmind/vm_models/result/result.py +42 -12
- {validmind-2.13.9 → validmind-2.13.11}/validmind/vm_models/result/utils.py +13 -3
- validmind-2.13.9/validmind/__version__.py +0 -1
- {validmind-2.13.9 → validmind-2.13.11}/LICENSE +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/README.pypi.md +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/__init__.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/ai/test_descriptions.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/credentials_store.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/datasets/__init__.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/datasets/classification/__init__.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/datasets/classification/config.json +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/datasets/classification/customer_churn.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/datasets/classification/datasets/bank_customer_churn.csv +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/datasets/classification/datasets/taiwan_credit.csv +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/datasets/classification/taiwan_credit.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/datasets/cluster/digits.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/datasets/credit_risk/__init__.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/datasets/credit_risk/datasets/lending_club_biased.csv.gz +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/datasets/credit_risk/datasets/lending_club_loan_data_2007_2014_clean.csv.gz +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/datasets/credit_risk/lending_club.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/datasets/credit_risk/lending_club_bias.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/datasets/llm/__init__.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/datasets/llm/agent_dataset.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/datasets/llm/rag/__init__.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/datasets/llm/rag/datasets/rfp_existing_questions_client_1.csv +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/datasets/llm/rag/datasets/rfp_existing_questions_client_2.csv +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/datasets/llm/rag/datasets/rfp_existing_questions_client_3.csv +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/datasets/llm/rag/datasets/rfp_existing_questions_client_4.csv +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/datasets/llm/rag/datasets/rfp_existing_questions_client_5.csv +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/datasets/llm/rag/rfp.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/datasets/nlp/__init__.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/datasets/nlp/cnn_dailymail.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/datasets/nlp/datasets/Covid_19.csv +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/datasets/nlp/datasets/cnn_dailymail_100_with_predictions.csv +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/datasets/nlp/datasets/cnn_dailymail_500_with_predictions.csv +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/datasets/nlp/datasets/sentiments_with_predictions.csv +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/datasets/nlp/twitter_covid_19.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/datasets/regression/__init__.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/datasets/regression/california_housing.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/datasets/regression/datasets/california_housing.csv +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/datasets/regression/datasets/fred/CPIAUCSL.csv +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/datasets/regression/datasets/fred/CSUSHPISA.csv +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/datasets/regression/datasets/fred/DRSFRMACBS.csv +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/datasets/regression/datasets/fred/FEDFUNDS.csv +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/datasets/regression/datasets/fred/GDP.csv +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/datasets/regression/datasets/fred/GDPC1.csv +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/datasets/regression/datasets/fred/GS10.csv +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/datasets/regression/datasets/fred/GS3.csv +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/datasets/regression/datasets/fred/GS5.csv +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/datasets/regression/datasets/fred/MORTGAGE30US.csv +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/datasets/regression/datasets/fred/UNRATE.csv +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/datasets/regression/datasets/fred_loan_rates.csv +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/datasets/regression/datasets/fred_loan_rates_test_1.csv +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/datasets/regression/datasets/fred_loan_rates_test_2.csv +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/datasets/regression/datasets/fred_loan_rates_test_3.csv +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/datasets/regression/datasets/fred_loan_rates_test_4.csv +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/datasets/regression/datasets/fred_loan_rates_test_5.csv +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/datasets/regression/datasets/leanding_club_loan_rates.csv +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/datasets/regression/fred.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/datasets/regression/fred_timeseries.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/datasets/regression/generate_california_housing_csv.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/datasets/regression/lending_club.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/errors.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/experimental/__init__.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/html_templates/__init__.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/html_templates/content_blocks.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/input_registry.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/logging.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/models/__init__.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/models/foundation.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/models/function.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/models/huggingface.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/models/metadata.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/models/pipeline.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/models/pytorch.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/models/r_model.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/models/sklearn.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/oidc_device.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/scorers/__init__.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/scorers/classification/AbsoluteError.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/scorers/classification/BrierScore.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/scorers/classification/CalibrationError.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/scorers/classification/ClassBalance.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/scorers/classification/Confidence.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/scorers/classification/Correctness.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/scorers/classification/LogLoss.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/scorers/classification/OutlierScore.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/scorers/classification/ProbabilityError.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/scorers/classification/Uncertainty.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/scorers/classification/__init__.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/scorers/llm/deepeval/AnswerRelevancy.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/scorers/llm/deepeval/ArgumentCorrectness.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/scorers/llm/deepeval/Bias.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/scorers/llm/deepeval/ContextualPrecision.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/scorers/llm/deepeval/ContextualRecall.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/scorers/llm/deepeval/ContextualRelevancy.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/scorers/llm/deepeval/Faithfulness.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/scorers/llm/deepeval/GEval.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/scorers/llm/deepeval/Hallucination.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/scorers/llm/deepeval/PlanAdherence.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/scorers/llm/deepeval/PlanQuality.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/scorers/llm/deepeval/Summarization.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/scorers/llm/deepeval/TaskCompletion.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/scorers/llm/deepeval/ToolCorrectness.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/scorers/llm/deepeval/__init__.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/template.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/test_suites/__init__.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/test_suites/classifier.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/test_suites/cluster.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/test_suites/embeddings.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/test_suites/llm.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/test_suites/nlp.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/test_suites/parameters_optimization.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/test_suites/regression.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/test_suites/statsmodels_timeseries.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/test_suites/summarization.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/test_suites/tabular_datasets.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/test_suites/text_data.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/test_suites/time_series.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/tests/__init__.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/tests/__types__.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/tests/_store.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/tests/comparison.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/tests/data_validation/ACFandPACFPlot.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/tests/data_validation/ADF.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/tests/data_validation/AutoAR.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/tests/data_validation/AutoMA.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/tests/data_validation/AutoStationarity.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/tests/data_validation/BivariateScatterPlots.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/tests/data_validation/BoxPierce.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/tests/data_validation/ChiSquaredFeaturesTable.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/tests/data_validation/ClassImbalance.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/tests/data_validation/DatasetDescription.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/tests/data_validation/DatasetSplit.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/tests/data_validation/DescriptiveStatistics.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/tests/data_validation/DickeyFullerGLS.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/tests/data_validation/Duplicates.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/tests/data_validation/EngleGrangerCoint.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/tests/data_validation/FeatureTargetCorrelationPlot.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/tests/data_validation/HighCardinality.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/tests/data_validation/HighPearsonCorrelation.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/tests/data_validation/IQROutliersBarPlot.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/tests/data_validation/IQROutliersTable.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/tests/data_validation/IsolationForestOutliers.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/tests/data_validation/JarqueBera.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/tests/data_validation/KPSS.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/tests/data_validation/LJungBox.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/tests/data_validation/LaggedCorrelationHeatmap.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/tests/data_validation/MissingValues.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/tests/data_validation/MissingValuesBarPlot.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/tests/data_validation/MutualInformation.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/tests/data_validation/PearsonCorrelationMatrix.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/tests/data_validation/PhillipsPerronArch.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/tests/data_validation/ProtectedClassesCombination.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/tests/data_validation/ProtectedClassesDescription.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/tests/data_validation/ProtectedClassesDisparity.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/tests/data_validation/ProtectedClassesThresholdOptimizer.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/tests/data_validation/RollingStatsPlot.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/tests/data_validation/RunsTest.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/tests/data_validation/ScatterPlot.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/tests/data_validation/ScoreBandDefaultRates.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/tests/data_validation/SeasonalDecompose.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/tests/data_validation/ShapiroWilk.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/tests/data_validation/Skewness.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/tests/data_validation/SpreadPlot.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/tests/data_validation/TabularCategoricalBarPlots.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/tests/data_validation/TabularDateTimeHistograms.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/tests/data_validation/TabularDescriptionTables.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/tests/data_validation/TabularNumericalHistograms.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/tests/data_validation/TargetRateBarPlots.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/tests/data_validation/TimeSeriesDescription.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/tests/data_validation/TimeSeriesDescriptiveStatistics.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/tests/data_validation/TimeSeriesFrequency.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/tests/data_validation/TimeSeriesHistogram.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/tests/data_validation/TimeSeriesLinePlot.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/tests/data_validation/TimeSeriesMissingValues.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/tests/data_validation/TimeSeriesOutliers.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/tests/data_validation/TooManyZeroValues.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/tests/data_validation/UniqueRows.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/tests/data_validation/WOEBinPlots.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/tests/data_validation/WOEBinTable.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/tests/data_validation/ZivotAndrewsArch.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/tests/data_validation/__init__.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/tests/data_validation/nlp/CommonWords.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/tests/data_validation/nlp/Hashtags.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/tests/data_validation/nlp/LanguageDetection.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/tests/data_validation/nlp/Mentions.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/tests/data_validation/nlp/PolarityAndSubjectivity.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/tests/data_validation/nlp/Punctuations.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/tests/data_validation/nlp/Sentiment.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/tests/data_validation/nlp/StopWords.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/tests/data_validation/nlp/TextDescription.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/tests/data_validation/nlp/Toxicity.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/tests/data_validation/nlp/__init__.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/tests/decorator.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/tests/load.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/tests/model_validation/BertScore.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/tests/model_validation/BleuScore.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/tests/model_validation/ClusterSizeDistribution.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/tests/model_validation/ContextualRecall.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/tests/model_validation/FeaturesAUC.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/tests/model_validation/MeteorScore.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/tests/model_validation/ModelMetadata.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/tests/model_validation/ModelPredictionResiduals.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/tests/model_validation/RegardScore.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/tests/model_validation/RegressionResidualsPlot.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/tests/model_validation/RougeScore.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/tests/model_validation/TimeSeriesPredictionWithCI.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/tests/model_validation/TimeSeriesPredictionsPlot.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/tests/model_validation/TimeSeriesR2SquareBySegments.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/tests/model_validation/TokenDisparity.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/tests/model_validation/ToxicityScore.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/tests/model_validation/__init__.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/tests/model_validation/embeddings/ClusterDistribution.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/tests/model_validation/embeddings/CosineSimilarityComparison.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/tests/model_validation/embeddings/CosineSimilarityDistribution.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/tests/model_validation/embeddings/CosineSimilarityHeatmap.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/tests/model_validation/embeddings/DescriptiveAnalytics.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/tests/model_validation/embeddings/EmbeddingsVisualization2D.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/tests/model_validation/embeddings/EuclideanDistanceComparison.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/tests/model_validation/embeddings/EuclideanDistanceHeatmap.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/tests/model_validation/embeddings/PCAComponentsPairwisePlots.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/tests/model_validation/embeddings/StabilityAnalysisKeyword.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/tests/model_validation/embeddings/StabilityAnalysisRandomNoise.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/tests/model_validation/embeddings/StabilityAnalysisSynonyms.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/tests/model_validation/embeddings/StabilityAnalysisTranslation.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/tests/model_validation/embeddings/TSNEComponentsPairwisePlots.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/tests/model_validation/embeddings/utils.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/tests/model_validation/ragas/AnswerCorrectness.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/tests/model_validation/ragas/AspectCritic.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/tests/model_validation/ragas/ContextEntityRecall.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/tests/model_validation/ragas/ContextPrecision.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/tests/model_validation/ragas/ContextPrecisionWithoutReference.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/tests/model_validation/ragas/ContextRecall.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/tests/model_validation/ragas/Faithfulness.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/tests/model_validation/ragas/NoiseSensitivity.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/tests/model_validation/ragas/ResponseRelevancy.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/tests/model_validation/ragas/SemanticSimilarity.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/tests/model_validation/ragas/utils.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/tests/model_validation/sklearn/AdjustedMutualInformation.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/tests/model_validation/sklearn/AdjustedRandIndex.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/tests/model_validation/sklearn/CalibrationCurve.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/tests/model_validation/sklearn/ClassifierPerformance.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/tests/model_validation/sklearn/ClassifierThresholdOptimization.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/tests/model_validation/sklearn/ClusterCosineSimilarity.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/tests/model_validation/sklearn/ClusterPerformanceMetrics.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/tests/model_validation/sklearn/CompletenessScore.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/tests/model_validation/sklearn/ConfusionMatrix.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/tests/model_validation/sklearn/FeatureImportance.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/tests/model_validation/sklearn/FowlkesMallowsScore.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/tests/model_validation/sklearn/HomogeneityScore.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/tests/model_validation/sklearn/HyperParametersTuning.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/tests/model_validation/sklearn/KMeansClustersOptimization.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/tests/model_validation/sklearn/MinimumAccuracy.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/tests/model_validation/sklearn/MinimumF1Score.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/tests/model_validation/sklearn/MinimumROCAUCScore.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/tests/model_validation/sklearn/ModelParameters.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/tests/model_validation/sklearn/ModelsPerformanceComparison.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/tests/model_validation/sklearn/OverfitDiagnosis.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/tests/model_validation/sklearn/PermutationFeatureImportance.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/tests/model_validation/sklearn/PopulationStabilityIndex.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/tests/model_validation/sklearn/PrecisionRecallCurve.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/tests/model_validation/sklearn/ROCCurve.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/tests/model_validation/sklearn/RegressionErrors.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/tests/model_validation/sklearn/RegressionErrorsComparison.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/tests/model_validation/sklearn/RegressionPerformance.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/tests/model_validation/sklearn/RegressionR2Square.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/tests/model_validation/sklearn/RegressionR2SquareComparison.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/tests/model_validation/sklearn/RobustnessDiagnosis.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/tests/model_validation/sklearn/SHAPGlobalImportance.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/tests/model_validation/sklearn/ScoreProbabilityAlignment.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/tests/model_validation/sklearn/SilhouettePlot.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/tests/model_validation/sklearn/TrainingTestDegradation.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/tests/model_validation/sklearn/VMeasure.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/tests/model_validation/sklearn/WeakspotsDiagnosis.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/tests/model_validation/sklearn/__init__.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/tests/model_validation/sklearn/_diagnosis_metrics.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/tests/model_validation/sklearn/_multiclass_proba.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/tests/model_validation/statsmodels/AutoARIMA.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/tests/model_validation/statsmodels/CumulativePredictionProbabilities.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/tests/model_validation/statsmodels/DurbinWatsonTest.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/tests/model_validation/statsmodels/GINITable.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/tests/model_validation/statsmodels/KolmogorovSmirnov.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/tests/model_validation/statsmodels/Lilliefors.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/tests/model_validation/statsmodels/PredictionProbabilitiesHistogram.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/tests/model_validation/statsmodels/RegressionCoeffs.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/tests/model_validation/statsmodels/RegressionFeatureSignificance.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/tests/model_validation/statsmodels/RegressionModelForecastPlot.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/tests/model_validation/statsmodels/RegressionModelForecastPlotLevels.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/tests/model_validation/statsmodels/RegressionModelSensitivityPlot.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/tests/model_validation/statsmodels/RegressionModelSummary.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/tests/model_validation/statsmodels/RegressionPermutationFeatureImportance.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/tests/model_validation/statsmodels/ScorecardHistogram.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/tests/model_validation/statsmodels/__init__.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/tests/model_validation/statsmodels/statsutils.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/tests/ongoing_monitoring/CalibrationCurveDrift.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/tests/ongoing_monitoring/ClassDiscriminationDrift.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/tests/ongoing_monitoring/ClassImbalanceDrift.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/tests/ongoing_monitoring/ClassificationAccuracyDrift.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/tests/ongoing_monitoring/ConfusionMatrixDrift.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/tests/ongoing_monitoring/CumulativePredictionProbabilitiesDrift.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/tests/ongoing_monitoring/FeatureDrift.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/tests/ongoing_monitoring/PredictionAcrossEachFeature.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/tests/ongoing_monitoring/PredictionCorrelation.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/tests/ongoing_monitoring/PredictionProbabilitiesHistogramDrift.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/tests/ongoing_monitoring/PredictionQuantilesAcrossFeatures.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/tests/ongoing_monitoring/ROCCurveDrift.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/tests/ongoing_monitoring/ScoreBandsDrift.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/tests/ongoing_monitoring/ScorecardHistogramDrift.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/tests/ongoing_monitoring/TargetPredictionDistributionPlot.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/tests/plots/BoxPlot.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/tests/plots/CorrelationHeatmap.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/tests/plots/HistogramPlot.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/tests/plots/ViolinPlot.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/tests/plots/__init__.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/tests/prompt_validation/Bias.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/tests/prompt_validation/Clarity.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/tests/prompt_validation/Conciseness.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/tests/prompt_validation/Delimitation.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/tests/prompt_validation/NegativeInstruction.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/tests/prompt_validation/Robustness.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/tests/prompt_validation/Specificity.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/tests/prompt_validation/__init__.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/tests/prompt_validation/ai_powered_test.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/tests/stats/CorrelationAnalysis.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/tests/stats/DescriptiveStats.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/tests/stats/NormalityTests.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/tests/stats/OutlierDetection.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/tests/stats/__init__.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/tests/test_providers.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/tests/utils.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/unit_metrics/__init__.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/unit_metrics/classification/Accuracy.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/unit_metrics/classification/F1.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/unit_metrics/classification/Precision.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/unit_metrics/classification/ROC_AUC.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/unit_metrics/classification/Recall.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/unit_metrics/regression/AdjustedRSquaredScore.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/unit_metrics/regression/GiniCoefficient.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/unit_metrics/regression/HuberLoss.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/unit_metrics/regression/KolmogorovSmirnovStatistic.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/unit_metrics/regression/MeanAbsoluteError.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/unit_metrics/regression/MeanAbsolutePercentageError.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/unit_metrics/regression/MeanBiasDeviation.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/unit_metrics/regression/MeanSquaredError.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/unit_metrics/regression/QuantileLoss.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/unit_metrics/regression/RSquaredScore.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/unit_metrics/regression/RootMeanSquaredError.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/utils.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/vm_models/__init__.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/vm_models/dataset/__init__.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/vm_models/dataset/dataset.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/vm_models/dataset/utils.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/vm_models/figure.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/vm_models/html_progress.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/vm_models/html_renderer.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/vm_models/input.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/vm_models/result/__init__.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/vm_models/result/pii_filter.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/vm_models/result/result.jinja +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/vm_models/test_suite/__init__.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/vm_models/test_suite/runner.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/vm_models/test_suite/summary.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/vm_models/test_suite/test.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/vm_models/test_suite/test_suite.py +0 -0
- {validmind-2.13.9 → validmind-2.13.11}/validmind/vm_models/text_generation_summary.py +0 -0
|
@@ -189,12 +189,8 @@ lending_club_loan_data_*.csv
|
|
|
189
189
|
|
|
190
190
|
# Pickle files
|
|
191
191
|
*.pkl
|
|
192
|
-
# Sample application scorecard model for validation notebook — do not remove!
|
|
193
|
-
!notebooks/use_cases/validation/xgb_model_champion.pkl
|
|
194
192
|
# Sample logistic regression model for validation series — do not remove!
|
|
195
193
|
!notebooks/tutorials/validation/lr_model_champion.pkl
|
|
196
|
-
# Sample XGBoost model for validation quickstart — do not remove!
|
|
197
|
-
!notebooks/quickstart/xgboost_model_champion.pkl
|
|
198
194
|
|
|
199
195
|
notebooks/llm/datasets/*.jsonl
|
|
200
196
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
Metadata-Version: 2.
|
|
1
|
+
Metadata-Version: 2.5
|
|
2
2
|
Name: validmind
|
|
3
|
-
Version: 2.13.
|
|
3
|
+
Version: 2.13.11
|
|
4
4
|
Summary: ValidMind Library
|
|
5
5
|
Author-email: Andres Rodriguez <andres@validmind.ai>, Juan Martinez <juan@validmind.ai>, Anil Sorathiya <anil@validmind.ai>, Luis Pallares <luis@validmind.ai>, John Walz <john@validmind.ai>
|
|
6
6
|
License: DUAL LICENSE NOTICE
|
|
@@ -735,6 +735,7 @@ Requires-Dist: pyarrow<23,>=22; (python_version >= '3.14') and extra == 'all'
|
|
|
735
735
|
Requires-Dist: pycocoevalcap; extra == 'all'
|
|
736
736
|
Requires-Dist: ragas<=0.2.7,>=0.2.3; extra == 'all'
|
|
737
737
|
Requires-Dist: rouge>=1; extra == 'all'
|
|
738
|
+
Requires-Dist: scikit-learn<1.8; extra == 'all'
|
|
738
739
|
Requires-Dist: scipy; extra == 'all'
|
|
739
740
|
Requires-Dist: scorecardpy==0.1.9.6; extra == 'all'
|
|
740
741
|
Requires-Dist: sentencepiece<0.3.0,>=0.2.0; extra == 'all'
|
|
@@ -744,7 +745,7 @@ Requires-Dist: statsmodels<0.15.0,>=0.14.2; extra == 'all'
|
|
|
744
745
|
Requires-Dist: textblob<0.19.0,>=0.18.0.post0; extra == 'all'
|
|
745
746
|
Requires-Dist: torch>=2.0.0; extra == 'all'
|
|
746
747
|
Requires-Dist: transformers<5.0.0,>=4.32.0; extra == 'all'
|
|
747
|
-
Requires-Dist: xgboost<3,>=1.5.2; extra == 'all'
|
|
748
|
+
Requires-Dist: xgboost<3.1,>=1.5.2; extra == 'all'
|
|
748
749
|
Provides-Extra: credit-risk
|
|
749
750
|
Requires-Dist: scorecardpy==0.1.9.6; extra == 'credit-risk'
|
|
750
751
|
Requires-Dist: setuptools<82; extra == 'credit-risk'
|
|
@@ -802,7 +803,8 @@ Requires-Dist: arch>=7.0.0; extra == 'stats'
|
|
|
802
803
|
Requires-Dist: scipy; extra == 'stats'
|
|
803
804
|
Requires-Dist: statsmodels<0.15.0,>=0.14.2; extra == 'stats'
|
|
804
805
|
Provides-Extra: xgboost
|
|
805
|
-
Requires-Dist:
|
|
806
|
+
Requires-Dist: scikit-learn<1.8; extra == 'xgboost'
|
|
807
|
+
Requires-Dist: xgboost<3.1,>=1.5.2; extra == 'xgboost'
|
|
806
808
|
Description-Content-Type: text/markdown
|
|
807
809
|
|
|
808
810
|
# ValidMind Library
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "validmind"
|
|
3
|
-
version = "2.13.
|
|
3
|
+
version = "2.13.11"
|
|
4
4
|
description = "ValidMind Library"
|
|
5
5
|
readme = "README.pypi.md"
|
|
6
6
|
requires-python = ">=3.9,<3.15"
|
|
@@ -40,7 +40,8 @@ dependencies = [
|
|
|
40
40
|
[project.optional-dependencies]
|
|
41
41
|
all = [
|
|
42
42
|
"torch (>=2.0.0)",
|
|
43
|
-
"xgboost (>=1.5.2,<3)",
|
|
43
|
+
"xgboost (>=1.5.2,<3.1)",
|
|
44
|
+
"scikit-learn (<1.8)",
|
|
44
45
|
"transformers (>=4.32.0,<5.0.0)",
|
|
45
46
|
"pycocoevalcap",
|
|
46
47
|
"ragas (>=0.2.3,<=0.2.7)",
|
|
@@ -108,7 +109,10 @@ nlp = [
|
|
|
108
109
|
]
|
|
109
110
|
pytorch = ["torch (>=2.0.0)"]
|
|
110
111
|
stats = ["scipy", "statsmodels (>=0.14.2,<0.15.0)", "arch (>=7.0.0)"]
|
|
111
|
-
xgboost = [
|
|
112
|
+
xgboost = [
|
|
113
|
+
"xgboost (>=1.5.2,<3.1)",
|
|
114
|
+
"scikit-learn (<1.8)",
|
|
115
|
+
]
|
|
112
116
|
explainability = [
|
|
113
117
|
"shap (>=0.46.0)",
|
|
114
118
|
"numba (>=0.65.1) ; python_version >= '3.14'",
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
__version__ = "2.13.11"
|
|
@@ -8,7 +8,7 @@ import os
|
|
|
8
8
|
from openai import AzureOpenAI, OpenAI
|
|
9
9
|
|
|
10
10
|
from ..logging import get_logger
|
|
11
|
-
from ..utils import md_to_html
|
|
11
|
+
from ..utils import is_html, md_to_html
|
|
12
12
|
|
|
13
13
|
logger = get_logger(__name__)
|
|
14
14
|
|
|
@@ -38,6 +38,7 @@ class DescriptionFuture:
|
|
|
38
38
|
|
|
39
39
|
def __init__(self, future):
|
|
40
40
|
self._future = future
|
|
41
|
+
self.markdown_source = None
|
|
41
42
|
|
|
42
43
|
def get_description(self):
|
|
43
44
|
if isinstance(self._future, tuple):
|
|
@@ -46,7 +47,9 @@ class DescriptionFuture:
|
|
|
46
47
|
# This will block until the future is completed
|
|
47
48
|
description = self._future.result()
|
|
48
49
|
|
|
49
|
-
|
|
50
|
+
source, was_generated = description
|
|
51
|
+
self.markdown_source = source if not is_html(source) else None
|
|
52
|
+
return md_to_html(source, mathml=True), was_generated
|
|
50
53
|
|
|
51
54
|
|
|
52
55
|
def _get_google_api_key():
|
|
@@ -588,6 +588,7 @@ async def alog_metadata(
|
|
|
588
588
|
text: Optional[str] = None,
|
|
589
589
|
_json: Optional[Dict[str, Any]] = None,
|
|
590
590
|
section_id: Optional[str] = None,
|
|
591
|
+
text_format: Optional[str] = None,
|
|
591
592
|
) -> Dict[str, Any]:
|
|
592
593
|
"""Logs free-form metadata to ValidMind API.
|
|
593
594
|
|
|
@@ -597,6 +598,9 @@ async def alog_metadata(
|
|
|
597
598
|
_json (dict, optional): Free-form key-value pairs to assign to the metadata. Defaults to None.
|
|
598
599
|
section_id (str, optional): Section ID to append the text block to when the
|
|
599
600
|
content ID does not already exist.
|
|
601
|
+
text_format (str, optional): Format of ``text``. Markdown is sent as-is when
|
|
602
|
+
the backend advertises support so conversion happens after the request
|
|
603
|
+
passes through the WAF. Older backends receive locally converted HTML.
|
|
600
604
|
|
|
601
605
|
Raises:
|
|
602
606
|
Exception: If the API call fails.
|
|
@@ -604,11 +608,17 @@ async def alog_metadata(
|
|
|
604
608
|
Returns:
|
|
605
609
|
dict: The response from the API.
|
|
606
610
|
"""
|
|
611
|
+
if text_format == "markdown" and not client_config.supports_log_metadata_markdown():
|
|
612
|
+
text = md_to_html(text, mathml=True)
|
|
613
|
+
text_format = None
|
|
614
|
+
|
|
607
615
|
metadata_dict = {"content_id": content_id}
|
|
608
616
|
if text is not None:
|
|
609
617
|
metadata_dict["text"] = text
|
|
610
618
|
if _json is not None:
|
|
611
619
|
metadata_dict["json"] = _json
|
|
620
|
+
if text_format is not None:
|
|
621
|
+
metadata_dict["text_format"] = text_format
|
|
612
622
|
|
|
613
623
|
request_params = {}
|
|
614
624
|
if section_id:
|
|
@@ -808,11 +818,18 @@ def generate_qualitative_text(text_generation_data: Dict[str, Any]) -> Dict[str,
|
|
|
808
818
|
return r.json()
|
|
809
819
|
|
|
810
820
|
|
|
811
|
-
def
|
|
812
|
-
"""Validate text
|
|
821
|
+
def _validate_logged_text(text: str, field_name: str) -> str:
|
|
822
|
+
"""Validate text accepted by log_text."""
|
|
813
823
|
if not isinstance(text, str) or not text:
|
|
814
824
|
raise ValueError(f"`{field_name}` must be a non-empty string")
|
|
815
825
|
|
|
826
|
+
return text
|
|
827
|
+
|
|
828
|
+
|
|
829
|
+
def _normalize_logged_text(text: str, field_name: str) -> str:
|
|
830
|
+
"""Validate text content and convert Markdown to HTML for local rendering."""
|
|
831
|
+
text = _validate_logged_text(text, field_name)
|
|
832
|
+
|
|
816
833
|
if not is_html(text):
|
|
817
834
|
return md_to_html(text, mathml=True)
|
|
818
835
|
|
|
@@ -828,7 +845,7 @@ def _validate_manual_log_text_args(
|
|
|
828
845
|
if context is not None:
|
|
829
846
|
raise ValueError("`context` is only supported when `text` is omitted")
|
|
830
847
|
|
|
831
|
-
return
|
|
848
|
+
return _validate_logged_text(text, "text")
|
|
832
849
|
|
|
833
850
|
|
|
834
851
|
def _build_log_text_generation_request(
|
|
@@ -860,13 +877,13 @@ def _build_log_text_generation_request(
|
|
|
860
877
|
return request_data
|
|
861
878
|
|
|
862
879
|
|
|
863
|
-
def
|
|
880
|
+
def _generate_log_text_source(
|
|
864
881
|
content_id: str,
|
|
865
882
|
prompt: Optional[str],
|
|
866
883
|
context: Optional[Dict[str, Any]],
|
|
867
884
|
section_id: Optional[str] = None,
|
|
868
885
|
) -> str:
|
|
869
|
-
"""Generate
|
|
886
|
+
"""Generate and validate source text without converting it to HTML."""
|
|
870
887
|
request_data = _build_log_text_generation_request(
|
|
871
888
|
content_id,
|
|
872
889
|
prompt,
|
|
@@ -874,6 +891,22 @@ def _generate_log_text(
|
|
|
874
891
|
section_id=section_id,
|
|
875
892
|
)
|
|
876
893
|
generated_text = generate_qualitative_text(request_data)["content"]
|
|
894
|
+
return _validate_logged_text(generated_text, "generated text")
|
|
895
|
+
|
|
896
|
+
|
|
897
|
+
def _generate_log_text(
|
|
898
|
+
content_id: str,
|
|
899
|
+
prompt: Optional[str],
|
|
900
|
+
context: Optional[Dict[str, Any]],
|
|
901
|
+
section_id: Optional[str] = None,
|
|
902
|
+
) -> str:
|
|
903
|
+
"""Generate text and normalize it to HTML for local result rendering."""
|
|
904
|
+
generated_text = _generate_log_text_source(
|
|
905
|
+
content_id,
|
|
906
|
+
prompt,
|
|
907
|
+
context,
|
|
908
|
+
section_id=section_id,
|
|
909
|
+
)
|
|
877
910
|
return _normalize_logged_text(generated_text, "generated text")
|
|
878
911
|
|
|
879
912
|
|
|
@@ -902,14 +935,21 @@ async def alog_text(
|
|
|
902
935
|
if text is not None:
|
|
903
936
|
text = _validate_manual_log_text_args(text, prompt, context)
|
|
904
937
|
else:
|
|
905
|
-
text =
|
|
938
|
+
text = _generate_log_text_source(
|
|
906
939
|
content_id,
|
|
907
940
|
prompt,
|
|
908
941
|
context,
|
|
909
942
|
section_id=section_id,
|
|
910
943
|
)
|
|
911
944
|
|
|
912
|
-
|
|
945
|
+
text_format = None if is_html(text) else "markdown"
|
|
946
|
+
return await alog_metadata(
|
|
947
|
+
content_id,
|
|
948
|
+
text,
|
|
949
|
+
_json,
|
|
950
|
+
section_id=section_id,
|
|
951
|
+
text_format=text_format,
|
|
952
|
+
)
|
|
913
953
|
|
|
914
954
|
|
|
915
955
|
def log_text(
|
|
@@ -924,9 +964,9 @@ def log_text(
|
|
|
924
964
|
|
|
925
965
|
Args:
|
|
926
966
|
content_id (str): Unique content identifier for the text.
|
|
927
|
-
text (str, optional): The text to log.
|
|
928
|
-
|
|
929
|
-
|
|
967
|
+
text (str, optional): The text to log. Markdown is sent to the backend for
|
|
968
|
+
HTML and math conversion. If omitted, text is generated using the
|
|
969
|
+
qualitative text generation backend.
|
|
930
970
|
prompt (str, optional): Custom prompt used for AI-assisted text
|
|
931
971
|
generation. Only supported when `text` is omitted.
|
|
932
972
|
context (dict, optional): Context object for AI-assisted text
|
|
@@ -38,7 +38,7 @@ from .template import preview_template as _preview_template
|
|
|
38
38
|
from .test_suites import get_by_id as get_test_suite_by_id
|
|
39
39
|
from .tests.run import _get_run_metadata
|
|
40
40
|
from .utils import display as vm_display
|
|
41
|
-
from .utils import get_dataset_info, get_model_info
|
|
41
|
+
from .utils import get_dataset_info, get_model_info, is_html
|
|
42
42
|
from .vm_models import TestSuite, TestSuiteRunner
|
|
43
43
|
from .vm_models.dataset import DataFrameDataset, PolarsDataset, TorchDataset, VMDataset
|
|
44
44
|
from .vm_models.html_progress import HTMLLabel, HTMLProgressBar
|
|
@@ -479,9 +479,12 @@ def run_text_generation(
|
|
|
479
479
|
A TextGenerationResult containing the generated text.
|
|
480
480
|
"""
|
|
481
481
|
start_time = time.perf_counter()
|
|
482
|
-
|
|
482
|
+
description_source = api_client._generate_log_text_source(
|
|
483
483
|
content_id, prompt, context, section_id=section_id
|
|
484
484
|
)
|
|
485
|
+
description = api_client._normalize_logged_text(
|
|
486
|
+
description_source, "generated text"
|
|
487
|
+
)
|
|
485
488
|
metadata = _get_run_metadata(duration_seconds=time.perf_counter() - start_time)
|
|
486
489
|
result = TextGenerationResult(
|
|
487
490
|
result_id=content_id,
|
|
@@ -494,6 +497,9 @@ def run_text_generation(
|
|
|
494
497
|
section_id=section_id,
|
|
495
498
|
context=context,
|
|
496
499
|
_was_description_generated=True,
|
|
500
|
+
_description_source=(
|
|
501
|
+
description_source if not is_html(description_source) else None
|
|
502
|
+
),
|
|
497
503
|
)
|
|
498
504
|
|
|
499
505
|
if show:
|
|
@@ -39,6 +39,10 @@ class ClientConfig:
|
|
|
39
39
|
"""Returns True if the client can generate LLM-based test descriptions."""
|
|
40
40
|
return self.feature_flags.get("llm_test_descriptions", True)
|
|
41
41
|
|
|
42
|
+
def supports_log_metadata_markdown(self):
|
|
43
|
+
"""Return whether the backend converts Markdown logged as metadata."""
|
|
44
|
+
return self.feature_flags.get("log_metadata_markdown", False)
|
|
45
|
+
|
|
42
46
|
|
|
43
47
|
client_config = ClientConfig(
|
|
44
48
|
model=None,
|
|
@@ -54,7 +54,8 @@ def run_task(
|
|
|
54
54
|
else:
|
|
55
55
|
raise ValueError(f"Unsupported task: {task}")
|
|
56
56
|
|
|
57
|
-
if not is_html(generated_text)
|
|
57
|
+
description_source = generated_text if not is_html(generated_text) else None
|
|
58
|
+
if description_source is not None:
|
|
58
59
|
generated_text = md_to_html(generated_text, mathml=True)
|
|
59
60
|
|
|
60
61
|
# Create a test result with the generated text
|
|
@@ -68,6 +69,7 @@ def run_task(
|
|
|
68
69
|
section_id=input.get("section_id"),
|
|
69
70
|
context=input.get("context"),
|
|
70
71
|
_was_description_generated=True,
|
|
72
|
+
_description_source=description_source,
|
|
71
73
|
)
|
|
72
74
|
if show:
|
|
73
75
|
result.show()
|
|
@@ -184,7 +184,10 @@ class StringOutputHandler(OutputHandler):
|
|
|
184
184
|
|
|
185
185
|
def process(self, item: Any, result: TestResult) -> None:
|
|
186
186
|
if not is_html(item):
|
|
187
|
+
result._description_source = item
|
|
187
188
|
item = md_to_html(item, mathml=True)
|
|
189
|
+
else:
|
|
190
|
+
result._description_source = None
|
|
188
191
|
|
|
189
192
|
result.description = item
|
|
190
193
|
|
|
@@ -16,7 +16,7 @@ from validmind.ai.test_descriptions import get_result_description
|
|
|
16
16
|
from validmind.errors import MissingRequiredTestInputError
|
|
17
17
|
from validmind.input_registry import input_registry
|
|
18
18
|
from validmind.logging import get_logger
|
|
19
|
-
from validmind.utils import test_id_to_name
|
|
19
|
+
from validmind.utils import is_html, test_id_to_name
|
|
20
20
|
from validmind.vm_models.input import VMInput
|
|
21
21
|
from validmind.vm_models.result import TestResult
|
|
22
22
|
|
|
@@ -451,7 +451,7 @@ def run_test( # noqa: C901
|
|
|
451
451
|
result = post_process_fn(result)
|
|
452
452
|
|
|
453
453
|
if not result.description:
|
|
454
|
-
|
|
454
|
+
description = get_result_description(
|
|
455
455
|
test_id=test_id,
|
|
456
456
|
test_description=result.doc,
|
|
457
457
|
tables=result.tables,
|
|
@@ -463,6 +463,9 @@ def run_test( # noqa: C901
|
|
|
463
463
|
additional_context=additional_context,
|
|
464
464
|
params=result.params,
|
|
465
465
|
)
|
|
466
|
+
result.description = description
|
|
467
|
+
if isinstance(description, str) and result.doc and not is_html(result.doc):
|
|
468
|
+
result._description_source = result.doc
|
|
466
469
|
|
|
467
470
|
if show:
|
|
468
471
|
result.show()
|
|
@@ -187,10 +187,12 @@ def is_pytorch_model(model):
|
|
|
187
187
|
Checks if the model is a PyTorch model. Need to extend this
|
|
188
188
|
method to check for all ways a PyTorch model can be created
|
|
189
189
|
"""
|
|
190
|
-
# if we can't import torch, then it's not a PyTorch model
|
|
190
|
+
# if we can't import torch, then it's not a PyTorch model. Broken torch
|
|
191
|
+
# installs can fail with errors other than ImportError (e.g. OSError
|
|
192
|
+
# WinError 1114 when a native DLL fails to load on Windows)
|
|
191
193
|
try:
|
|
192
194
|
import torch.nn as nn
|
|
193
|
-
except
|
|
195
|
+
except Exception:
|
|
194
196
|
return False
|
|
195
197
|
|
|
196
198
|
# return False
|
|
@@ -20,7 +20,13 @@ from ... import api_client
|
|
|
20
20
|
from ...ai.utils import DescriptionFuture
|
|
21
21
|
from ...errors import InvalidParameterError
|
|
22
22
|
from ...logging import get_logger, log_api_operation
|
|
23
|
-
from ...utils import
|
|
23
|
+
from ...utils import (
|
|
24
|
+
HumanReadableEncoder,
|
|
25
|
+
display,
|
|
26
|
+
md_to_html,
|
|
27
|
+
run_async,
|
|
28
|
+
test_id_to_name,
|
|
29
|
+
)
|
|
24
30
|
from ..figure import Figure, create_figure
|
|
25
31
|
from ..html_renderer import StatefulHTMLRenderer
|
|
26
32
|
from ..input import VMInput
|
|
@@ -36,6 +42,17 @@ from .utils import (
|
|
|
36
42
|
logger = get_logger(__name__)
|
|
37
43
|
|
|
38
44
|
|
|
45
|
+
def _description_transport(rendered_description, markdown_source):
|
|
46
|
+
"""Use Markdown only while it still corresponds to the rendered description."""
|
|
47
|
+
if (
|
|
48
|
+
markdown_source is not None
|
|
49
|
+
and md_to_html(markdown_source, mathml=True) == rendered_description
|
|
50
|
+
):
|
|
51
|
+
return markdown_source, "markdown"
|
|
52
|
+
|
|
53
|
+
return rendered_description, None
|
|
54
|
+
|
|
55
|
+
|
|
39
56
|
class RawData:
|
|
40
57
|
"""Holds raw data for a test result."""
|
|
41
58
|
|
|
@@ -197,6 +214,7 @@ class TestResult(Result):
|
|
|
197
214
|
inputs: Optional[Dict[str, Union[List[VMInput], VMInput]]] = None
|
|
198
215
|
metadata: Optional[Dict[str, Any]] = None
|
|
199
216
|
_was_description_generated: bool = False
|
|
217
|
+
_description_source: Optional[str] = None
|
|
200
218
|
_unsafe: bool = False
|
|
201
219
|
_client_config_cache: Optional[Any] = None
|
|
202
220
|
_is_scorer_result: bool = False
|
|
@@ -237,6 +255,7 @@ class TestResult(Result):
|
|
|
237
255
|
self.description,
|
|
238
256
|
self._was_description_generated,
|
|
239
257
|
) = description.get_description()
|
|
258
|
+
self._description_source = description.markdown_source
|
|
240
259
|
|
|
241
260
|
return super().__getattribute__(name)
|
|
242
261
|
|
|
@@ -597,17 +616,23 @@ class TestResult(Result):
|
|
|
597
616
|
if self._was_description_generated
|
|
598
617
|
else DEFAULT_REVISION_NAME
|
|
599
618
|
)
|
|
600
|
-
|
|
601
|
-
|
|
602
|
-
|
|
603
|
-
|
|
604
|
-
|
|
605
|
-
|
|
606
|
-
|
|
607
|
-
|
|
608
|
-
text=self.description,
|
|
609
|
-
)
|
|
619
|
+
content_id_with_revision = (
|
|
620
|
+
f"{content_id}::{revision_name}"
|
|
621
|
+
if content_id
|
|
622
|
+
else f"test_description:{self.result_id}::{revision_name}"
|
|
623
|
+
)
|
|
624
|
+
description_text, text_format = _description_transport(
|
|
625
|
+
self.description,
|
|
626
|
+
self._description_source,
|
|
610
627
|
)
|
|
628
|
+
metadata_kwargs = {
|
|
629
|
+
"content_id": content_id_with_revision,
|
|
630
|
+
"text": description_text,
|
|
631
|
+
}
|
|
632
|
+
if text_format is not None:
|
|
633
|
+
metadata_kwargs["text_format"] = text_format
|
|
634
|
+
|
|
635
|
+
tasks.append(update_metadata(**metadata_kwargs))
|
|
611
636
|
|
|
612
637
|
return await asyncio.gather(*tasks)
|
|
613
638
|
|
|
@@ -717,6 +742,7 @@ class TextGenerationResult(Result):
|
|
|
717
742
|
section_id: Optional[str] = None
|
|
718
743
|
context: Optional[Dict[str, Any]] = None
|
|
719
744
|
_was_description_generated: bool = False
|
|
745
|
+
_description_source: Optional[str] = None
|
|
720
746
|
_client_config_cache: Optional[Any] = None
|
|
721
747
|
|
|
722
748
|
def __post_init__(self):
|
|
@@ -853,9 +879,13 @@ class TextGenerationResult(Result):
|
|
|
853
879
|
else f"{resolved_content_id}::{revision_name}"
|
|
854
880
|
)
|
|
855
881
|
|
|
882
|
+
description_text, _ = _description_transport(
|
|
883
|
+
self.description,
|
|
884
|
+
self._description_source,
|
|
885
|
+
)
|
|
856
886
|
return await api_client.alog_text(
|
|
857
887
|
content_id=resolved_content_id,
|
|
858
|
-
text=
|
|
888
|
+
text=description_text,
|
|
859
889
|
section_id=resolved_section_id,
|
|
860
890
|
)
|
|
861
891
|
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
# SPDX-License-Identifier: AGPL-3.0 AND ValidMind Commercial
|
|
4
4
|
|
|
5
5
|
import os
|
|
6
|
-
from typing import TYPE_CHECKING, Dict, List, Union
|
|
6
|
+
from typing import TYPE_CHECKING, Dict, List, Optional, Union
|
|
7
7
|
|
|
8
8
|
from jinja2 import Template
|
|
9
9
|
|
|
@@ -35,7 +35,12 @@ def get_result_template():
|
|
|
35
35
|
return _result_template
|
|
36
36
|
|
|
37
37
|
|
|
38
|
-
async def update_metadata(
|
|
38
|
+
async def update_metadata(
|
|
39
|
+
content_id: str,
|
|
40
|
+
text: str,
|
|
41
|
+
_json: Union[Dict, List] = None,
|
|
42
|
+
text_format: Optional[str] = None,
|
|
43
|
+
):
|
|
39
44
|
"""Create or update a metadata object."""
|
|
40
45
|
parts = content_id.split("::")
|
|
41
46
|
content_id = parts[0]
|
|
@@ -46,7 +51,12 @@ async def update_metadata(content_id: str, text: str, _json: Union[Dict, List] =
|
|
|
46
51
|
|
|
47
52
|
logger.debug(f"Updating metadata for `{content_id}`")
|
|
48
53
|
|
|
49
|
-
await api_client.alog_metadata(
|
|
54
|
+
await api_client.alog_metadata(
|
|
55
|
+
content_id,
|
|
56
|
+
text,
|
|
57
|
+
_json,
|
|
58
|
+
text_format=text_format,
|
|
59
|
+
)
|
|
50
60
|
|
|
51
61
|
|
|
52
62
|
def tables_to_html(tables: List["ResultTable"]) -> str:
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
__version__ = "2.13.9"
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{validmind-2.13.9 → validmind-2.13.11}/validmind/datasets/classification/datasets/taiwan_credit.csv
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{validmind-2.13.9 → validmind-2.13.11}/validmind/datasets/regression/datasets/california_housing.csv
RENAMED
|
File without changes
|
{validmind-2.13.9 → validmind-2.13.11}/validmind/datasets/regression/datasets/fred/CPIAUCSL.csv
RENAMED
|
File without changes
|
{validmind-2.13.9 → validmind-2.13.11}/validmind/datasets/regression/datasets/fred/CSUSHPISA.csv
RENAMED
|
File without changes
|
{validmind-2.13.9 → validmind-2.13.11}/validmind/datasets/regression/datasets/fred/DRSFRMACBS.csv
RENAMED
|
File without changes
|
{validmind-2.13.9 → validmind-2.13.11}/validmind/datasets/regression/datasets/fred/FEDFUNDS.csv
RENAMED
|
File without changes
|
|
File without changes
|
{validmind-2.13.9 → validmind-2.13.11}/validmind/datasets/regression/datasets/fred/GDPC1.csv
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{validmind-2.13.9 → validmind-2.13.11}/validmind/datasets/regression/datasets/fred/MORTGAGE30US.csv
RENAMED
|
File without changes
|
{validmind-2.13.9 → validmind-2.13.11}/validmind/datasets/regression/datasets/fred/UNRATE.csv
RENAMED
|
File without changes
|
{validmind-2.13.9 → validmind-2.13.11}/validmind/datasets/regression/datasets/fred_loan_rates.csv
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|