validmind 2.13.11__tar.gz → 2.13.13__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.
Files changed (378) hide show
  1. {validmind-2.13.11 → validmind-2.13.13}/PKG-INFO +1 -1
  2. {validmind-2.13.11 → validmind-2.13.13}/pyproject.toml +1 -1
  3. validmind-2.13.13/validmind/__version__.py +1 -0
  4. {validmind-2.13.11 → validmind-2.13.13}/validmind/tests/data_validation/LaggedCorrelationHeatmap.py +11 -9
  5. {validmind-2.13.11 → validmind-2.13.13}/validmind/tests/data_validation/TimeSeriesMissingValues.py +14 -8
  6. {validmind-2.13.11 → validmind-2.13.13}/validmind/tests/model_validation/RegressionResidualsPlot.py +42 -7
  7. {validmind-2.13.11 → validmind-2.13.13}/validmind/tests/model_validation/sklearn/ConfusionMatrix.py +26 -16
  8. {validmind-2.13.11 → validmind-2.13.13}/validmind/tests/ongoing_monitoring/TargetPredictionDistributionPlot.py +19 -18
  9. {validmind-2.13.11 → validmind-2.13.13}/validmind/unit_metrics/regression/GiniCoefficient.py +5 -1
  10. {validmind-2.13.11 → validmind-2.13.13}/validmind/vm_models/result/result.py +15 -4
  11. validmind-2.13.11/validmind/__version__.py +0 -1
  12. {validmind-2.13.11 → validmind-2.13.13}/.gitignore +0 -0
  13. {validmind-2.13.11 → validmind-2.13.13}/LICENSE +0 -0
  14. {validmind-2.13.11 → validmind-2.13.13}/README.pypi.md +0 -0
  15. {validmind-2.13.11 → validmind-2.13.13}/validmind/__init__.py +0 -0
  16. {validmind-2.13.11 → validmind-2.13.13}/validmind/ai/test_descriptions.py +0 -0
  17. {validmind-2.13.11 → validmind-2.13.13}/validmind/ai/utils.py +0 -0
  18. {validmind-2.13.11 → validmind-2.13.13}/validmind/api_client.py +0 -0
  19. {validmind-2.13.11 → validmind-2.13.13}/validmind/client.py +0 -0
  20. {validmind-2.13.11 → validmind-2.13.13}/validmind/client_config.py +0 -0
  21. {validmind-2.13.11 → validmind-2.13.13}/validmind/credentials_store.py +0 -0
  22. {validmind-2.13.11 → validmind-2.13.13}/validmind/datasets/__init__.py +0 -0
  23. {validmind-2.13.11 → validmind-2.13.13}/validmind/datasets/classification/__init__.py +0 -0
  24. {validmind-2.13.11 → validmind-2.13.13}/validmind/datasets/classification/config.json +0 -0
  25. {validmind-2.13.11 → validmind-2.13.13}/validmind/datasets/classification/customer_churn.py +0 -0
  26. {validmind-2.13.11 → validmind-2.13.13}/validmind/datasets/classification/datasets/bank_customer_churn.csv +0 -0
  27. {validmind-2.13.11 → validmind-2.13.13}/validmind/datasets/classification/datasets/taiwan_credit.csv +0 -0
  28. {validmind-2.13.11 → validmind-2.13.13}/validmind/datasets/classification/taiwan_credit.py +0 -0
  29. {validmind-2.13.11 → validmind-2.13.13}/validmind/datasets/cluster/digits.py +0 -0
  30. {validmind-2.13.11 → validmind-2.13.13}/validmind/datasets/credit_risk/__init__.py +0 -0
  31. {validmind-2.13.11 → validmind-2.13.13}/validmind/datasets/credit_risk/datasets/lending_club_biased.csv.gz +0 -0
  32. {validmind-2.13.11 → validmind-2.13.13}/validmind/datasets/credit_risk/datasets/lending_club_loan_data_2007_2014_clean.csv.gz +0 -0
  33. {validmind-2.13.11 → validmind-2.13.13}/validmind/datasets/credit_risk/lending_club.py +0 -0
  34. {validmind-2.13.11 → validmind-2.13.13}/validmind/datasets/credit_risk/lending_club_bias.py +0 -0
  35. {validmind-2.13.11 → validmind-2.13.13}/validmind/datasets/llm/__init__.py +0 -0
  36. {validmind-2.13.11 → validmind-2.13.13}/validmind/datasets/llm/agent_dataset.py +0 -0
  37. {validmind-2.13.11 → validmind-2.13.13}/validmind/datasets/llm/rag/__init__.py +0 -0
  38. {validmind-2.13.11 → validmind-2.13.13}/validmind/datasets/llm/rag/datasets/rfp_existing_questions_client_1.csv +0 -0
  39. {validmind-2.13.11 → validmind-2.13.13}/validmind/datasets/llm/rag/datasets/rfp_existing_questions_client_2.csv +0 -0
  40. {validmind-2.13.11 → validmind-2.13.13}/validmind/datasets/llm/rag/datasets/rfp_existing_questions_client_3.csv +0 -0
  41. {validmind-2.13.11 → validmind-2.13.13}/validmind/datasets/llm/rag/datasets/rfp_existing_questions_client_4.csv +0 -0
  42. {validmind-2.13.11 → validmind-2.13.13}/validmind/datasets/llm/rag/datasets/rfp_existing_questions_client_5.csv +0 -0
  43. {validmind-2.13.11 → validmind-2.13.13}/validmind/datasets/llm/rag/rfp.py +0 -0
  44. {validmind-2.13.11 → validmind-2.13.13}/validmind/datasets/nlp/__init__.py +0 -0
  45. {validmind-2.13.11 → validmind-2.13.13}/validmind/datasets/nlp/cnn_dailymail.py +0 -0
  46. {validmind-2.13.11 → validmind-2.13.13}/validmind/datasets/nlp/datasets/Covid_19.csv +0 -0
  47. {validmind-2.13.11 → validmind-2.13.13}/validmind/datasets/nlp/datasets/cnn_dailymail_100_with_predictions.csv +0 -0
  48. {validmind-2.13.11 → validmind-2.13.13}/validmind/datasets/nlp/datasets/cnn_dailymail_500_with_predictions.csv +0 -0
  49. {validmind-2.13.11 → validmind-2.13.13}/validmind/datasets/nlp/datasets/sentiments_with_predictions.csv +0 -0
  50. {validmind-2.13.11 → validmind-2.13.13}/validmind/datasets/nlp/twitter_covid_19.py +0 -0
  51. {validmind-2.13.11 → validmind-2.13.13}/validmind/datasets/regression/__init__.py +0 -0
  52. {validmind-2.13.11 → validmind-2.13.13}/validmind/datasets/regression/california_housing.py +0 -0
  53. {validmind-2.13.11 → validmind-2.13.13}/validmind/datasets/regression/datasets/california_housing.csv +0 -0
  54. {validmind-2.13.11 → validmind-2.13.13}/validmind/datasets/regression/datasets/fred/CPIAUCSL.csv +0 -0
  55. {validmind-2.13.11 → validmind-2.13.13}/validmind/datasets/regression/datasets/fred/CSUSHPISA.csv +0 -0
  56. {validmind-2.13.11 → validmind-2.13.13}/validmind/datasets/regression/datasets/fred/DRSFRMACBS.csv +0 -0
  57. {validmind-2.13.11 → validmind-2.13.13}/validmind/datasets/regression/datasets/fred/FEDFUNDS.csv +0 -0
  58. {validmind-2.13.11 → validmind-2.13.13}/validmind/datasets/regression/datasets/fred/GDP.csv +0 -0
  59. {validmind-2.13.11 → validmind-2.13.13}/validmind/datasets/regression/datasets/fred/GDPC1.csv +0 -0
  60. {validmind-2.13.11 → validmind-2.13.13}/validmind/datasets/regression/datasets/fred/GS10.csv +0 -0
  61. {validmind-2.13.11 → validmind-2.13.13}/validmind/datasets/regression/datasets/fred/GS3.csv +0 -0
  62. {validmind-2.13.11 → validmind-2.13.13}/validmind/datasets/regression/datasets/fred/GS5.csv +0 -0
  63. {validmind-2.13.11 → validmind-2.13.13}/validmind/datasets/regression/datasets/fred/MORTGAGE30US.csv +0 -0
  64. {validmind-2.13.11 → validmind-2.13.13}/validmind/datasets/regression/datasets/fred/UNRATE.csv +0 -0
  65. {validmind-2.13.11 → validmind-2.13.13}/validmind/datasets/regression/datasets/fred_loan_rates.csv +0 -0
  66. {validmind-2.13.11 → validmind-2.13.13}/validmind/datasets/regression/datasets/fred_loan_rates_test_1.csv +0 -0
  67. {validmind-2.13.11 → validmind-2.13.13}/validmind/datasets/regression/datasets/fred_loan_rates_test_2.csv +0 -0
  68. {validmind-2.13.11 → validmind-2.13.13}/validmind/datasets/regression/datasets/fred_loan_rates_test_3.csv +0 -0
  69. {validmind-2.13.11 → validmind-2.13.13}/validmind/datasets/regression/datasets/fred_loan_rates_test_4.csv +0 -0
  70. {validmind-2.13.11 → validmind-2.13.13}/validmind/datasets/regression/datasets/fred_loan_rates_test_5.csv +0 -0
  71. {validmind-2.13.11 → validmind-2.13.13}/validmind/datasets/regression/datasets/leanding_club_loan_rates.csv +0 -0
  72. {validmind-2.13.11 → validmind-2.13.13}/validmind/datasets/regression/fred.py +0 -0
  73. {validmind-2.13.11 → validmind-2.13.13}/validmind/datasets/regression/fred_timeseries.py +0 -0
  74. {validmind-2.13.11 → validmind-2.13.13}/validmind/datasets/regression/generate_california_housing_csv.py +0 -0
  75. {validmind-2.13.11 → validmind-2.13.13}/validmind/datasets/regression/lending_club.py +0 -0
  76. {validmind-2.13.11 → validmind-2.13.13}/validmind/errors.py +0 -0
  77. {validmind-2.13.11 → validmind-2.13.13}/validmind/experimental/__init__.py +0 -0
  78. {validmind-2.13.11 → validmind-2.13.13}/validmind/experimental/agents.py +0 -0
  79. {validmind-2.13.11 → validmind-2.13.13}/validmind/html_templates/__init__.py +0 -0
  80. {validmind-2.13.11 → validmind-2.13.13}/validmind/html_templates/content_blocks.py +0 -0
  81. {validmind-2.13.11 → validmind-2.13.13}/validmind/input_registry.py +0 -0
  82. {validmind-2.13.11 → validmind-2.13.13}/validmind/logging.py +0 -0
  83. {validmind-2.13.11 → validmind-2.13.13}/validmind/models/__init__.py +0 -0
  84. {validmind-2.13.11 → validmind-2.13.13}/validmind/models/foundation.py +0 -0
  85. {validmind-2.13.11 → validmind-2.13.13}/validmind/models/function.py +0 -0
  86. {validmind-2.13.11 → validmind-2.13.13}/validmind/models/huggingface.py +0 -0
  87. {validmind-2.13.11 → validmind-2.13.13}/validmind/models/metadata.py +0 -0
  88. {validmind-2.13.11 → validmind-2.13.13}/validmind/models/pipeline.py +0 -0
  89. {validmind-2.13.11 → validmind-2.13.13}/validmind/models/pytorch.py +0 -0
  90. {validmind-2.13.11 → validmind-2.13.13}/validmind/models/r_model.py +0 -0
  91. {validmind-2.13.11 → validmind-2.13.13}/validmind/models/sklearn.py +0 -0
  92. {validmind-2.13.11 → validmind-2.13.13}/validmind/oidc_device.py +0 -0
  93. {validmind-2.13.11 → validmind-2.13.13}/validmind/scorers/__init__.py +0 -0
  94. {validmind-2.13.11 → validmind-2.13.13}/validmind/scorers/classification/AbsoluteError.py +0 -0
  95. {validmind-2.13.11 → validmind-2.13.13}/validmind/scorers/classification/BrierScore.py +0 -0
  96. {validmind-2.13.11 → validmind-2.13.13}/validmind/scorers/classification/CalibrationError.py +0 -0
  97. {validmind-2.13.11 → validmind-2.13.13}/validmind/scorers/classification/ClassBalance.py +0 -0
  98. {validmind-2.13.11 → validmind-2.13.13}/validmind/scorers/classification/Confidence.py +0 -0
  99. {validmind-2.13.11 → validmind-2.13.13}/validmind/scorers/classification/Correctness.py +0 -0
  100. {validmind-2.13.11 → validmind-2.13.13}/validmind/scorers/classification/LogLoss.py +0 -0
  101. {validmind-2.13.11 → validmind-2.13.13}/validmind/scorers/classification/OutlierScore.py +0 -0
  102. {validmind-2.13.11 → validmind-2.13.13}/validmind/scorers/classification/ProbabilityError.py +0 -0
  103. {validmind-2.13.11 → validmind-2.13.13}/validmind/scorers/classification/Uncertainty.py +0 -0
  104. {validmind-2.13.11 → validmind-2.13.13}/validmind/scorers/classification/__init__.py +0 -0
  105. {validmind-2.13.11 → validmind-2.13.13}/validmind/scorers/llm/deepeval/AnswerRelevancy.py +0 -0
  106. {validmind-2.13.11 → validmind-2.13.13}/validmind/scorers/llm/deepeval/ArgumentCorrectness.py +0 -0
  107. {validmind-2.13.11 → validmind-2.13.13}/validmind/scorers/llm/deepeval/Bias.py +0 -0
  108. {validmind-2.13.11 → validmind-2.13.13}/validmind/scorers/llm/deepeval/ContextualPrecision.py +0 -0
  109. {validmind-2.13.11 → validmind-2.13.13}/validmind/scorers/llm/deepeval/ContextualRecall.py +0 -0
  110. {validmind-2.13.11 → validmind-2.13.13}/validmind/scorers/llm/deepeval/ContextualRelevancy.py +0 -0
  111. {validmind-2.13.11 → validmind-2.13.13}/validmind/scorers/llm/deepeval/Faithfulness.py +0 -0
  112. {validmind-2.13.11 → validmind-2.13.13}/validmind/scorers/llm/deepeval/GEval.py +0 -0
  113. {validmind-2.13.11 → validmind-2.13.13}/validmind/scorers/llm/deepeval/Hallucination.py +0 -0
  114. {validmind-2.13.11 → validmind-2.13.13}/validmind/scorers/llm/deepeval/PlanAdherence.py +0 -0
  115. {validmind-2.13.11 → validmind-2.13.13}/validmind/scorers/llm/deepeval/PlanQuality.py +0 -0
  116. {validmind-2.13.11 → validmind-2.13.13}/validmind/scorers/llm/deepeval/Summarization.py +0 -0
  117. {validmind-2.13.11 → validmind-2.13.13}/validmind/scorers/llm/deepeval/TaskCompletion.py +0 -0
  118. {validmind-2.13.11 → validmind-2.13.13}/validmind/scorers/llm/deepeval/ToolCorrectness.py +0 -0
  119. {validmind-2.13.11 → validmind-2.13.13}/validmind/scorers/llm/deepeval/__init__.py +0 -0
  120. {validmind-2.13.11 → validmind-2.13.13}/validmind/template.py +0 -0
  121. {validmind-2.13.11 → validmind-2.13.13}/validmind/test_suites/__init__.py +0 -0
  122. {validmind-2.13.11 → validmind-2.13.13}/validmind/test_suites/classifier.py +0 -0
  123. {validmind-2.13.11 → validmind-2.13.13}/validmind/test_suites/cluster.py +0 -0
  124. {validmind-2.13.11 → validmind-2.13.13}/validmind/test_suites/embeddings.py +0 -0
  125. {validmind-2.13.11 → validmind-2.13.13}/validmind/test_suites/llm.py +0 -0
  126. {validmind-2.13.11 → validmind-2.13.13}/validmind/test_suites/nlp.py +0 -0
  127. {validmind-2.13.11 → validmind-2.13.13}/validmind/test_suites/parameters_optimization.py +0 -0
  128. {validmind-2.13.11 → validmind-2.13.13}/validmind/test_suites/regression.py +0 -0
  129. {validmind-2.13.11 → validmind-2.13.13}/validmind/test_suites/statsmodels_timeseries.py +0 -0
  130. {validmind-2.13.11 → validmind-2.13.13}/validmind/test_suites/summarization.py +0 -0
  131. {validmind-2.13.11 → validmind-2.13.13}/validmind/test_suites/tabular_datasets.py +0 -0
  132. {validmind-2.13.11 → validmind-2.13.13}/validmind/test_suites/text_data.py +0 -0
  133. {validmind-2.13.11 → validmind-2.13.13}/validmind/test_suites/time_series.py +0 -0
  134. {validmind-2.13.11 → validmind-2.13.13}/validmind/tests/__init__.py +0 -0
  135. {validmind-2.13.11 → validmind-2.13.13}/validmind/tests/__types__.py +0 -0
  136. {validmind-2.13.11 → validmind-2.13.13}/validmind/tests/_store.py +0 -0
  137. {validmind-2.13.11 → validmind-2.13.13}/validmind/tests/comparison.py +0 -0
  138. {validmind-2.13.11 → validmind-2.13.13}/validmind/tests/data_validation/ACFandPACFPlot.py +0 -0
  139. {validmind-2.13.11 → validmind-2.13.13}/validmind/tests/data_validation/ADF.py +0 -0
  140. {validmind-2.13.11 → validmind-2.13.13}/validmind/tests/data_validation/AutoAR.py +0 -0
  141. {validmind-2.13.11 → validmind-2.13.13}/validmind/tests/data_validation/AutoMA.py +0 -0
  142. {validmind-2.13.11 → validmind-2.13.13}/validmind/tests/data_validation/AutoStationarity.py +0 -0
  143. {validmind-2.13.11 → validmind-2.13.13}/validmind/tests/data_validation/BivariateScatterPlots.py +0 -0
  144. {validmind-2.13.11 → validmind-2.13.13}/validmind/tests/data_validation/BoxPierce.py +0 -0
  145. {validmind-2.13.11 → validmind-2.13.13}/validmind/tests/data_validation/ChiSquaredFeaturesTable.py +0 -0
  146. {validmind-2.13.11 → validmind-2.13.13}/validmind/tests/data_validation/ClassImbalance.py +0 -0
  147. {validmind-2.13.11 → validmind-2.13.13}/validmind/tests/data_validation/DatasetDescription.py +0 -0
  148. {validmind-2.13.11 → validmind-2.13.13}/validmind/tests/data_validation/DatasetSplit.py +0 -0
  149. {validmind-2.13.11 → validmind-2.13.13}/validmind/tests/data_validation/DescriptiveStatistics.py +0 -0
  150. {validmind-2.13.11 → validmind-2.13.13}/validmind/tests/data_validation/DickeyFullerGLS.py +0 -0
  151. {validmind-2.13.11 → validmind-2.13.13}/validmind/tests/data_validation/Duplicates.py +0 -0
  152. {validmind-2.13.11 → validmind-2.13.13}/validmind/tests/data_validation/EngleGrangerCoint.py +0 -0
  153. {validmind-2.13.11 → validmind-2.13.13}/validmind/tests/data_validation/FeatureTargetCorrelationPlot.py +0 -0
  154. {validmind-2.13.11 → validmind-2.13.13}/validmind/tests/data_validation/HighCardinality.py +0 -0
  155. {validmind-2.13.11 → validmind-2.13.13}/validmind/tests/data_validation/HighPearsonCorrelation.py +0 -0
  156. {validmind-2.13.11 → validmind-2.13.13}/validmind/tests/data_validation/IQROutliersBarPlot.py +0 -0
  157. {validmind-2.13.11 → validmind-2.13.13}/validmind/tests/data_validation/IQROutliersTable.py +0 -0
  158. {validmind-2.13.11 → validmind-2.13.13}/validmind/tests/data_validation/IsolationForestOutliers.py +0 -0
  159. {validmind-2.13.11 → validmind-2.13.13}/validmind/tests/data_validation/JarqueBera.py +0 -0
  160. {validmind-2.13.11 → validmind-2.13.13}/validmind/tests/data_validation/KPSS.py +0 -0
  161. {validmind-2.13.11 → validmind-2.13.13}/validmind/tests/data_validation/LJungBox.py +0 -0
  162. {validmind-2.13.11 → validmind-2.13.13}/validmind/tests/data_validation/MissingValues.py +0 -0
  163. {validmind-2.13.11 → validmind-2.13.13}/validmind/tests/data_validation/MissingValuesBarPlot.py +0 -0
  164. {validmind-2.13.11 → validmind-2.13.13}/validmind/tests/data_validation/MutualInformation.py +0 -0
  165. {validmind-2.13.11 → validmind-2.13.13}/validmind/tests/data_validation/PearsonCorrelationMatrix.py +0 -0
  166. {validmind-2.13.11 → validmind-2.13.13}/validmind/tests/data_validation/PhillipsPerronArch.py +0 -0
  167. {validmind-2.13.11 → validmind-2.13.13}/validmind/tests/data_validation/ProtectedClassesCombination.py +0 -0
  168. {validmind-2.13.11 → validmind-2.13.13}/validmind/tests/data_validation/ProtectedClassesDescription.py +0 -0
  169. {validmind-2.13.11 → validmind-2.13.13}/validmind/tests/data_validation/ProtectedClassesDisparity.py +0 -0
  170. {validmind-2.13.11 → validmind-2.13.13}/validmind/tests/data_validation/ProtectedClassesThresholdOptimizer.py +0 -0
  171. {validmind-2.13.11 → validmind-2.13.13}/validmind/tests/data_validation/RollingStatsPlot.py +0 -0
  172. {validmind-2.13.11 → validmind-2.13.13}/validmind/tests/data_validation/RunsTest.py +0 -0
  173. {validmind-2.13.11 → validmind-2.13.13}/validmind/tests/data_validation/ScatterPlot.py +0 -0
  174. {validmind-2.13.11 → validmind-2.13.13}/validmind/tests/data_validation/ScoreBandDefaultRates.py +0 -0
  175. {validmind-2.13.11 → validmind-2.13.13}/validmind/tests/data_validation/SeasonalDecompose.py +0 -0
  176. {validmind-2.13.11 → validmind-2.13.13}/validmind/tests/data_validation/ShapiroWilk.py +0 -0
  177. {validmind-2.13.11 → validmind-2.13.13}/validmind/tests/data_validation/Skewness.py +0 -0
  178. {validmind-2.13.11 → validmind-2.13.13}/validmind/tests/data_validation/SpreadPlot.py +0 -0
  179. {validmind-2.13.11 → validmind-2.13.13}/validmind/tests/data_validation/TabularCategoricalBarPlots.py +0 -0
  180. {validmind-2.13.11 → validmind-2.13.13}/validmind/tests/data_validation/TabularDateTimeHistograms.py +0 -0
  181. {validmind-2.13.11 → validmind-2.13.13}/validmind/tests/data_validation/TabularDescriptionTables.py +0 -0
  182. {validmind-2.13.11 → validmind-2.13.13}/validmind/tests/data_validation/TabularNumericalHistograms.py +0 -0
  183. {validmind-2.13.11 → validmind-2.13.13}/validmind/tests/data_validation/TargetRateBarPlots.py +0 -0
  184. {validmind-2.13.11 → validmind-2.13.13}/validmind/tests/data_validation/TimeSeriesDescription.py +0 -0
  185. {validmind-2.13.11 → validmind-2.13.13}/validmind/tests/data_validation/TimeSeriesDescriptiveStatistics.py +0 -0
  186. {validmind-2.13.11 → validmind-2.13.13}/validmind/tests/data_validation/TimeSeriesFrequency.py +0 -0
  187. {validmind-2.13.11 → validmind-2.13.13}/validmind/tests/data_validation/TimeSeriesHistogram.py +0 -0
  188. {validmind-2.13.11 → validmind-2.13.13}/validmind/tests/data_validation/TimeSeriesLinePlot.py +0 -0
  189. {validmind-2.13.11 → validmind-2.13.13}/validmind/tests/data_validation/TimeSeriesOutliers.py +0 -0
  190. {validmind-2.13.11 → validmind-2.13.13}/validmind/tests/data_validation/TooManyZeroValues.py +0 -0
  191. {validmind-2.13.11 → validmind-2.13.13}/validmind/tests/data_validation/UniqueRows.py +0 -0
  192. {validmind-2.13.11 → validmind-2.13.13}/validmind/tests/data_validation/WOEBinPlots.py +0 -0
  193. {validmind-2.13.11 → validmind-2.13.13}/validmind/tests/data_validation/WOEBinTable.py +0 -0
  194. {validmind-2.13.11 → validmind-2.13.13}/validmind/tests/data_validation/ZivotAndrewsArch.py +0 -0
  195. {validmind-2.13.11 → validmind-2.13.13}/validmind/tests/data_validation/__init__.py +0 -0
  196. {validmind-2.13.11 → validmind-2.13.13}/validmind/tests/data_validation/nlp/CommonWords.py +0 -0
  197. {validmind-2.13.11 → validmind-2.13.13}/validmind/tests/data_validation/nlp/Hashtags.py +0 -0
  198. {validmind-2.13.11 → validmind-2.13.13}/validmind/tests/data_validation/nlp/LanguageDetection.py +0 -0
  199. {validmind-2.13.11 → validmind-2.13.13}/validmind/tests/data_validation/nlp/Mentions.py +0 -0
  200. {validmind-2.13.11 → validmind-2.13.13}/validmind/tests/data_validation/nlp/PolarityAndSubjectivity.py +0 -0
  201. {validmind-2.13.11 → validmind-2.13.13}/validmind/tests/data_validation/nlp/Punctuations.py +0 -0
  202. {validmind-2.13.11 → validmind-2.13.13}/validmind/tests/data_validation/nlp/Sentiment.py +0 -0
  203. {validmind-2.13.11 → validmind-2.13.13}/validmind/tests/data_validation/nlp/StopWords.py +0 -0
  204. {validmind-2.13.11 → validmind-2.13.13}/validmind/tests/data_validation/nlp/TextDescription.py +0 -0
  205. {validmind-2.13.11 → validmind-2.13.13}/validmind/tests/data_validation/nlp/Toxicity.py +0 -0
  206. {validmind-2.13.11 → validmind-2.13.13}/validmind/tests/data_validation/nlp/__init__.py +0 -0
  207. {validmind-2.13.11 → validmind-2.13.13}/validmind/tests/decorator.py +0 -0
  208. {validmind-2.13.11 → validmind-2.13.13}/validmind/tests/load.py +0 -0
  209. {validmind-2.13.11 → validmind-2.13.13}/validmind/tests/model_validation/BertScore.py +0 -0
  210. {validmind-2.13.11 → validmind-2.13.13}/validmind/tests/model_validation/BleuScore.py +0 -0
  211. {validmind-2.13.11 → validmind-2.13.13}/validmind/tests/model_validation/ClusterSizeDistribution.py +0 -0
  212. {validmind-2.13.11 → validmind-2.13.13}/validmind/tests/model_validation/ContextualRecall.py +0 -0
  213. {validmind-2.13.11 → validmind-2.13.13}/validmind/tests/model_validation/FeaturesAUC.py +0 -0
  214. {validmind-2.13.11 → validmind-2.13.13}/validmind/tests/model_validation/MeteorScore.py +0 -0
  215. {validmind-2.13.11 → validmind-2.13.13}/validmind/tests/model_validation/ModelMetadata.py +0 -0
  216. {validmind-2.13.11 → validmind-2.13.13}/validmind/tests/model_validation/ModelPredictionResiduals.py +0 -0
  217. {validmind-2.13.11 → validmind-2.13.13}/validmind/tests/model_validation/RegardScore.py +0 -0
  218. {validmind-2.13.11 → validmind-2.13.13}/validmind/tests/model_validation/RougeScore.py +0 -0
  219. {validmind-2.13.11 → validmind-2.13.13}/validmind/tests/model_validation/TimeSeriesPredictionWithCI.py +0 -0
  220. {validmind-2.13.11 → validmind-2.13.13}/validmind/tests/model_validation/TimeSeriesPredictionsPlot.py +0 -0
  221. {validmind-2.13.11 → validmind-2.13.13}/validmind/tests/model_validation/TimeSeriesR2SquareBySegments.py +0 -0
  222. {validmind-2.13.11 → validmind-2.13.13}/validmind/tests/model_validation/TokenDisparity.py +0 -0
  223. {validmind-2.13.11 → validmind-2.13.13}/validmind/tests/model_validation/ToxicityScore.py +0 -0
  224. {validmind-2.13.11 → validmind-2.13.13}/validmind/tests/model_validation/__init__.py +0 -0
  225. {validmind-2.13.11 → validmind-2.13.13}/validmind/tests/model_validation/embeddings/ClusterDistribution.py +0 -0
  226. {validmind-2.13.11 → validmind-2.13.13}/validmind/tests/model_validation/embeddings/CosineSimilarityComparison.py +0 -0
  227. {validmind-2.13.11 → validmind-2.13.13}/validmind/tests/model_validation/embeddings/CosineSimilarityDistribution.py +0 -0
  228. {validmind-2.13.11 → validmind-2.13.13}/validmind/tests/model_validation/embeddings/CosineSimilarityHeatmap.py +0 -0
  229. {validmind-2.13.11 → validmind-2.13.13}/validmind/tests/model_validation/embeddings/DescriptiveAnalytics.py +0 -0
  230. {validmind-2.13.11 → validmind-2.13.13}/validmind/tests/model_validation/embeddings/EmbeddingsVisualization2D.py +0 -0
  231. {validmind-2.13.11 → validmind-2.13.13}/validmind/tests/model_validation/embeddings/EuclideanDistanceComparison.py +0 -0
  232. {validmind-2.13.11 → validmind-2.13.13}/validmind/tests/model_validation/embeddings/EuclideanDistanceHeatmap.py +0 -0
  233. {validmind-2.13.11 → validmind-2.13.13}/validmind/tests/model_validation/embeddings/PCAComponentsPairwisePlots.py +0 -0
  234. {validmind-2.13.11 → validmind-2.13.13}/validmind/tests/model_validation/embeddings/StabilityAnalysisKeyword.py +0 -0
  235. {validmind-2.13.11 → validmind-2.13.13}/validmind/tests/model_validation/embeddings/StabilityAnalysisRandomNoise.py +0 -0
  236. {validmind-2.13.11 → validmind-2.13.13}/validmind/tests/model_validation/embeddings/StabilityAnalysisSynonyms.py +0 -0
  237. {validmind-2.13.11 → validmind-2.13.13}/validmind/tests/model_validation/embeddings/StabilityAnalysisTranslation.py +0 -0
  238. {validmind-2.13.11 → validmind-2.13.13}/validmind/tests/model_validation/embeddings/TSNEComponentsPairwisePlots.py +0 -0
  239. {validmind-2.13.11 → validmind-2.13.13}/validmind/tests/model_validation/embeddings/utils.py +0 -0
  240. {validmind-2.13.11 → validmind-2.13.13}/validmind/tests/model_validation/ragas/AnswerCorrectness.py +0 -0
  241. {validmind-2.13.11 → validmind-2.13.13}/validmind/tests/model_validation/ragas/AspectCritic.py +0 -0
  242. {validmind-2.13.11 → validmind-2.13.13}/validmind/tests/model_validation/ragas/ContextEntityRecall.py +0 -0
  243. {validmind-2.13.11 → validmind-2.13.13}/validmind/tests/model_validation/ragas/ContextPrecision.py +0 -0
  244. {validmind-2.13.11 → validmind-2.13.13}/validmind/tests/model_validation/ragas/ContextPrecisionWithoutReference.py +0 -0
  245. {validmind-2.13.11 → validmind-2.13.13}/validmind/tests/model_validation/ragas/ContextRecall.py +0 -0
  246. {validmind-2.13.11 → validmind-2.13.13}/validmind/tests/model_validation/ragas/Faithfulness.py +0 -0
  247. {validmind-2.13.11 → validmind-2.13.13}/validmind/tests/model_validation/ragas/NoiseSensitivity.py +0 -0
  248. {validmind-2.13.11 → validmind-2.13.13}/validmind/tests/model_validation/ragas/ResponseRelevancy.py +0 -0
  249. {validmind-2.13.11 → validmind-2.13.13}/validmind/tests/model_validation/ragas/SemanticSimilarity.py +0 -0
  250. {validmind-2.13.11 → validmind-2.13.13}/validmind/tests/model_validation/ragas/utils.py +0 -0
  251. {validmind-2.13.11 → validmind-2.13.13}/validmind/tests/model_validation/sklearn/AdjustedMutualInformation.py +0 -0
  252. {validmind-2.13.11 → validmind-2.13.13}/validmind/tests/model_validation/sklearn/AdjustedRandIndex.py +0 -0
  253. {validmind-2.13.11 → validmind-2.13.13}/validmind/tests/model_validation/sklearn/CalibrationCurve.py +0 -0
  254. {validmind-2.13.11 → validmind-2.13.13}/validmind/tests/model_validation/sklearn/ClassifierPerformance.py +0 -0
  255. {validmind-2.13.11 → validmind-2.13.13}/validmind/tests/model_validation/sklearn/ClassifierThresholdOptimization.py +0 -0
  256. {validmind-2.13.11 → validmind-2.13.13}/validmind/tests/model_validation/sklearn/ClusterCosineSimilarity.py +0 -0
  257. {validmind-2.13.11 → validmind-2.13.13}/validmind/tests/model_validation/sklearn/ClusterPerformanceMetrics.py +0 -0
  258. {validmind-2.13.11 → validmind-2.13.13}/validmind/tests/model_validation/sklearn/CompletenessScore.py +0 -0
  259. {validmind-2.13.11 → validmind-2.13.13}/validmind/tests/model_validation/sklearn/FeatureImportance.py +0 -0
  260. {validmind-2.13.11 → validmind-2.13.13}/validmind/tests/model_validation/sklearn/FowlkesMallowsScore.py +0 -0
  261. {validmind-2.13.11 → validmind-2.13.13}/validmind/tests/model_validation/sklearn/HomogeneityScore.py +0 -0
  262. {validmind-2.13.11 → validmind-2.13.13}/validmind/tests/model_validation/sklearn/HyperParametersTuning.py +0 -0
  263. {validmind-2.13.11 → validmind-2.13.13}/validmind/tests/model_validation/sklearn/KMeansClustersOptimization.py +0 -0
  264. {validmind-2.13.11 → validmind-2.13.13}/validmind/tests/model_validation/sklearn/MinimumAccuracy.py +0 -0
  265. {validmind-2.13.11 → validmind-2.13.13}/validmind/tests/model_validation/sklearn/MinimumF1Score.py +0 -0
  266. {validmind-2.13.11 → validmind-2.13.13}/validmind/tests/model_validation/sklearn/MinimumROCAUCScore.py +0 -0
  267. {validmind-2.13.11 → validmind-2.13.13}/validmind/tests/model_validation/sklearn/ModelParameters.py +0 -0
  268. {validmind-2.13.11 → validmind-2.13.13}/validmind/tests/model_validation/sklearn/ModelsPerformanceComparison.py +0 -0
  269. {validmind-2.13.11 → validmind-2.13.13}/validmind/tests/model_validation/sklearn/OverfitDiagnosis.py +0 -0
  270. {validmind-2.13.11 → validmind-2.13.13}/validmind/tests/model_validation/sklearn/PermutationFeatureImportance.py +0 -0
  271. {validmind-2.13.11 → validmind-2.13.13}/validmind/tests/model_validation/sklearn/PopulationStabilityIndex.py +0 -0
  272. {validmind-2.13.11 → validmind-2.13.13}/validmind/tests/model_validation/sklearn/PrecisionRecallCurve.py +0 -0
  273. {validmind-2.13.11 → validmind-2.13.13}/validmind/tests/model_validation/sklearn/ROCCurve.py +0 -0
  274. {validmind-2.13.11 → validmind-2.13.13}/validmind/tests/model_validation/sklearn/RegressionErrors.py +0 -0
  275. {validmind-2.13.11 → validmind-2.13.13}/validmind/tests/model_validation/sklearn/RegressionErrorsComparison.py +0 -0
  276. {validmind-2.13.11 → validmind-2.13.13}/validmind/tests/model_validation/sklearn/RegressionPerformance.py +0 -0
  277. {validmind-2.13.11 → validmind-2.13.13}/validmind/tests/model_validation/sklearn/RegressionR2Square.py +0 -0
  278. {validmind-2.13.11 → validmind-2.13.13}/validmind/tests/model_validation/sklearn/RegressionR2SquareComparison.py +0 -0
  279. {validmind-2.13.11 → validmind-2.13.13}/validmind/tests/model_validation/sklearn/RobustnessDiagnosis.py +0 -0
  280. {validmind-2.13.11 → validmind-2.13.13}/validmind/tests/model_validation/sklearn/SHAPGlobalImportance.py +0 -0
  281. {validmind-2.13.11 → validmind-2.13.13}/validmind/tests/model_validation/sklearn/ScoreProbabilityAlignment.py +0 -0
  282. {validmind-2.13.11 → validmind-2.13.13}/validmind/tests/model_validation/sklearn/SilhouettePlot.py +0 -0
  283. {validmind-2.13.11 → validmind-2.13.13}/validmind/tests/model_validation/sklearn/TrainingTestDegradation.py +0 -0
  284. {validmind-2.13.11 → validmind-2.13.13}/validmind/tests/model_validation/sklearn/VMeasure.py +0 -0
  285. {validmind-2.13.11 → validmind-2.13.13}/validmind/tests/model_validation/sklearn/WeakspotsDiagnosis.py +0 -0
  286. {validmind-2.13.11 → validmind-2.13.13}/validmind/tests/model_validation/sklearn/__init__.py +0 -0
  287. {validmind-2.13.11 → validmind-2.13.13}/validmind/tests/model_validation/sklearn/_diagnosis_metrics.py +0 -0
  288. {validmind-2.13.11 → validmind-2.13.13}/validmind/tests/model_validation/sklearn/_multiclass_proba.py +0 -0
  289. {validmind-2.13.11 → validmind-2.13.13}/validmind/tests/model_validation/statsmodels/AutoARIMA.py +0 -0
  290. {validmind-2.13.11 → validmind-2.13.13}/validmind/tests/model_validation/statsmodels/CumulativePredictionProbabilities.py +0 -0
  291. {validmind-2.13.11 → validmind-2.13.13}/validmind/tests/model_validation/statsmodels/DurbinWatsonTest.py +0 -0
  292. {validmind-2.13.11 → validmind-2.13.13}/validmind/tests/model_validation/statsmodels/GINITable.py +0 -0
  293. {validmind-2.13.11 → validmind-2.13.13}/validmind/tests/model_validation/statsmodels/KolmogorovSmirnov.py +0 -0
  294. {validmind-2.13.11 → validmind-2.13.13}/validmind/tests/model_validation/statsmodels/Lilliefors.py +0 -0
  295. {validmind-2.13.11 → validmind-2.13.13}/validmind/tests/model_validation/statsmodels/PredictionProbabilitiesHistogram.py +0 -0
  296. {validmind-2.13.11 → validmind-2.13.13}/validmind/tests/model_validation/statsmodels/RegressionCoeffs.py +0 -0
  297. {validmind-2.13.11 → validmind-2.13.13}/validmind/tests/model_validation/statsmodels/RegressionFeatureSignificance.py +0 -0
  298. {validmind-2.13.11 → validmind-2.13.13}/validmind/tests/model_validation/statsmodels/RegressionModelForecastPlot.py +0 -0
  299. {validmind-2.13.11 → validmind-2.13.13}/validmind/tests/model_validation/statsmodels/RegressionModelForecastPlotLevels.py +0 -0
  300. {validmind-2.13.11 → validmind-2.13.13}/validmind/tests/model_validation/statsmodels/RegressionModelSensitivityPlot.py +0 -0
  301. {validmind-2.13.11 → validmind-2.13.13}/validmind/tests/model_validation/statsmodels/RegressionModelSummary.py +0 -0
  302. {validmind-2.13.11 → validmind-2.13.13}/validmind/tests/model_validation/statsmodels/RegressionPermutationFeatureImportance.py +0 -0
  303. {validmind-2.13.11 → validmind-2.13.13}/validmind/tests/model_validation/statsmodels/ScorecardHistogram.py +0 -0
  304. {validmind-2.13.11 → validmind-2.13.13}/validmind/tests/model_validation/statsmodels/__init__.py +0 -0
  305. {validmind-2.13.11 → validmind-2.13.13}/validmind/tests/model_validation/statsmodels/statsutils.py +0 -0
  306. {validmind-2.13.11 → validmind-2.13.13}/validmind/tests/ongoing_monitoring/CalibrationCurveDrift.py +0 -0
  307. {validmind-2.13.11 → validmind-2.13.13}/validmind/tests/ongoing_monitoring/ClassDiscriminationDrift.py +0 -0
  308. {validmind-2.13.11 → validmind-2.13.13}/validmind/tests/ongoing_monitoring/ClassImbalanceDrift.py +0 -0
  309. {validmind-2.13.11 → validmind-2.13.13}/validmind/tests/ongoing_monitoring/ClassificationAccuracyDrift.py +0 -0
  310. {validmind-2.13.11 → validmind-2.13.13}/validmind/tests/ongoing_monitoring/ConfusionMatrixDrift.py +0 -0
  311. {validmind-2.13.11 → validmind-2.13.13}/validmind/tests/ongoing_monitoring/CumulativePredictionProbabilitiesDrift.py +0 -0
  312. {validmind-2.13.11 → validmind-2.13.13}/validmind/tests/ongoing_monitoring/FeatureDrift.py +0 -0
  313. {validmind-2.13.11 → validmind-2.13.13}/validmind/tests/ongoing_monitoring/PredictionAcrossEachFeature.py +0 -0
  314. {validmind-2.13.11 → validmind-2.13.13}/validmind/tests/ongoing_monitoring/PredictionCorrelation.py +0 -0
  315. {validmind-2.13.11 → validmind-2.13.13}/validmind/tests/ongoing_monitoring/PredictionProbabilitiesHistogramDrift.py +0 -0
  316. {validmind-2.13.11 → validmind-2.13.13}/validmind/tests/ongoing_monitoring/PredictionQuantilesAcrossFeatures.py +0 -0
  317. {validmind-2.13.11 → validmind-2.13.13}/validmind/tests/ongoing_monitoring/ROCCurveDrift.py +0 -0
  318. {validmind-2.13.11 → validmind-2.13.13}/validmind/tests/ongoing_monitoring/ScoreBandsDrift.py +0 -0
  319. {validmind-2.13.11 → validmind-2.13.13}/validmind/tests/ongoing_monitoring/ScorecardHistogramDrift.py +0 -0
  320. {validmind-2.13.11 → validmind-2.13.13}/validmind/tests/output.py +0 -0
  321. {validmind-2.13.11 → validmind-2.13.13}/validmind/tests/plots/BoxPlot.py +0 -0
  322. {validmind-2.13.11 → validmind-2.13.13}/validmind/tests/plots/CorrelationHeatmap.py +0 -0
  323. {validmind-2.13.11 → validmind-2.13.13}/validmind/tests/plots/HistogramPlot.py +0 -0
  324. {validmind-2.13.11 → validmind-2.13.13}/validmind/tests/plots/ViolinPlot.py +0 -0
  325. {validmind-2.13.11 → validmind-2.13.13}/validmind/tests/plots/__init__.py +0 -0
  326. {validmind-2.13.11 → validmind-2.13.13}/validmind/tests/prompt_validation/Bias.py +0 -0
  327. {validmind-2.13.11 → validmind-2.13.13}/validmind/tests/prompt_validation/Clarity.py +0 -0
  328. {validmind-2.13.11 → validmind-2.13.13}/validmind/tests/prompt_validation/Conciseness.py +0 -0
  329. {validmind-2.13.11 → validmind-2.13.13}/validmind/tests/prompt_validation/Delimitation.py +0 -0
  330. {validmind-2.13.11 → validmind-2.13.13}/validmind/tests/prompt_validation/NegativeInstruction.py +0 -0
  331. {validmind-2.13.11 → validmind-2.13.13}/validmind/tests/prompt_validation/Robustness.py +0 -0
  332. {validmind-2.13.11 → validmind-2.13.13}/validmind/tests/prompt_validation/Specificity.py +0 -0
  333. {validmind-2.13.11 → validmind-2.13.13}/validmind/tests/prompt_validation/__init__.py +0 -0
  334. {validmind-2.13.11 → validmind-2.13.13}/validmind/tests/prompt_validation/ai_powered_test.py +0 -0
  335. {validmind-2.13.11 → validmind-2.13.13}/validmind/tests/run.py +0 -0
  336. {validmind-2.13.11 → validmind-2.13.13}/validmind/tests/stats/CorrelationAnalysis.py +0 -0
  337. {validmind-2.13.11 → validmind-2.13.13}/validmind/tests/stats/DescriptiveStats.py +0 -0
  338. {validmind-2.13.11 → validmind-2.13.13}/validmind/tests/stats/NormalityTests.py +0 -0
  339. {validmind-2.13.11 → validmind-2.13.13}/validmind/tests/stats/OutlierDetection.py +0 -0
  340. {validmind-2.13.11 → validmind-2.13.13}/validmind/tests/stats/__init__.py +0 -0
  341. {validmind-2.13.11 → validmind-2.13.13}/validmind/tests/test_providers.py +0 -0
  342. {validmind-2.13.11 → validmind-2.13.13}/validmind/tests/utils.py +0 -0
  343. {validmind-2.13.11 → validmind-2.13.13}/validmind/unit_metrics/__init__.py +0 -0
  344. {validmind-2.13.11 → validmind-2.13.13}/validmind/unit_metrics/classification/Accuracy.py +0 -0
  345. {validmind-2.13.11 → validmind-2.13.13}/validmind/unit_metrics/classification/F1.py +0 -0
  346. {validmind-2.13.11 → validmind-2.13.13}/validmind/unit_metrics/classification/Precision.py +0 -0
  347. {validmind-2.13.11 → validmind-2.13.13}/validmind/unit_metrics/classification/ROC_AUC.py +0 -0
  348. {validmind-2.13.11 → validmind-2.13.13}/validmind/unit_metrics/classification/Recall.py +0 -0
  349. {validmind-2.13.11 → validmind-2.13.13}/validmind/unit_metrics/regression/AdjustedRSquaredScore.py +0 -0
  350. {validmind-2.13.11 → validmind-2.13.13}/validmind/unit_metrics/regression/HuberLoss.py +0 -0
  351. {validmind-2.13.11 → validmind-2.13.13}/validmind/unit_metrics/regression/KolmogorovSmirnovStatistic.py +0 -0
  352. {validmind-2.13.11 → validmind-2.13.13}/validmind/unit_metrics/regression/MeanAbsoluteError.py +0 -0
  353. {validmind-2.13.11 → validmind-2.13.13}/validmind/unit_metrics/regression/MeanAbsolutePercentageError.py +0 -0
  354. {validmind-2.13.11 → validmind-2.13.13}/validmind/unit_metrics/regression/MeanBiasDeviation.py +0 -0
  355. {validmind-2.13.11 → validmind-2.13.13}/validmind/unit_metrics/regression/MeanSquaredError.py +0 -0
  356. {validmind-2.13.11 → validmind-2.13.13}/validmind/unit_metrics/regression/QuantileLoss.py +0 -0
  357. {validmind-2.13.11 → validmind-2.13.13}/validmind/unit_metrics/regression/RSquaredScore.py +0 -0
  358. {validmind-2.13.11 → validmind-2.13.13}/validmind/unit_metrics/regression/RootMeanSquaredError.py +0 -0
  359. {validmind-2.13.11 → validmind-2.13.13}/validmind/utils.py +0 -0
  360. {validmind-2.13.11 → validmind-2.13.13}/validmind/vm_models/__init__.py +0 -0
  361. {validmind-2.13.11 → validmind-2.13.13}/validmind/vm_models/dataset/__init__.py +0 -0
  362. {validmind-2.13.11 → validmind-2.13.13}/validmind/vm_models/dataset/dataset.py +0 -0
  363. {validmind-2.13.11 → validmind-2.13.13}/validmind/vm_models/dataset/utils.py +0 -0
  364. {validmind-2.13.11 → validmind-2.13.13}/validmind/vm_models/figure.py +0 -0
  365. {validmind-2.13.11 → validmind-2.13.13}/validmind/vm_models/html_progress.py +0 -0
  366. {validmind-2.13.11 → validmind-2.13.13}/validmind/vm_models/html_renderer.py +0 -0
  367. {validmind-2.13.11 → validmind-2.13.13}/validmind/vm_models/input.py +0 -0
  368. {validmind-2.13.11 → validmind-2.13.13}/validmind/vm_models/model.py +0 -0
  369. {validmind-2.13.11 → validmind-2.13.13}/validmind/vm_models/result/__init__.py +0 -0
  370. {validmind-2.13.11 → validmind-2.13.13}/validmind/vm_models/result/pii_filter.py +0 -0
  371. {validmind-2.13.11 → validmind-2.13.13}/validmind/vm_models/result/result.jinja +0 -0
  372. {validmind-2.13.11 → validmind-2.13.13}/validmind/vm_models/result/utils.py +0 -0
  373. {validmind-2.13.11 → validmind-2.13.13}/validmind/vm_models/test_suite/__init__.py +0 -0
  374. {validmind-2.13.11 → validmind-2.13.13}/validmind/vm_models/test_suite/runner.py +0 -0
  375. {validmind-2.13.11 → validmind-2.13.13}/validmind/vm_models/test_suite/summary.py +0 -0
  376. {validmind-2.13.11 → validmind-2.13.13}/validmind/vm_models/test_suite/test.py +0 -0
  377. {validmind-2.13.11 → validmind-2.13.13}/validmind/vm_models/test_suite/test_suite.py +0 -0
  378. {validmind-2.13.11 → validmind-2.13.13}/validmind/vm_models/text_generation_summary.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.5
2
2
  Name: validmind
3
- Version: 2.13.11
3
+ Version: 2.13.13
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
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "validmind"
3
- version = "2.13.11"
3
+ version = "2.13.13"
4
4
  description = "ValidMind Library"
5
5
  readme = "README.pypi.md"
6
6
  requires-python = ">=3.9,<3.15"
@@ -0,0 +1 @@
1
+ __version__ = "2.13.13"
@@ -6,7 +6,6 @@ from typing import Tuple
6
6
 
7
7
  import numpy as np
8
8
  import pandas as pd
9
- import plotly.figure_factory as ff
10
9
  import plotly.graph_objects as go
11
10
 
12
11
  from validmind import RawData, tags, tasks
@@ -86,13 +85,15 @@ def LaggedCorrelationHeatmap(
86
85
  index=dataset.feature_columns,
87
86
  )
88
87
 
89
- fig = ff.create_annotated_heatmap(
90
- z=correlation_df.values,
91
- x=list(correlation_df.columns),
92
- y=list(correlation_df.index),
93
- colorscale=COOLWARM,
94
- annotation_text=correlation_df.round(2).values,
95
- showscale=True,
88
+ fig = go.Figure(
89
+ go.Heatmap(
90
+ z=correlation_df.values,
91
+ x=list(correlation_df.columns),
92
+ y=list(correlation_df.index),
93
+ colorscale=COOLWARM,
94
+ showscale=True,
95
+ texttemplate="%{z:.2f}",
96
+ )
96
97
  )
97
98
  fig.update_layout(
98
99
  title={
@@ -103,7 +104,8 @@ def LaggedCorrelationHeatmap(
103
104
  "yanchor": "top",
104
105
  },
105
106
  font=dict(size=14),
106
- xaxis_title="Lags",
107
+ xaxis=dict(title="Lags", side="top", dtick=1),
108
+ yaxis=dict(dtick=1),
107
109
  )
108
110
 
109
111
  return fig, RawData(correlation_matrix=correlation_df, dataset=dataset.input_id)
@@ -6,7 +6,6 @@ from typing import Any, Dict, List, Tuple
6
6
 
7
7
  import pandas as pd
8
8
  import plotly.express as px
9
- import plotly.figure_factory as ff
10
9
  import plotly.graph_objects as go
11
10
 
12
11
  from validmind import RawData, tags, tasks
@@ -94,16 +93,23 @@ def TimeSeriesMissingValues(
94
93
  z = missing_mask.T.astype(int).values
95
94
  x = missing_mask.index.tolist()
96
95
  y = missing_mask.columns.tolist()
97
- heatmap = ff.create_annotated_heatmap(
98
- z=z,
99
- x=x,
100
- y=y,
101
- colorscale="Reds",
102
- showscale=False,
96
+ heatmap = go.Figure(
97
+ go.Heatmap(
98
+ z=z,
99
+ x=x,
100
+ y=y,
101
+ colorscale="Reds",
102
+ showscale=False,
103
+ texttemplate="%{z}",
104
+ )
103
105
  )
104
106
 
105
107
  # Update the layout after creation
106
- heatmap.update_layout(title="Missing Values Heatmap")
108
+ heatmap.update_layout(
109
+ title="Missing Values Heatmap",
110
+ xaxis=dict(side="top", dtick=1),
111
+ yaxis=dict(dtick=1),
112
+ )
107
113
 
108
114
  return (
109
115
  [
@@ -5,12 +5,29 @@
5
5
  from typing import Tuple
6
6
 
7
7
  import numpy as np
8
- import plotly.figure_factory as ff
9
8
  import plotly.graph_objects as go
10
9
 
11
10
  from validmind import RawData, tags, tasks
11
+ from validmind.errors import MissingDependencyError
12
12
  from validmind.vm_models import VMDataset, VMModel
13
13
 
14
+ # The first colour in Plotly's default distplot palette, kept so the ported figure
15
+ # matches what `ff.create_distplot` produced.
16
+ KDE_COLOR = "rgb(31, 119, 180)"
17
+
18
+ try:
19
+ from scipy.stats import gaussian_kde
20
+ except ImportError as e:
21
+ if "scipy" in str(e):
22
+ raise MissingDependencyError(
23
+ "Missing required package `scipy` for RegressionResidualsPlot. "
24
+ "Please run `pip install validmind[stats]` to use statistical tests",
25
+ required_dependencies=["scipy"],
26
+ extra="stats",
27
+ ) from e
28
+
29
+ raise e
30
+
14
31
 
15
32
  @tags("model_performance", "visualization")
16
33
  @tasks("regression")
@@ -65,12 +82,30 @@ def RegressionResidualsPlot(
65
82
 
66
83
  # Residuals plot
67
84
  residuals = y_true.flatten() - y_pred.flatten()
68
- fig = ff.create_distplot(
69
- hist_data=[residuals],
70
- group_labels=["Residuals"],
71
- bin_size=[bin_size],
72
- show_hist=True,
73
- show_rug=False,
85
+ # A 500-point KDE across the data range, which is what `ff.create_distplot`
86
+ # computed internally with scipy before Plotly 7 removed it.
87
+ curve_x = np.linspace(residuals.min(), residuals.max(), 500, endpoint=False)
88
+ curve_y = gaussian_kde(residuals)(curve_x)
89
+ fig = go.Figure(
90
+ data=[
91
+ go.Histogram(
92
+ x=residuals,
93
+ histnorm="probability density",
94
+ autobinx=False,
95
+ xbins=dict(start=residuals.min(), end=residuals.max(), size=bin_size),
96
+ name="Residuals",
97
+ marker=dict(color=KDE_COLOR),
98
+ opacity=0.7,
99
+ ),
100
+ go.Scatter(
101
+ x=curve_x,
102
+ y=curve_y,
103
+ mode="lines",
104
+ name="Residuals",
105
+ showlegend=False,
106
+ marker=dict(color=KDE_COLOR),
107
+ ),
108
+ ]
74
109
  )
75
110
  fig.update_layout(
76
111
  title="Distribution of Residuals",
@@ -6,7 +6,6 @@
6
6
  from typing import Tuple
7
7
 
8
8
  import numpy as np
9
- import plotly.figure_factory as ff
10
9
  import plotly.graph_objects as go
11
10
  from sklearn.metrics import confusion_matrix
12
11
 
@@ -42,9 +41,9 @@ def ConfusionMatrix(
42
41
  The mechanism used involves taking the predicted results (`y_test_predict`) from the classification model and
43
42
  comparing them against the actual values (`y_test_true`). A confusion matrix is built using the unique labels
44
43
  extracted from `y_test_true`, employing scikit-learn's metrics. The matrix is then visually rendered with the help
45
- of Plotly's `create_annotated_heatmap` function. A heatmap is created which provides a two-dimensional graphical
46
- representation of the model's performance, showcasing distributions of True Positives (TP), True Negatives (TN),
47
- False Positives (FP), and False Negatives (FN).
44
+ of a Plotly heatmap. A heatmap is created which provides a two-dimensional graphical representation of the
45
+ model's performance, showcasing distributions of True Positives (TP), True Negatives (TN), False Positives (FP),
46
+ and False Negatives (FN).
48
47
 
49
48
  ### Signs of High Risk
50
49
 
@@ -110,21 +109,32 @@ def ConfusionMatrix(
110
109
  ],
111
110
  ]
112
111
 
113
- fig = ff.create_annotated_heatmap(
114
- z=cm,
115
- colorscale="Blues",
116
- x=labels,
117
- y=labels,
118
- annotation_text=text,
112
+ if text is None:
113
+ text = cm.astype(str)
114
+
115
+ fig = go.Figure(
116
+ go.Heatmap(
117
+ z=cm,
118
+ x=labels,
119
+ y=labels,
120
+ colorscale="Blues",
121
+ showscale=False,
122
+ text=text,
123
+ texttemplate="%{text}",
124
+ # Heatmap text auto-shrinks to fit the cell; pin it to the layout font
125
+ # size so the cells read the same as the old annotation-based figure.
126
+ textfont=dict(size=12),
127
+ hovertemplate=(
128
+ "True Label:%{y}<br>Predicted Label:%{x}<br>Count:%{z}<extra></extra>"
129
+ ),
130
+ )
119
131
  )
120
132
 
121
- fig["data"][0][
122
- "hovertemplate"
123
- ] = "True Label:%{y}<br>Predicted Label:%{x}<br>Count:%{z}<extra></extra>"
124
-
125
133
  fig.update_layout(
126
- xaxis=dict(title="Predicted label"),
127
- yaxis=dict(title="True label"),
134
+ # `side="top"` and `dtick=1` keep the axis placement and per-class ticks that
135
+ # `ff.create_annotated_heatmap` used to apply for us.
136
+ xaxis=dict(title="Predicted label", side="top", dtick=1),
137
+ yaxis=dict(title="True label", dtick=1),
128
138
  autosize=False,
129
139
  width=600,
130
140
  height=600,
@@ -4,8 +4,8 @@
4
4
 
5
5
  from typing import Dict, List, Tuple
6
6
 
7
+ import numpy as np
7
8
  import pandas as pd
8
- import plotly.figure_factory as ff
9
9
  import plotly.graph_objects as go
10
10
 
11
11
  from validmind import RawData, tags, tasks
@@ -13,7 +13,7 @@ from validmind.errors import MissingDependencyError
13
13
  from validmind.vm_models import VMDataset, VMModel
14
14
 
15
15
  try:
16
- from scipy.stats import kurtosis, skew
16
+ from scipy.stats import gaussian_kde, kurtosis, skew
17
17
  except ImportError as e:
18
18
  if "scipy" in str(e):
19
19
  raise MissingDependencyError(
@@ -26,6 +26,17 @@ except ImportError as e:
26
26
  raise e
27
27
 
28
28
 
29
+ def _kde_curve(values):
30
+ """A 500-point KDE across the data range.
31
+
32
+ This is what `ff.create_distplot(..., show_hist=False)` computed internally
33
+ before Plotly 7 removed the Figure Factory functions.
34
+ """
35
+ x = np.linspace(values.min(), values.max(), 500, endpoint=False)
36
+
37
+ return x, gaussian_kde(values)(x)
38
+
39
+
29
40
  @tags("visualization")
30
41
  @tasks("monitoring")
31
42
  def TargetPredictionDistributionPlot(
@@ -110,18 +121,8 @@ def TargetPredictionDistributionPlot(
110
121
  moments = moments.set_index("Statistic", drop=False)
111
122
 
112
123
  # Create KDE for both distributions
113
- ref_kde = ff.create_distplot(
114
- [pred_ref["Reference Prediction"].values],
115
- ["Reference"],
116
- show_hist=False,
117
- show_rug=False,
118
- )
119
- monitor_kde = ff.create_distplot(
120
- [pred_monitor["Monitoring Prediction"].values],
121
- ["Monitoring"],
122
- show_hist=False,
123
- show_rug=False,
124
- )
124
+ ref_x, ref_y = _kde_curve(pred_ref["Reference Prediction"].values)
125
+ monitor_x, monitor_y = _kde_curve(pred_monitor["Monitoring Prediction"].values)
125
126
 
126
127
  # Create new figure
127
128
  fig = go.Figure()
@@ -129,8 +130,8 @@ def TargetPredictionDistributionPlot(
129
130
  # Add reference distribution
130
131
  fig.add_trace(
131
132
  go.Scatter(
132
- x=ref_kde.data[0].x,
133
- y=ref_kde.data[0].y,
133
+ x=ref_x,
134
+ y=ref_y,
134
135
  fill="tozeroy",
135
136
  name="Reference Prediction",
136
137
  line=dict(color="blue", width=2),
@@ -141,8 +142,8 @@ def TargetPredictionDistributionPlot(
141
142
  # Add monitoring distribution
142
143
  fig.add_trace(
143
144
  go.Scatter(
144
- x=monitor_kde.data[0].x,
145
- y=monitor_kde.data[0].y,
145
+ x=monitor_x,
146
+ y=monitor_y,
146
147
  fill="tozeroy",
147
148
  name="Monitor Prediction",
148
149
  line=dict(color="red", width=2),
@@ -7,6 +7,10 @@ import numpy as np
7
7
  from validmind import tags, tasks
8
8
  from validmind.vm_models import VMDataset, VMModel
9
9
 
10
+ # NumPy 2 removed `np.trapz` in favour of `np.trapezoid`; the library supports both
11
+ # (numpy<2 below Python 3.14, numpy>=2.3 from 3.14 on).
12
+ _trapezoid = getattr(np, "trapezoid", None) or np.trapz
13
+
10
14
 
11
15
  @tags("regression")
12
16
  @tasks("regression")
@@ -29,7 +33,7 @@ def GiniCoefficient(dataset: VMDataset, model: VMModel) -> float:
29
33
  cumsum_pred_norm = cumsum_pred / np.max(cumsum_pred)
30
34
 
31
35
  # Compute area under the Lorenz curve
32
- area_lorenz = np.trapz(cumsum_pred_norm, x=cumsum_true_norm)
36
+ area_lorenz = _trapezoid(cumsum_pred_norm, x=cumsum_true_norm)
33
37
 
34
38
  # Compute Gini coefficient
35
39
  return 1 - 2 * area_lorenz
@@ -542,6 +542,18 @@ class TestResult(Result):
542
542
 
543
543
  return serialized
544
544
 
545
+ def _pre_serialize_figures(self):
546
+ """Render figure PNGs before any upload request starts.
547
+
548
+ Kaleido launches a Chromium per figure and blocks the event loop while it
549
+ runs. Rendering while uploads are in flight lets the request timeout
550
+ expire on them, and with older kaleido it conflicted with asyncio
551
+ outright (ZD-626). log() calls this outside the loop; log_async() calls
552
+ it too because the test-suite runner awaits log_async() directly.
553
+ """
554
+ for figure in self.figures or []:
555
+ figure.pre_serialize()
556
+
545
557
  async def log_async(
546
558
  self,
547
559
  section_id: str = None,
@@ -553,6 +565,8 @@ class TestResult(Result):
553
565
  if self._is_scorer_result:
554
566
  return
555
567
 
568
+ self._pre_serialize_figures()
569
+
556
570
  tasks = [] # collect tasks to run in parallel (async)
557
571
 
558
572
  # Default empty dict if None
@@ -680,10 +694,7 @@ class TestResult(Result):
680
694
  if section_id:
681
695
  self._validate_section_id_for_block(section_id, position)
682
696
 
683
- # Pre-serialize figures before entering async context to avoid conflicts
684
- # between Plotly's kaleido library and asyncio event loops (ZD-626)
685
- for figure in self.figures or []:
686
- figure.pre_serialize()
697
+ self._pre_serialize_figures()
687
698
 
688
699
  run_async(
689
700
  self.log_async,
@@ -1 +0,0 @@
1
- __version__ = "2.13.11"
File without changes
File without changes
File without changes