validmind 2.12.2__tar.gz → 2.12.4__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.12.2 → validmind-2.12.4}/PKG-INFO +38 -9
- {validmind-2.12.2 → validmind-2.12.4}/pyproject.toml +41 -10
- validmind-2.12.4/validmind/__version__.py +1 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/client.py +16 -18
- {validmind-2.12.2 → validmind-2.12.4}/validmind/models/r_model.py +14 -9
- {validmind-2.12.2 → validmind-2.12.4}/validmind/template.py +22 -5
- {validmind-2.12.2 → validmind-2.12.4}/validmind/utils.py +11 -1
- {validmind-2.12.2 → validmind-2.12.4}/validmind/vm_models/html_progress.py +23 -5
- validmind-2.12.2/validmind/__version__.py +0 -1
- {validmind-2.12.2 → validmind-2.12.4}/LICENSE +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/README.pypi.md +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/__init__.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/ai/test_descriptions.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/ai/utils.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/api_client.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/client_config.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/datasets/__init__.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/datasets/classification/__init__.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/datasets/classification/customer_churn.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/datasets/classification/datasets/bank_customer_churn.csv +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/datasets/classification/datasets/taiwan_credit.csv +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/datasets/classification/taiwan_credit.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/datasets/cluster/digits.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/datasets/credit_risk/__init__.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/datasets/credit_risk/datasets/lending_club_biased.csv.gz +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/datasets/credit_risk/datasets/lending_club_loan_data_2007_2014_clean.csv.gz +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/datasets/credit_risk/lending_club.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/datasets/credit_risk/lending_club_bias.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/datasets/llm/__init__.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/datasets/llm/agent_dataset.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/datasets/llm/rag/__init__.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/datasets/llm/rag/datasets/rfp_existing_questions_client_1.csv +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/datasets/llm/rag/datasets/rfp_existing_questions_client_2.csv +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/datasets/llm/rag/datasets/rfp_existing_questions_client_3.csv +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/datasets/llm/rag/datasets/rfp_existing_questions_client_4.csv +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/datasets/llm/rag/datasets/rfp_existing_questions_client_5.csv +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/datasets/llm/rag/rfp.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/datasets/nlp/__init__.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/datasets/nlp/cnn_dailymail.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/datasets/nlp/datasets/Covid_19.csv +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/datasets/nlp/datasets/cnn_dailymail_100_with_predictions.csv +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/datasets/nlp/datasets/cnn_dailymail_500_with_predictions.csv +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/datasets/nlp/datasets/sentiments_with_predictions.csv +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/datasets/nlp/twitter_covid_19.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/datasets/regression/__init__.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/datasets/regression/california_housing.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/datasets/regression/datasets/california_housing.csv +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/datasets/regression/datasets/fred/CPIAUCSL.csv +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/datasets/regression/datasets/fred/CSUSHPISA.csv +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/datasets/regression/datasets/fred/DRSFRMACBS.csv +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/datasets/regression/datasets/fred/FEDFUNDS.csv +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/datasets/regression/datasets/fred/GDP.csv +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/datasets/regression/datasets/fred/GDPC1.csv +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/datasets/regression/datasets/fred/GS10.csv +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/datasets/regression/datasets/fred/GS3.csv +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/datasets/regression/datasets/fred/GS5.csv +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/datasets/regression/datasets/fred/MORTGAGE30US.csv +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/datasets/regression/datasets/fred/UNRATE.csv +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/datasets/regression/datasets/fred_loan_rates.csv +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/datasets/regression/datasets/fred_loan_rates_test_1.csv +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/datasets/regression/datasets/fred_loan_rates_test_2.csv +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/datasets/regression/datasets/fred_loan_rates_test_3.csv +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/datasets/regression/datasets/fred_loan_rates_test_4.csv +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/datasets/regression/datasets/fred_loan_rates_test_5.csv +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/datasets/regression/datasets/leanding_club_loan_rates.csv +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/datasets/regression/fred.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/datasets/regression/fred_timeseries.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/datasets/regression/generate_california_housing_csv.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/datasets/regression/lending_club.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/datasets/regression/models/fred_loan_rates_model_1.pkl +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/datasets/regression/models/fred_loan_rates_model_2.pkl +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/datasets/regression/models/fred_loan_rates_model_3.pkl +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/datasets/regression/models/fred_loan_rates_model_4.pkl +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/datasets/regression/models/fred_loan_rates_model_5.pkl +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/errors.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/experimental/__init__.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/experimental/agents.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/html_templates/__init__.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/html_templates/content_blocks.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/input_registry.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/logging.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/models/__init__.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/models/foundation.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/models/function.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/models/huggingface.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/models/metadata.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/models/pipeline.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/models/pytorch.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/models/sklearn.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/scorers/__init__.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/scorers/classification/AbsoluteError.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/scorers/classification/BrierScore.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/scorers/classification/CalibrationError.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/scorers/classification/ClassBalance.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/scorers/classification/Confidence.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/scorers/classification/Correctness.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/scorers/classification/LogLoss.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/scorers/classification/OutlierScore.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/scorers/classification/ProbabilityError.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/scorers/classification/Uncertainty.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/scorers/classification/__init__.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/scorers/llm/deepeval/AnswerRelevancy.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/scorers/llm/deepeval/ArgumentCorrectness.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/scorers/llm/deepeval/Bias.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/scorers/llm/deepeval/ContextualPrecision.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/scorers/llm/deepeval/ContextualRecall.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/scorers/llm/deepeval/ContextualRelevancy.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/scorers/llm/deepeval/Faithfulness.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/scorers/llm/deepeval/GEval.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/scorers/llm/deepeval/Hallucination.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/scorers/llm/deepeval/PlanAdherence.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/scorers/llm/deepeval/PlanQuality.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/scorers/llm/deepeval/Summarization.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/scorers/llm/deepeval/TaskCompletion.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/scorers/llm/deepeval/ToolCorrectness.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/scorers/llm/deepeval/__init__.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/test_suites/__init__.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/test_suites/classifier.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/test_suites/cluster.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/test_suites/embeddings.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/test_suites/llm.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/test_suites/nlp.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/test_suites/parameters_optimization.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/test_suites/regression.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/test_suites/statsmodels_timeseries.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/test_suites/summarization.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/test_suites/tabular_datasets.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/test_suites/text_data.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/test_suites/time_series.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/tests/__init__.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/tests/__types__.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/tests/_store.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/tests/comparison.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/tests/data_validation/ACFandPACFPlot.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/tests/data_validation/ADF.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/tests/data_validation/AutoAR.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/tests/data_validation/AutoMA.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/tests/data_validation/AutoStationarity.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/tests/data_validation/BivariateScatterPlots.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/tests/data_validation/BoxPierce.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/tests/data_validation/ChiSquaredFeaturesTable.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/tests/data_validation/ClassImbalance.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/tests/data_validation/DatasetDescription.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/tests/data_validation/DatasetSplit.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/tests/data_validation/DescriptiveStatistics.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/tests/data_validation/DickeyFullerGLS.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/tests/data_validation/Duplicates.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/tests/data_validation/EngleGrangerCoint.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/tests/data_validation/FeatureTargetCorrelationPlot.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/tests/data_validation/HighCardinality.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/tests/data_validation/HighPearsonCorrelation.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/tests/data_validation/IQROutliersBarPlot.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/tests/data_validation/IQROutliersTable.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/tests/data_validation/IsolationForestOutliers.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/tests/data_validation/JarqueBera.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/tests/data_validation/KPSS.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/tests/data_validation/LJungBox.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/tests/data_validation/LaggedCorrelationHeatmap.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/tests/data_validation/MissingValues.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/tests/data_validation/MissingValuesBarPlot.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/tests/data_validation/MutualInformation.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/tests/data_validation/PearsonCorrelationMatrix.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/tests/data_validation/PhillipsPerronArch.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/tests/data_validation/ProtectedClassesCombination.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/tests/data_validation/ProtectedClassesDescription.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/tests/data_validation/ProtectedClassesDisparity.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/tests/data_validation/ProtectedClassesThresholdOptimizer.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/tests/data_validation/RollingStatsPlot.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/tests/data_validation/RunsTest.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/tests/data_validation/ScatterPlot.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/tests/data_validation/ScoreBandDefaultRates.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/tests/data_validation/SeasonalDecompose.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/tests/data_validation/ShapiroWilk.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/tests/data_validation/Skewness.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/tests/data_validation/SpreadPlot.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/tests/data_validation/TabularCategoricalBarPlots.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/tests/data_validation/TabularDateTimeHistograms.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/tests/data_validation/TabularDescriptionTables.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/tests/data_validation/TabularNumericalHistograms.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/tests/data_validation/TargetRateBarPlots.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/tests/data_validation/TimeSeriesDescription.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/tests/data_validation/TimeSeriesDescriptiveStatistics.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/tests/data_validation/TimeSeriesFrequency.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/tests/data_validation/TimeSeriesHistogram.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/tests/data_validation/TimeSeriesLinePlot.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/tests/data_validation/TimeSeriesMissingValues.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/tests/data_validation/TimeSeriesOutliers.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/tests/data_validation/TooManyZeroValues.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/tests/data_validation/UniqueRows.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/tests/data_validation/WOEBinPlots.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/tests/data_validation/WOEBinTable.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/tests/data_validation/ZivotAndrewsArch.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/tests/data_validation/__init__.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/tests/data_validation/nlp/CommonWords.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/tests/data_validation/nlp/Hashtags.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/tests/data_validation/nlp/LanguageDetection.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/tests/data_validation/nlp/Mentions.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/tests/data_validation/nlp/PolarityAndSubjectivity.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/tests/data_validation/nlp/Punctuations.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/tests/data_validation/nlp/Sentiment.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/tests/data_validation/nlp/StopWords.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/tests/data_validation/nlp/TextDescription.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/tests/data_validation/nlp/Toxicity.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/tests/data_validation/nlp/__init__.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/tests/decorator.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/tests/load.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/tests/model_validation/BertScore.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/tests/model_validation/BleuScore.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/tests/model_validation/ClusterSizeDistribution.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/tests/model_validation/ContextualRecall.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/tests/model_validation/FeaturesAUC.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/tests/model_validation/MeteorScore.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/tests/model_validation/ModelMetadata.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/tests/model_validation/ModelPredictionResiduals.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/tests/model_validation/RegardScore.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/tests/model_validation/RegressionResidualsPlot.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/tests/model_validation/RougeScore.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/tests/model_validation/TimeSeriesPredictionWithCI.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/tests/model_validation/TimeSeriesPredictionsPlot.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/tests/model_validation/TimeSeriesR2SquareBySegments.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/tests/model_validation/TokenDisparity.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/tests/model_validation/ToxicityScore.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/tests/model_validation/__init__.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/tests/model_validation/embeddings/ClusterDistribution.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/tests/model_validation/embeddings/CosineSimilarityComparison.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/tests/model_validation/embeddings/CosineSimilarityDistribution.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/tests/model_validation/embeddings/CosineSimilarityHeatmap.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/tests/model_validation/embeddings/DescriptiveAnalytics.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/tests/model_validation/embeddings/EmbeddingsVisualization2D.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/tests/model_validation/embeddings/EuclideanDistanceComparison.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/tests/model_validation/embeddings/EuclideanDistanceHeatmap.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/tests/model_validation/embeddings/PCAComponentsPairwisePlots.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/tests/model_validation/embeddings/StabilityAnalysisKeyword.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/tests/model_validation/embeddings/StabilityAnalysisRandomNoise.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/tests/model_validation/embeddings/StabilityAnalysisSynonyms.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/tests/model_validation/embeddings/StabilityAnalysisTranslation.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/tests/model_validation/embeddings/TSNEComponentsPairwisePlots.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/tests/model_validation/embeddings/utils.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/tests/model_validation/ragas/AnswerCorrectness.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/tests/model_validation/ragas/AspectCritic.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/tests/model_validation/ragas/ContextEntityRecall.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/tests/model_validation/ragas/ContextPrecision.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/tests/model_validation/ragas/ContextPrecisionWithoutReference.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/tests/model_validation/ragas/ContextRecall.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/tests/model_validation/ragas/Faithfulness.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/tests/model_validation/ragas/NoiseSensitivity.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/tests/model_validation/ragas/ResponseRelevancy.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/tests/model_validation/ragas/SemanticSimilarity.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/tests/model_validation/ragas/utils.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/tests/model_validation/sklearn/AdjustedMutualInformation.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/tests/model_validation/sklearn/AdjustedRandIndex.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/tests/model_validation/sklearn/CalibrationCurve.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/tests/model_validation/sklearn/ClassifierPerformance.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/tests/model_validation/sklearn/ClassifierThresholdOptimization.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/tests/model_validation/sklearn/ClusterCosineSimilarity.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/tests/model_validation/sklearn/ClusterPerformanceMetrics.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/tests/model_validation/sklearn/CompletenessScore.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/tests/model_validation/sklearn/ConfusionMatrix.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/tests/model_validation/sklearn/FeatureImportance.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/tests/model_validation/sklearn/FowlkesMallowsScore.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/tests/model_validation/sklearn/HomogeneityScore.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/tests/model_validation/sklearn/HyperParametersTuning.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/tests/model_validation/sklearn/KMeansClustersOptimization.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/tests/model_validation/sklearn/MinimumAccuracy.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/tests/model_validation/sklearn/MinimumF1Score.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/tests/model_validation/sklearn/MinimumROCAUCScore.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/tests/model_validation/sklearn/ModelParameters.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/tests/model_validation/sklearn/ModelsPerformanceComparison.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/tests/model_validation/sklearn/OverfitDiagnosis.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/tests/model_validation/sklearn/PermutationFeatureImportance.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/tests/model_validation/sklearn/PopulationStabilityIndex.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/tests/model_validation/sklearn/PrecisionRecallCurve.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/tests/model_validation/sklearn/ROCCurve.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/tests/model_validation/sklearn/RegressionErrors.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/tests/model_validation/sklearn/RegressionErrorsComparison.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/tests/model_validation/sklearn/RegressionPerformance.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/tests/model_validation/sklearn/RegressionR2Square.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/tests/model_validation/sklearn/RegressionR2SquareComparison.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/tests/model_validation/sklearn/RobustnessDiagnosis.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/tests/model_validation/sklearn/SHAPGlobalImportance.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/tests/model_validation/sklearn/ScoreProbabilityAlignment.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/tests/model_validation/sklearn/SilhouettePlot.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/tests/model_validation/sklearn/TrainingTestDegradation.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/tests/model_validation/sklearn/VMeasure.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/tests/model_validation/sklearn/WeakspotsDiagnosis.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/tests/model_validation/sklearn/__init__.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/tests/model_validation/statsmodels/AutoARIMA.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/tests/model_validation/statsmodels/CumulativePredictionProbabilities.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/tests/model_validation/statsmodels/DurbinWatsonTest.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/tests/model_validation/statsmodels/GINITable.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/tests/model_validation/statsmodels/KolmogorovSmirnov.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/tests/model_validation/statsmodels/Lilliefors.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/tests/model_validation/statsmodels/PredictionProbabilitiesHistogram.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/tests/model_validation/statsmodels/RegressionCoeffs.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/tests/model_validation/statsmodels/RegressionFeatureSignificance.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/tests/model_validation/statsmodels/RegressionModelForecastPlot.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/tests/model_validation/statsmodels/RegressionModelForecastPlotLevels.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/tests/model_validation/statsmodels/RegressionModelSensitivityPlot.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/tests/model_validation/statsmodels/RegressionModelSummary.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/tests/model_validation/statsmodels/RegressionPermutationFeatureImportance.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/tests/model_validation/statsmodels/ScorecardHistogram.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/tests/model_validation/statsmodels/__init__.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/tests/model_validation/statsmodels/statsutils.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/tests/ongoing_monitoring/CalibrationCurveDrift.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/tests/ongoing_monitoring/ClassDiscriminationDrift.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/tests/ongoing_monitoring/ClassImbalanceDrift.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/tests/ongoing_monitoring/ClassificationAccuracyDrift.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/tests/ongoing_monitoring/ConfusionMatrixDrift.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/tests/ongoing_monitoring/CumulativePredictionProbabilitiesDrift.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/tests/ongoing_monitoring/FeatureDrift.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/tests/ongoing_monitoring/PredictionAcrossEachFeature.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/tests/ongoing_monitoring/PredictionCorrelation.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/tests/ongoing_monitoring/PredictionProbabilitiesHistogramDrift.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/tests/ongoing_monitoring/PredictionQuantilesAcrossFeatures.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/tests/ongoing_monitoring/ROCCurveDrift.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/tests/ongoing_monitoring/ScoreBandsDrift.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/tests/ongoing_monitoring/ScorecardHistogramDrift.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/tests/ongoing_monitoring/TargetPredictionDistributionPlot.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/tests/output.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/tests/plots/BoxPlot.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/tests/plots/CorrelationHeatmap.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/tests/plots/HistogramPlot.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/tests/plots/ViolinPlot.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/tests/plots/__init__.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/tests/prompt_validation/Bias.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/tests/prompt_validation/Clarity.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/tests/prompt_validation/Conciseness.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/tests/prompt_validation/Delimitation.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/tests/prompt_validation/NegativeInstruction.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/tests/prompt_validation/Robustness.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/tests/prompt_validation/Specificity.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/tests/prompt_validation/__init__.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/tests/prompt_validation/ai_powered_test.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/tests/run.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/tests/stats/CorrelationAnalysis.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/tests/stats/DescriptiveStats.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/tests/stats/NormalityTests.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/tests/stats/OutlierDetection.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/tests/stats/__init__.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/tests/test_providers.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/tests/utils.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/unit_metrics/__init__.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/unit_metrics/classification/Accuracy.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/unit_metrics/classification/F1.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/unit_metrics/classification/Precision.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/unit_metrics/classification/ROC_AUC.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/unit_metrics/classification/Recall.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/unit_metrics/regression/AdjustedRSquaredScore.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/unit_metrics/regression/GiniCoefficient.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/unit_metrics/regression/HuberLoss.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/unit_metrics/regression/KolmogorovSmirnovStatistic.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/unit_metrics/regression/MeanAbsoluteError.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/unit_metrics/regression/MeanAbsolutePercentageError.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/unit_metrics/regression/MeanBiasDeviation.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/unit_metrics/regression/MeanSquaredError.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/unit_metrics/regression/QuantileLoss.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/unit_metrics/regression/RSquaredScore.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/unit_metrics/regression/RootMeanSquaredError.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/vm_models/__init__.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/vm_models/dataset/__init__.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/vm_models/dataset/dataset.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/vm_models/dataset/utils.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/vm_models/figure.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/vm_models/html_renderer.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/vm_models/input.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/vm_models/model.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/vm_models/result/__init__.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/vm_models/result/pii_filter.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/vm_models/result/result.jinja +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/vm_models/result/result.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/vm_models/result/utils.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/vm_models/test_suite/__init__.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/vm_models/test_suite/runner.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/vm_models/test_suite/summary.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/vm_models/test_suite/test.py +0 -0
- {validmind-2.12.2 → validmind-2.12.4}/validmind/vm_models/test_suite/test_suite.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: validmind
|
|
3
|
-
Version: 2.12.
|
|
3
|
+
Version: 2.12.4
|
|
4
4
|
Summary: ValidMind Library
|
|
5
5
|
License: DUAL LICENSE NOTICE
|
|
6
6
|
|
|
@@ -692,13 +692,15 @@ License: DUAL LICENSE NOTICE
|
|
|
692
692
|
License-File: LICENSE
|
|
693
693
|
Author: Andres Rodriguez
|
|
694
694
|
Author-email: andres@validmind.ai
|
|
695
|
-
Requires-Python: >=3.9,<3.
|
|
695
|
+
Requires-Python: >=3.9,<3.15
|
|
696
696
|
Classifier: License :: Other/Proprietary License
|
|
697
697
|
Classifier: Programming Language :: Python :: 3
|
|
698
698
|
Classifier: Programming Language :: Python :: 3.9
|
|
699
699
|
Classifier: Programming Language :: Python :: 3.10
|
|
700
700
|
Classifier: Programming Language :: Python :: 3.11
|
|
701
701
|
Classifier: Programming Language :: Python :: 3.12
|
|
702
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
703
|
+
Classifier: Programming Language :: Python :: 3.14
|
|
702
704
|
Provides-Extra: all
|
|
703
705
|
Provides-Extra: credit-risk
|
|
704
706
|
Provides-Extra: datasets
|
|
@@ -712,17 +714,28 @@ Provides-Extra: stats
|
|
|
712
714
|
Provides-Extra: xgboost
|
|
713
715
|
Requires-Dist: aiohttp[speedups] (<3.13.1)
|
|
714
716
|
Requires-Dist: anywidget
|
|
715
|
-
Requires-Dist: arch ; extra == "all"
|
|
716
|
-
Requires-Dist: arch ; extra == "stats"
|
|
717
|
+
Requires-Dist: arch (>=7.0.0) ; extra == "all"
|
|
718
|
+
Requires-Dist: arch (>=7.0.0) ; extra == "stats"
|
|
717
719
|
Requires-Dist: beautifulsoup4
|
|
718
720
|
Requires-Dist: bert-score (>=0.3.13) ; extra == "all"
|
|
719
721
|
Requires-Dist: bert-score (>=0.3.13) ; extra == "nlp"
|
|
720
|
-
Requires-Dist: datasets (>=2.10.0,<3.0.0) ; extra == "
|
|
721
|
-
Requires-Dist:
|
|
722
|
+
Requires-Dist: datasets (>=2.10.0,<3.0.0) ; (python_version < "3.14") and (extra == "all")
|
|
723
|
+
Requires-Dist: datasets (>=2.10.0,<3.0.0) ; (python_version < "3.14") and (extra == "datasets")
|
|
724
|
+
Requires-Dist: datasets (>=2.10.0,<3.0.0) ; (python_version < "3.14") and (extra == "llm")
|
|
725
|
+
Requires-Dist: datasets (>=2.10.0,<3.0.0) ; (python_version < "3.14") and (extra == "nlp")
|
|
726
|
+
Requires-Dist: datasets (>=4.4,<5.0.0) ; (python_version >= "3.14") and (extra == "all")
|
|
727
|
+
Requires-Dist: datasets (>=4.4,<5.0.0) ; (python_version >= "3.14") and (extra == "datasets")
|
|
728
|
+
Requires-Dist: datasets (>=4.4,<5.0.0) ; (python_version >= "3.14") and (extra == "llm")
|
|
729
|
+
Requires-Dist: datasets (>=4.4,<5.0.0) ; (python_version >= "3.14") and (extra == "nlp")
|
|
730
|
+
Requires-Dist: deepeval (>=3.7.0,<=3.7.5) ; extra == "llm"
|
|
722
731
|
Requires-Dist: evaluate ; extra == "all"
|
|
723
732
|
Requires-Dist: evaluate ; extra == "nlp"
|
|
724
733
|
Requires-Dist: ipywidgets
|
|
725
734
|
Requires-Dist: kaleido (>=0.2.1,!=0.2.1.post1,<1.0.0)
|
|
735
|
+
Requires-Dist: langchain (>=0.2.0,<0.4.0) ; extra == "all"
|
|
736
|
+
Requires-Dist: langchain (>=0.2.0,<0.4.0) ; extra == "llm"
|
|
737
|
+
Requires-Dist: langchain-community (>=0.2.0,<0.4.0) ; extra == "all"
|
|
738
|
+
Requires-Dist: langchain-community (>=0.2.0,<0.4.0) ; extra == "llm"
|
|
726
739
|
Requires-Dist: langchain-openai (>=0.1.8) ; extra == "all"
|
|
727
740
|
Requires-Dist: langchain-openai (>=0.1.8) ; extra == "llm"
|
|
728
741
|
Requires-Dist: langdetect ; extra == "all"
|
|
@@ -732,14 +745,27 @@ Requires-Dist: mistune (>=3.0.2,<4.0.0)
|
|
|
732
745
|
Requires-Dist: nest-asyncio (>=1.6.0,<2.0.0)
|
|
733
746
|
Requires-Dist: nltk (>=3.8.1,<4.0.0) ; extra == "all"
|
|
734
747
|
Requires-Dist: nltk (>=3.8.1,<4.0.0) ; extra == "nlp"
|
|
735
|
-
Requires-Dist: numpy (>=1.23,<2.0.0)
|
|
748
|
+
Requires-Dist: numpy (>=1.23,<2.0.0) ; python_version < "3.14"
|
|
749
|
+
Requires-Dist: numpy (>=2.3,<3.0.0) ; python_version >= "3.14"
|
|
736
750
|
Requires-Dist: openai (>=1)
|
|
737
751
|
Requires-Dist: pandas (>=2.0.3,<3.0.0)
|
|
738
752
|
Requires-Dist: plotly (>=6.0.0)
|
|
739
753
|
Requires-Dist: polars
|
|
740
|
-
Requires-Dist: presidio-analyzer ; extra == "pii-detection"
|
|
754
|
+
Requires-Dist: presidio-analyzer (<2.2.360) ; (python_version >= "3.14") and (extra == "pii-detection")
|
|
755
|
+
Requires-Dist: presidio-analyzer ; (python_version < "3.14") and (extra == "pii-detection")
|
|
741
756
|
Requires-Dist: presidio-structured ; extra == "pii-detection"
|
|
742
|
-
Requires-Dist: pyarrow (<16) ; extra == "
|
|
757
|
+
Requires-Dist: pyarrow (<16) ; (python_version < "3.13") and (extra == "all")
|
|
758
|
+
Requires-Dist: pyarrow (<16) ; (python_version < "3.13") and (extra == "datasets")
|
|
759
|
+
Requires-Dist: pyarrow (<16) ; (python_version < "3.13") and (extra == "llm")
|
|
760
|
+
Requires-Dist: pyarrow (<16) ; (python_version < "3.13") and (extra == "nlp")
|
|
761
|
+
Requires-Dist: pyarrow (>=20,<21) ; (python_version == "3.13") and (extra == "all")
|
|
762
|
+
Requires-Dist: pyarrow (>=20,<21) ; (python_version == "3.13") and (extra == "datasets")
|
|
763
|
+
Requires-Dist: pyarrow (>=20,<21) ; (python_version == "3.13") and (extra == "llm")
|
|
764
|
+
Requires-Dist: pyarrow (>=20,<21) ; (python_version == "3.13") and (extra == "nlp")
|
|
765
|
+
Requires-Dist: pyarrow (>=22,<23) ; (python_version >= "3.14") and (extra == "all")
|
|
766
|
+
Requires-Dist: pyarrow (>=22,<23) ; (python_version >= "3.14") and (extra == "datasets")
|
|
767
|
+
Requires-Dist: pyarrow (>=22,<23) ; (python_version >= "3.14") and (extra == "llm")
|
|
768
|
+
Requires-Dist: pyarrow (>=22,<23) ; (python_version >= "3.14") and (extra == "nlp")
|
|
743
769
|
Requires-Dist: pycocoevalcap ; extra == "all"
|
|
744
770
|
Requires-Dist: pycocoevalcap ; extra == "llm"
|
|
745
771
|
Requires-Dist: python-dotenv
|
|
@@ -756,6 +782,8 @@ Requires-Dist: seaborn
|
|
|
756
782
|
Requires-Dist: sentencepiece (>=0.2.0,<0.3.0) ; extra == "all"
|
|
757
783
|
Requires-Dist: sentencepiece (>=0.2.0,<0.3.0) ; extra == "huggingface"
|
|
758
784
|
Requires-Dist: sentencepiece (>=0.2.0,<0.3.0) ; extra == "llm"
|
|
785
|
+
Requires-Dist: setuptools (<82) ; extra == "all"
|
|
786
|
+
Requires-Dist: setuptools (<82) ; extra == "credit-risk"
|
|
759
787
|
Requires-Dist: shap (>=0.46.0) ; extra == "all"
|
|
760
788
|
Requires-Dist: shap (>=0.46.0) ; extra == "explainability"
|
|
761
789
|
Requires-Dist: statsmodels (>=0.14.2,<0.15.0) ; extra == "all"
|
|
@@ -771,6 +799,7 @@ Requires-Dist: tqdm
|
|
|
771
799
|
Requires-Dist: transformers (>=4.32.0,<5.0.0) ; extra == "all"
|
|
772
800
|
Requires-Dist: transformers (>=4.32.0,<5.0.0) ; extra == "huggingface"
|
|
773
801
|
Requires-Dist: transformers (>=4.32.0,<5.0.0) ; extra == "llm"
|
|
802
|
+
Requires-Dist: transformers (>=4.32.0,<5.0.0) ; extra == "nlp"
|
|
774
803
|
Requires-Dist: xgboost (>=1.5.2,<3) ; extra == "all"
|
|
775
804
|
Requires-Dist: xgboost (>=1.5.2,<3) ; extra == "xgboost"
|
|
776
805
|
Description-Content-Type: text/markdown
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "validmind"
|
|
3
|
-
version = "2.12.
|
|
3
|
+
version = "2.12.4"
|
|
4
4
|
description = "ValidMind Library"
|
|
5
5
|
readme = "README.pypi.md"
|
|
6
|
-
requires-python = ">=3.9,<3.
|
|
6
|
+
requires-python = ">=3.9,<3.15"
|
|
7
7
|
license = { file = "LICENSE" }
|
|
8
8
|
authors = [
|
|
9
9
|
{ name = "Andres Rodriguez", email = "andres@validmind.ai" },
|
|
@@ -19,7 +19,8 @@ dependencies = [
|
|
|
19
19
|
"matplotlib",
|
|
20
20
|
"mistune (>=3.0.2,<4.0.0)",
|
|
21
21
|
"nest-asyncio (>=1.6.0,<2.0.0)",
|
|
22
|
-
"numpy (>=1.23,<2.0.0)",
|
|
22
|
+
"numpy (>=1.23,<2.0.0) ; python_version < '3.14'",
|
|
23
|
+
"numpy (>=2.3,<3.0.0) ; python_version >= '3.14'",
|
|
23
24
|
"openai (>=1)",
|
|
24
25
|
"pandas (>=2.0.3,<3.0.0)",
|
|
25
26
|
"plotly (>=6.0.0)",
|
|
@@ -41,6 +42,8 @@ all = [
|
|
|
41
42
|
"transformers (>=4.32.0,<5.0.0)",
|
|
42
43
|
"pycocoevalcap",
|
|
43
44
|
"ragas (>=0.2.3,<=0.2.7)",
|
|
45
|
+
"langchain (>=0.2.0,<0.4.0)",
|
|
46
|
+
"langchain-community (>=0.2.0,<0.4.0)",
|
|
44
47
|
"sentencepiece (>=0.2.0,<0.3.0)",
|
|
45
48
|
"langchain-openai (>=0.1.8)",
|
|
46
49
|
"scipy",
|
|
@@ -48,12 +51,18 @@ all = [
|
|
|
48
51
|
"langdetect",
|
|
49
52
|
"nltk (>=3.8.1,<4.0.0)",
|
|
50
53
|
"textblob (>=0.18.0.post0,<0.19.0)",
|
|
54
|
+
"datasets (>=2.10.0,<3.0.0) ; python_version < '3.14'",
|
|
55
|
+
"datasets (>=4.4,<5.0.0) ; python_version >= '3.14'",
|
|
51
56
|
"evaluate",
|
|
52
57
|
"rouge (>=1)",
|
|
53
58
|
"bert-score (>=0.3.13)",
|
|
54
|
-
"
|
|
59
|
+
"pyarrow (<16) ; python_version < '3.13'",
|
|
60
|
+
"pyarrow (>=20,<21) ; python_version == '3.13'",
|
|
61
|
+
"pyarrow (>=22,<23) ; python_version >= '3.14'",
|
|
62
|
+
"arch (>=7.0.0)",
|
|
55
63
|
"shap (>=0.46.0)",
|
|
56
64
|
"scorecardpy==0.1.9.6",
|
|
65
|
+
"setuptools (<82)",
|
|
57
66
|
]
|
|
58
67
|
huggingface = [
|
|
59
68
|
"transformers (>=4.32.0,<5.0.0)",
|
|
@@ -64,26 +73,48 @@ llm = [
|
|
|
64
73
|
"transformers (>=4.32.0,<5.0.0)",
|
|
65
74
|
"pycocoevalcap",
|
|
66
75
|
"ragas (>=0.2.3,<=0.2.7)",
|
|
76
|
+
"langchain (>=0.2.0,<0.4.0)",
|
|
77
|
+
"langchain-community (>=0.2.0,<0.4.0)",
|
|
78
|
+
"datasets (>=2.10.0,<3.0.0) ; python_version < '3.14'",
|
|
79
|
+
"datasets (>=4.4,<5.0.0) ; python_version >= '3.14'",
|
|
67
80
|
"sentencepiece (>=0.2.0,<0.3.0)",
|
|
68
81
|
"langchain-openai (>=0.1.8)",
|
|
69
|
-
"
|
|
82
|
+
"pyarrow (<16) ; python_version < '3.13'",
|
|
83
|
+
"pyarrow (>=20,<21) ; python_version == '3.13'",
|
|
84
|
+
"pyarrow (>=22,<23) ; python_version >= '3.14'",
|
|
85
|
+
"deepeval (>=3.7.0,<=3.7.5)",
|
|
70
86
|
]
|
|
71
87
|
nlp = [
|
|
72
88
|
"langdetect",
|
|
73
89
|
"nltk (>=3.8.1,<4.0.0)",
|
|
74
90
|
"textblob (>=0.18.0.post0,<0.19.0)",
|
|
91
|
+
"datasets (>=2.10.0,<3.0.0) ; python_version < '3.14'",
|
|
92
|
+
"datasets (>=4.4,<5.0.0) ; python_version >= '3.14'",
|
|
93
|
+
"transformers (>=4.32.0,<5.0.0)",
|
|
75
94
|
"evaluate",
|
|
76
95
|
"rouge (>=1)",
|
|
77
96
|
"bert-score (>=0.3.13)",
|
|
78
|
-
"pyarrow (<16)",
|
|
97
|
+
"pyarrow (<16) ; python_version < '3.13'",
|
|
98
|
+
"pyarrow (>=20,<21) ; python_version == '3.13'",
|
|
99
|
+
"pyarrow (>=22,<23) ; python_version >= '3.14'",
|
|
79
100
|
]
|
|
80
101
|
pytorch = ["torch (>=2.0.0)"]
|
|
81
|
-
stats = ["scipy", "statsmodels (>=0.14.2,<0.15.0)", "arch"]
|
|
102
|
+
stats = ["scipy", "statsmodels (>=0.14.2,<0.15.0)", "arch (>=7.0.0)"]
|
|
82
103
|
xgboost = ["xgboost (>=1.5.2,<3)"]
|
|
83
104
|
explainability = ["shap (>=0.46.0)"]
|
|
84
|
-
credit_risk = ["scorecardpy==0.1.9.6"]
|
|
85
|
-
datasets = [
|
|
86
|
-
|
|
105
|
+
credit_risk = ["scorecardpy==0.1.9.6", "setuptools (<82)"]
|
|
106
|
+
datasets = [
|
|
107
|
+
"datasets (>=2.10.0,<3.0.0) ; python_version < '3.14'",
|
|
108
|
+
"datasets (>=4.4,<5.0.0) ; python_version >= '3.14'",
|
|
109
|
+
"pyarrow (<16) ; python_version < '3.13'",
|
|
110
|
+
"pyarrow (>=20,<21) ; python_version == '3.13'",
|
|
111
|
+
"pyarrow (>=22,<23) ; python_version >= '3.14'",
|
|
112
|
+
]
|
|
113
|
+
pii-detection = [
|
|
114
|
+
"presidio-analyzer ; python_version < '3.14'",
|
|
115
|
+
"presidio-analyzer (<2.2.360) ; python_version >= '3.14'",
|
|
116
|
+
"presidio-structured",
|
|
117
|
+
]
|
|
87
118
|
|
|
88
119
|
[tool.poetry.group.dev.dependencies]
|
|
89
120
|
black = "^22.1.0"
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
__version__ = "2.12.4"
|
|
@@ -282,33 +282,23 @@ def init_r_model(
|
|
|
282
282
|
"""
|
|
283
283
|
Initialize a VM Model from an R model.
|
|
284
284
|
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
285
|
+
The model must first be saved to an .RData file using the R package's
|
|
286
|
+
``save_model()`` function. This function then uses rpy2 to load the model
|
|
287
|
+
into Python for testing and validation.
|
|
288
288
|
|
|
289
289
|
Args:
|
|
290
|
-
model_path (str): The path to the R model saved as an
|
|
290
|
+
model_path (str): The path to the R model saved as an .RData file.
|
|
291
291
|
input_id (str): The input ID for the model. Defaults to "model".
|
|
292
292
|
|
|
293
293
|
Returns:
|
|
294
294
|
VMModel: A VM Model instance.
|
|
295
295
|
"""
|
|
296
|
-
|
|
297
|
-
# TODO: proper check for supported models
|
|
298
|
-
#
|
|
299
|
-
# if model.get("method") not in R_MODEL_METHODS:
|
|
300
|
-
# raise UnsupportedRModelError(
|
|
301
|
-
# "R model method must be one of {}. Got {}".format(
|
|
302
|
-
# R_MODEL_METHODS, model.get("method")
|
|
303
|
-
# )
|
|
304
|
-
# )
|
|
305
|
-
|
|
306
|
-
# first we need to load the model using rpy2
|
|
307
|
-
# since rpy2 is an extra we need to conditionally import it
|
|
308
296
|
try:
|
|
309
297
|
import rpy2.robjects as robjects
|
|
310
|
-
except
|
|
311
|
-
raise MissingRExtrasError(
|
|
298
|
+
except Exception as e:
|
|
299
|
+
raise MissingRExtrasError(
|
|
300
|
+
f"`rpy2` is required to use R models. Import failed: {e}"
|
|
301
|
+
)
|
|
312
302
|
|
|
313
303
|
r = robjects.r
|
|
314
304
|
loaded_objects = r.load(model_path)
|
|
@@ -321,6 +311,14 @@ def init_r_model(
|
|
|
321
311
|
input_id=input_id,
|
|
322
312
|
)
|
|
323
313
|
|
|
314
|
+
metadata = get_model_info(vm_model)
|
|
315
|
+
log_input(
|
|
316
|
+
input_id=input_id,
|
|
317
|
+
type="model",
|
|
318
|
+
metadata=metadata,
|
|
319
|
+
)
|
|
320
|
+
input_registry.add(key=input_id, obj=vm_model)
|
|
321
|
+
|
|
324
322
|
return vm_model
|
|
325
323
|
|
|
326
324
|
|
|
@@ -98,11 +98,10 @@ class RModel(VMModel):
|
|
|
98
98
|
Instead, there is a global predict() method that returns the predicted
|
|
99
99
|
values according to the model type.
|
|
100
100
|
"""
|
|
101
|
-
# Use the predict method on the loaded model (assuming the model's name in R is 'model')
|
|
102
101
|
predicted_probs = self.r.predict(
|
|
103
102
|
self.model, newdata=new_data_r, type="response"
|
|
104
103
|
)
|
|
105
|
-
return predicted_probs
|
|
104
|
+
return np.array(predicted_probs)
|
|
106
105
|
|
|
107
106
|
def r_xgb_predict(self, new_data_r):
|
|
108
107
|
"""
|
|
@@ -114,7 +113,7 @@ class RModel(VMModel):
|
|
|
114
113
|
predicted_probs = self.r.predict(
|
|
115
114
|
self.model, newdata=new_data_r, type="response"
|
|
116
115
|
)
|
|
117
|
-
return predicted_probs
|
|
116
|
+
return np.array(predicted_probs)
|
|
118
117
|
|
|
119
118
|
def predict_proba(self, new_data):
|
|
120
119
|
"""
|
|
@@ -127,24 +126,30 @@ class RModel(VMModel):
|
|
|
127
126
|
Converts the predicted probabilities to classes
|
|
128
127
|
"""
|
|
129
128
|
try:
|
|
129
|
+
from rpy2.robjects import conversion, default_converter
|
|
130
130
|
from rpy2.robjects import pandas2ri
|
|
131
131
|
except ImportError:
|
|
132
132
|
raise MissingRExtrasError()
|
|
133
133
|
|
|
134
|
-
# Activate the pandas conversion for rpy2
|
|
135
|
-
pandas2ri.activate()
|
|
136
|
-
|
|
137
134
|
new_data_class = get_full_class_name(new_data)
|
|
138
135
|
|
|
139
136
|
if new_data_class == "numpy.ndarray":
|
|
140
|
-
#
|
|
141
|
-
|
|
137
|
+
# Reconstruct a DataFrame from the ndarray using column names
|
|
138
|
+
# from the model's training data
|
|
139
|
+
try:
|
|
140
|
+
model_terms = list(self.r.attr(self.model.rx2["terms"], "term.labels"))
|
|
141
|
+
new_data = pd.DataFrame(new_data, columns=model_terms)
|
|
142
|
+
except Exception:
|
|
143
|
+
# Fallback: use generic column names
|
|
144
|
+
new_data = pd.DataFrame(new_data)
|
|
142
145
|
elif new_data_class != "pandas.core.frame.DataFrame":
|
|
143
146
|
raise ValueError(
|
|
144
147
|
f"new_data must be a DataFrame or ndarray. Got {new_data_class}"
|
|
145
148
|
)
|
|
146
149
|
|
|
147
|
-
|
|
150
|
+
# Use context manager for pandas conversion (activate/deactivate is deprecated)
|
|
151
|
+
with conversion.localconverter(default_converter + pandas2ri.converter):
|
|
152
|
+
new_data_r = conversion.get_conversion().py2rpy(new_data)
|
|
148
153
|
|
|
149
154
|
if self.__model_class() == "xgb.Booster":
|
|
150
155
|
predicted_probs = self.r_xgb_predict(new_data_r)
|
|
@@ -190,20 +190,37 @@ def _create_section_html(tree: List[Dict[str, Any]]) -> str:
|
|
|
190
190
|
return StatefulHTMLRenderer.render_accordion(accordion_items, accordion_titles)
|
|
191
191
|
|
|
192
192
|
|
|
193
|
+
def _print_section_tree(sections: List[Dict[str, Any]], indent: int = 0) -> None:
|
|
194
|
+
"""Print a plain-text representation of the template section tree."""
|
|
195
|
+
prefix = " " * indent
|
|
196
|
+
for i, section in enumerate(sections):
|
|
197
|
+
number = f"{i + 1}." if indent == 0 else ""
|
|
198
|
+
print(f"{prefix}{number} {section['title']} ('{section['id']}')")
|
|
199
|
+
|
|
200
|
+
for content in section.get("contents", []):
|
|
201
|
+
content_type = CONTENT_TYPE_MAP.get(
|
|
202
|
+
content["content_type"], content["content_type"]
|
|
203
|
+
)
|
|
204
|
+
print(f"{prefix} - [{content_type}] {content['content_id']}")
|
|
205
|
+
|
|
206
|
+
if section.get("sections"):
|
|
207
|
+
_print_section_tree(section["sections"], indent + 1)
|
|
208
|
+
|
|
209
|
+
|
|
193
210
|
def preview_template(template: str) -> None:
|
|
194
|
-
"""Preview a template in Jupyter Notebook.
|
|
211
|
+
"""Preview a template in Jupyter Notebook or plain text.
|
|
195
212
|
|
|
196
213
|
Args:
|
|
197
214
|
template (dict): The template to preview.
|
|
198
215
|
"""
|
|
216
|
+
section_tree = _convert_sections_to_section_tree(template["sections"])
|
|
217
|
+
|
|
199
218
|
if not is_notebook():
|
|
200
|
-
|
|
219
|
+
_print_section_tree(section_tree)
|
|
201
220
|
return
|
|
202
221
|
|
|
203
222
|
html_content = StatefulHTMLRenderer.get_base_css()
|
|
204
|
-
html_content += _create_section_html(
|
|
205
|
-
_convert_sections_to_section_tree(template["sections"])
|
|
206
|
-
)
|
|
223
|
+
html_content += _create_section_html(section_tree)
|
|
207
224
|
display(html_content)
|
|
208
225
|
|
|
209
226
|
|
|
@@ -359,6 +359,9 @@ def format_number(number):
|
|
|
359
359
|
|
|
360
360
|
def format_dataframe(df: pd.DataFrame) -> pd.DataFrame:
|
|
361
361
|
"""Format a pandas DataFrame for display purposes."""
|
|
362
|
+
if not is_notebook():
|
|
363
|
+
return df
|
|
364
|
+
|
|
362
365
|
df = df.style.set_properties(**{"text-align": "left"}).hide(axis="index")
|
|
363
366
|
return df.set_table_styles([dict(selector="th", props=[("text-align", "left")])])
|
|
364
367
|
|
|
@@ -509,7 +512,7 @@ def get_dataset_info(dataset):
|
|
|
509
512
|
|
|
510
513
|
|
|
511
514
|
def preview_test_config(config):
|
|
512
|
-
"""Preview test configuration in a collapsible HTML section.
|
|
515
|
+
"""Preview test configuration in a collapsible HTML section or plain text.
|
|
513
516
|
|
|
514
517
|
Args:
|
|
515
518
|
config (dict): Test configuration dictionary.
|
|
@@ -521,6 +524,10 @@ def preview_test_config(config):
|
|
|
521
524
|
logger.error(f"JSON serialization failed: {e}")
|
|
522
525
|
return
|
|
523
526
|
|
|
527
|
+
if not is_notebook():
|
|
528
|
+
print(formatted_json)
|
|
529
|
+
return
|
|
530
|
+
|
|
524
531
|
collapsible_html = f"""
|
|
525
532
|
<script>
|
|
526
533
|
function toggleOutput() {{
|
|
@@ -537,6 +544,9 @@ def preview_test_config(config):
|
|
|
537
544
|
|
|
538
545
|
def display(widget_or_html, syntax_highlighting=True, mathjax=True):
|
|
539
546
|
"""Display HTML content with extra goodies (syntax highlighting, MathJax, etc.)."""
|
|
547
|
+
if not is_notebook():
|
|
548
|
+
return
|
|
549
|
+
|
|
540
550
|
if hasattr(widget_or_html, "to_html"):
|
|
541
551
|
html_content = widget_or_html.to_html()
|
|
542
552
|
ipy_display(HTML(html_content))
|
|
@@ -10,6 +10,7 @@ import uuid
|
|
|
10
10
|
|
|
11
11
|
from IPython.display import HTML, display, update_display
|
|
12
12
|
|
|
13
|
+
from ..utils import is_notebook
|
|
13
14
|
from .html_renderer import StatefulHTMLRenderer
|
|
14
15
|
|
|
15
16
|
|
|
@@ -33,6 +34,10 @@ class HTMLProgressBar:
|
|
|
33
34
|
def display(self):
|
|
34
35
|
"""Display the progress bar."""
|
|
35
36
|
if not self._displayed:
|
|
37
|
+
if not is_notebook():
|
|
38
|
+
self._displayed = True
|
|
39
|
+
return
|
|
40
|
+
|
|
36
41
|
html_content = StatefulHTMLRenderer.render_live_progress_bar(
|
|
37
42
|
max_value=self.max_value,
|
|
38
43
|
description=self.description,
|
|
@@ -57,6 +62,9 @@ class HTMLProgressBar:
|
|
|
57
62
|
|
|
58
63
|
def _update_fallback(self):
|
|
59
64
|
"""Fallback method to update progress bar by replacing the entire HTML."""
|
|
65
|
+
if not is_notebook():
|
|
66
|
+
return
|
|
67
|
+
|
|
60
68
|
html_content = StatefulHTMLRenderer.render_progress_bar(
|
|
61
69
|
value=self.value,
|
|
62
70
|
max_value=self.max_value,
|
|
@@ -74,7 +82,7 @@ class HTMLProgressBar:
|
|
|
74
82
|
|
|
75
83
|
def close(self):
|
|
76
84
|
"""Close/hide the progress bar."""
|
|
77
|
-
if self._displayed:
|
|
85
|
+
if self._displayed and is_notebook():
|
|
78
86
|
final_html = StatefulHTMLRenderer.render_progress_bar(
|
|
79
87
|
value=self.value,
|
|
80
88
|
max_value=self.max_value,
|
|
@@ -101,13 +109,17 @@ class HTMLLabel:
|
|
|
101
109
|
def display(self):
|
|
102
110
|
"""Display the label."""
|
|
103
111
|
if not self._displayed:
|
|
112
|
+
self._displayed = True
|
|
113
|
+
|
|
114
|
+
if not is_notebook():
|
|
115
|
+
return
|
|
116
|
+
|
|
104
117
|
html_content = f"""
|
|
105
118
|
<div class="vm-label" id="{self.label_id}" style="font-weight: bold; margin: 5px 0;">
|
|
106
119
|
{self.value}
|
|
107
120
|
</div>
|
|
108
121
|
"""
|
|
109
122
|
display(HTML(html_content), display_id=self._display_id)
|
|
110
|
-
self._displayed = True
|
|
111
123
|
|
|
112
124
|
def update(self, value: str):
|
|
113
125
|
"""Update the label text.
|
|
@@ -117,7 +129,7 @@ class HTMLLabel:
|
|
|
117
129
|
"""
|
|
118
130
|
self.value = value
|
|
119
131
|
|
|
120
|
-
if self._displayed:
|
|
132
|
+
if self._displayed and is_notebook():
|
|
121
133
|
update_script = f"""
|
|
122
134
|
<script>
|
|
123
135
|
var labelElement = document.getElementById('{self.label_id}');
|
|
@@ -152,10 +164,17 @@ class HTMLBox:
|
|
|
152
164
|
def display(self):
|
|
153
165
|
"""Display the box and its children."""
|
|
154
166
|
if not self._displayed:
|
|
155
|
-
|
|
167
|
+
self._displayed = True
|
|
168
|
+
|
|
156
169
|
for child in self.children:
|
|
157
170
|
if hasattr(child, "display"):
|
|
158
171
|
child.display()
|
|
172
|
+
|
|
173
|
+
if not is_notebook():
|
|
174
|
+
return
|
|
175
|
+
|
|
176
|
+
child_html_parts = []
|
|
177
|
+
for child in self.children:
|
|
159
178
|
if hasattr(child, "bar_id"):
|
|
160
179
|
child_html_parts.append(f'<div id="{child.bar_id}"></div>')
|
|
161
180
|
elif hasattr(child, "label_id"):
|
|
@@ -167,4 +186,3 @@ class HTMLBox:
|
|
|
167
186
|
</div>
|
|
168
187
|
"""
|
|
169
188
|
display(HTML(html_content), display_id=self._display_id)
|
|
170
|
-
self._displayed = True
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
__version__ = "2.12.2"
|
|
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.12.2 → validmind-2.12.4}/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.12.2 → validmind-2.12.4}/validmind/datasets/regression/datasets/california_housing.csv
RENAMED
|
File without changes
|
{validmind-2.12.2 → validmind-2.12.4}/validmind/datasets/regression/datasets/fred/CPIAUCSL.csv
RENAMED
|
File without changes
|
{validmind-2.12.2 → validmind-2.12.4}/validmind/datasets/regression/datasets/fred/CSUSHPISA.csv
RENAMED
|
File without changes
|
{validmind-2.12.2 → validmind-2.12.4}/validmind/datasets/regression/datasets/fred/DRSFRMACBS.csv
RENAMED
|
File without changes
|
{validmind-2.12.2 → validmind-2.12.4}/validmind/datasets/regression/datasets/fred/FEDFUNDS.csv
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{validmind-2.12.2 → validmind-2.12.4}/validmind/datasets/regression/datasets/fred/MORTGAGE30US.csv
RENAMED
|
File without changes
|
{validmind-2.12.2 → validmind-2.12.4}/validmind/datasets/regression/datasets/fred/UNRATE.csv
RENAMED
|
File without changes
|
{validmind-2.12.2 → validmind-2.12.4}/validmind/datasets/regression/datasets/fred_loan_rates.csv
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|