validmind 2.0.7__tar.gz → 2.1.1__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 (304) hide show
  1. {validmind-2.0.7 → validmind-2.1.1}/PKG-INFO +10 -6
  2. {validmind-2.0.7 → validmind-2.1.1}/pyproject.toml +16 -6
  3. {validmind-2.0.7 → validmind-2.1.1}/validmind/__init__.py +3 -3
  4. validmind-2.1.1/validmind/__version__.py +1 -0
  5. {validmind-2.0.7 → validmind-2.1.1}/validmind/ai.py +7 -11
  6. {validmind-2.0.7 → validmind-2.1.1}/validmind/api_client.py +29 -27
  7. {validmind-2.0.7 → validmind-2.1.1}/validmind/client.py +10 -3
  8. validmind-2.1.1/validmind/datasets/credit_risk/__init__.py +11 -0
  9. validmind-2.1.1/validmind/datasets/credit_risk/datasets/lending_club_loan_data_2007_2014_clean.csv.gz +0 -0
  10. validmind-2.1.1/validmind/datasets/credit_risk/lending_club.py +394 -0
  11. {validmind-2.0.7 → validmind-2.1.1}/validmind/logging.py +9 -2
  12. {validmind-2.0.7 → validmind-2.1.1}/validmind/template.py +2 -2
  13. {validmind-2.0.7 → validmind-2.1.1}/validmind/test_suites/__init__.py +4 -2
  14. {validmind-2.0.7 → validmind-2.1.1}/validmind/tests/__init__.py +97 -50
  15. {validmind-2.0.7 → validmind-2.1.1}/validmind/tests/data_validation/FeatureTargetCorrelationPlot.py +3 -1
  16. {validmind-2.0.7 → validmind-2.1.1}/validmind/tests/data_validation/PiTCreditScoresHistogram.py +1 -1
  17. {validmind-2.0.7 → validmind-2.1.1}/validmind/tests/data_validation/ScatterPlot.py +8 -2
  18. {validmind-2.0.7 → validmind-2.1.1}/validmind/tests/decorator.py +138 -14
  19. {validmind-2.0.7 → validmind-2.1.1}/validmind/tests/model_validation/BertScore.py +1 -1
  20. {validmind-2.0.7 → validmind-2.1.1}/validmind/tests/model_validation/BertScoreAggregate.py +1 -1
  21. {validmind-2.0.7 → validmind-2.1.1}/validmind/tests/model_validation/BleuScore.py +1 -1
  22. {validmind-2.0.7 → validmind-2.1.1}/validmind/tests/model_validation/ClusterSizeDistribution.py +1 -1
  23. {validmind-2.0.7 → validmind-2.1.1}/validmind/tests/model_validation/ContextualRecall.py +1 -1
  24. validmind-2.1.1/validmind/tests/model_validation/FeaturesAUC.py +110 -0
  25. {validmind-2.0.7 → validmind-2.1.1}/validmind/tests/model_validation/MeteorScore.py +1 -1
  26. {validmind-2.0.7 → validmind-2.1.1}/validmind/tests/model_validation/RegardHistogram.py +1 -1
  27. {validmind-2.0.7 → validmind-2.1.1}/validmind/tests/model_validation/RegardScore.py +1 -1
  28. validmind-2.1.1/validmind/tests/model_validation/RegressionResidualsPlot.py +127 -0
  29. {validmind-2.0.7 → validmind-2.1.1}/validmind/tests/model_validation/RougeMetrics.py +1 -1
  30. {validmind-2.0.7 → validmind-2.1.1}/validmind/tests/model_validation/RougeMetricsAggregate.py +1 -1
  31. {validmind-2.0.7 → validmind-2.1.1}/validmind/tests/model_validation/SelfCheckNLIScore.py +1 -1
  32. {validmind-2.0.7 → validmind-2.1.1}/validmind/tests/model_validation/TokenDisparity.py +1 -1
  33. {validmind-2.0.7 → validmind-2.1.1}/validmind/tests/model_validation/ToxicityHistogram.py +1 -1
  34. {validmind-2.0.7 → validmind-2.1.1}/validmind/tests/model_validation/ToxicityScore.py +1 -1
  35. {validmind-2.0.7 → validmind-2.1.1}/validmind/tests/model_validation/embeddings/ClusterDistribution.py +1 -1
  36. {validmind-2.0.7 → validmind-2.1.1}/validmind/tests/model_validation/embeddings/CosineSimilarityDistribution.py +1 -3
  37. {validmind-2.0.7 → validmind-2.1.1}/validmind/tests/model_validation/embeddings/DescriptiveAnalytics.py +1 -1
  38. {validmind-2.0.7 → validmind-2.1.1}/validmind/tests/model_validation/embeddings/EmbeddingsVisualization2D.py +1 -1
  39. {validmind-2.0.7 → validmind-2.1.1}/validmind/tests/model_validation/sklearn/ClassifierPerformance.py +15 -18
  40. {validmind-2.0.7 → validmind-2.1.1}/validmind/tests/model_validation/sklearn/ClusterCosineSimilarity.py +1 -1
  41. {validmind-2.0.7 → validmind-2.1.1}/validmind/tests/model_validation/sklearn/ClusterPerformance.py +2 -2
  42. {validmind-2.0.7 → validmind-2.1.1}/validmind/tests/model_validation/sklearn/ConfusionMatrix.py +21 -3
  43. {validmind-2.0.7 → validmind-2.1.1}/validmind/tests/model_validation/sklearn/MinimumAccuracy.py +1 -1
  44. {validmind-2.0.7 → validmind-2.1.1}/validmind/tests/model_validation/sklearn/MinimumF1Score.py +1 -1
  45. {validmind-2.0.7 → validmind-2.1.1}/validmind/tests/model_validation/sklearn/MinimumROCAUCScore.py +1 -1
  46. {validmind-2.0.7 → validmind-2.1.1}/validmind/tests/model_validation/sklearn/ModelsPerformanceComparison.py +5 -4
  47. {validmind-2.0.7 → validmind-2.1.1}/validmind/tests/model_validation/sklearn/OverfitDiagnosis.py +2 -2
  48. {validmind-2.0.7 → validmind-2.1.1}/validmind/tests/model_validation/sklearn/ROCCurve.py +6 -12
  49. {validmind-2.0.7 → validmind-2.1.1}/validmind/tests/model_validation/sklearn/RegressionErrors.py +2 -2
  50. {validmind-2.0.7 → validmind-2.1.1}/validmind/tests/model_validation/sklearn/RegressionModelsPerformanceComparison.py +6 -4
  51. {validmind-2.0.7 → validmind-2.1.1}/validmind/tests/model_validation/sklearn/RegressionR2Square.py +2 -2
  52. {validmind-2.0.7 → validmind-2.1.1}/validmind/tests/model_validation/sklearn/SHAPGlobalImportance.py +33 -3
  53. {validmind-2.0.7 → validmind-2.1.1}/validmind/tests/model_validation/sklearn/SilhouettePlot.py +1 -1
  54. {validmind-2.0.7 → validmind-2.1.1}/validmind/tests/model_validation/sklearn/TrainingTestDegradation.py +2 -2
  55. {validmind-2.0.7 → validmind-2.1.1}/validmind/tests/model_validation/sklearn/WeakspotsDiagnosis.py +2 -2
  56. validmind-2.1.1/validmind/tests/model_validation/statsmodels/CumulativePredictionProbabilities.py +140 -0
  57. {validmind-2.0.7 → validmind-2.1.1}/validmind/tests/model_validation/statsmodels/GINITable.py +22 -45
  58. validmind-2.0.7/validmind/tests/model_validation/statsmodels/LogisticRegPredictionHistogram.py → validmind-2.1.1/validmind/tests/model_validation/statsmodels/PredictionProbabilitiesHistogram.py +67 -92
  59. {validmind-2.0.7 → validmind-2.1.1}/validmind/tests/model_validation/statsmodels/RegressionModelForecastPlot.py +2 -2
  60. {validmind-2.0.7 → validmind-2.1.1}/validmind/tests/model_validation/statsmodels/RegressionModelForecastPlotLevels.py +2 -2
  61. {validmind-2.0.7 → validmind-2.1.1}/validmind/tests/model_validation/statsmodels/RegressionModelInsampleComparison.py +1 -1
  62. {validmind-2.0.7 → validmind-2.1.1}/validmind/tests/model_validation/statsmodels/RegressionModelOutsampleComparison.py +1 -1
  63. {validmind-2.0.7 → validmind-2.1.1}/validmind/tests/model_validation/statsmodels/RegressionModelSummary.py +1 -1
  64. {validmind-2.0.7 → validmind-2.1.1}/validmind/tests/model_validation/statsmodels/RegressionModelsPerformance.py +1 -1
  65. validmind-2.1.1/validmind/tests/model_validation/statsmodels/RegressionPermutationFeatureImportance.py +128 -0
  66. validmind-2.1.1/validmind/tests/model_validation/statsmodels/ScorecardHistogram.py +139 -0
  67. {validmind-2.0.7 → validmind-2.1.1}/validmind/tests/test_providers.py +14 -124
  68. {validmind-2.0.7 → validmind-2.1.1}/validmind/unit_metrics/__init__.py +76 -69
  69. validmind-2.1.1/validmind/unit_metrics/classification/sklearn/Accuracy.py +14 -0
  70. validmind-2.1.1/validmind/unit_metrics/classification/sklearn/F1.py +13 -0
  71. validmind-2.1.1/validmind/unit_metrics/classification/sklearn/Precision.py +13 -0
  72. validmind-2.1.1/validmind/unit_metrics/classification/sklearn/ROC_AUC.py +13 -0
  73. validmind-2.1.1/validmind/unit_metrics/classification/sklearn/Recall.py +13 -0
  74. {validmind-2.0.7 → validmind-2.1.1}/validmind/unit_metrics/composite.py +24 -71
  75. validmind-2.1.1/validmind/unit_metrics/regression/GiniCoefficient.py +33 -0
  76. validmind-2.1.1/validmind/unit_metrics/regression/HuberLoss.py +23 -0
  77. validmind-2.1.1/validmind/unit_metrics/regression/KolmogorovSmirnovStatistic.py +30 -0
  78. validmind-2.1.1/validmind/unit_metrics/regression/MeanAbsolutePercentageError.py +16 -0
  79. validmind-2.1.1/validmind/unit_metrics/regression/MeanBiasDeviation.py +13 -0
  80. validmind-2.1.1/validmind/unit_metrics/regression/QuantileLoss.py +15 -0
  81. validmind-2.1.1/validmind/unit_metrics/regression/sklearn/AdjustedRSquaredScore.py +21 -0
  82. validmind-2.1.1/validmind/unit_metrics/regression/sklearn/MeanAbsoluteError.py +13 -0
  83. validmind-2.1.1/validmind/unit_metrics/regression/sklearn/MeanSquaredError.py +13 -0
  84. validmind-2.1.1/validmind/unit_metrics/regression/sklearn/RSquaredScore.py +13 -0
  85. validmind-2.1.1/validmind/unit_metrics/regression/sklearn/RootMeanSquaredError.py +20 -0
  86. {validmind-2.0.7 → validmind-2.1.1}/validmind/utils.py +18 -45
  87. {validmind-2.0.7 → validmind-2.1.1}/validmind/vm_models/__init__.py +0 -2
  88. {validmind-2.0.7 → validmind-2.1.1}/validmind/vm_models/dataset.py +255 -16
  89. {validmind-2.0.7 → validmind-2.1.1}/validmind/vm_models/test/metric.py +1 -2
  90. {validmind-2.0.7 → validmind-2.1.1}/validmind/vm_models/test/result_wrapper.py +12 -13
  91. {validmind-2.0.7 → validmind-2.1.1}/validmind/vm_models/test/test.py +2 -1
  92. {validmind-2.0.7 → validmind-2.1.1}/validmind/vm_models/test/threshold_test.py +1 -2
  93. {validmind-2.0.7 → validmind-2.1.1}/validmind/vm_models/test_suite/summary.py +3 -3
  94. {validmind-2.0.7 → validmind-2.1.1}/validmind/vm_models/test_suite/test_suite.py +2 -1
  95. validmind-2.0.7/validmind/__version__.py +0 -1
  96. validmind-2.0.7/validmind/tests/__types__.py +0 -62
  97. validmind-2.0.7/validmind/tests/model_validation/statsmodels/LogRegressionConfusionMatrix.py +0 -128
  98. validmind-2.0.7/validmind/tests/model_validation/statsmodels/LogisticRegCumulativeProb.py +0 -172
  99. validmind-2.0.7/validmind/tests/model_validation/statsmodels/ScorecardBucketHistogram.py +0 -181
  100. validmind-2.0.7/validmind/tests/model_validation/statsmodels/ScorecardHistogram.py +0 -172
  101. validmind-2.0.7/validmind/tests/model_validation/statsmodels/ScorecardProbabilitiesHistogram.py +0 -175
  102. validmind-2.0.7/validmind/unit_metrics/regression/GiniCoefficient.py +0 -39
  103. validmind-2.0.7/validmind/unit_metrics/regression/HuberLoss.py +0 -27
  104. validmind-2.0.7/validmind/unit_metrics/regression/KolmogorovSmirnovStatistic.py +0 -36
  105. validmind-2.0.7/validmind/unit_metrics/regression/MeanAbsolutePercentageError.py +0 -22
  106. validmind-2.0.7/validmind/unit_metrics/regression/MeanBiasDeviation.py +0 -22
  107. validmind-2.0.7/validmind/unit_metrics/regression/QuantileLoss.py +0 -25
  108. validmind-2.0.7/validmind/unit_metrics/regression/sklearn/AdjustedRSquaredScore.py +0 -27
  109. validmind-2.0.7/validmind/unit_metrics/regression/sklearn/MeanAbsoluteError.py +0 -22
  110. validmind-2.0.7/validmind/unit_metrics/regression/sklearn/MeanSquaredError.py +0 -22
  111. validmind-2.0.7/validmind/unit_metrics/regression/sklearn/RSquaredScore.py +0 -22
  112. validmind-2.0.7/validmind/unit_metrics/regression/sklearn/RootMeanSquaredError.py +0 -23
  113. validmind-2.0.7/validmind/unit_metrics/sklearn/classification/Accuracy.py +0 -22
  114. validmind-2.0.7/validmind/unit_metrics/sklearn/classification/F1.py +0 -24
  115. validmind-2.0.7/validmind/unit_metrics/sklearn/classification/Precision.py +0 -24
  116. validmind-2.0.7/validmind/unit_metrics/sklearn/classification/ROC_AUC.py +0 -22
  117. validmind-2.0.7/validmind/unit_metrics/sklearn/classification/Recall.py +0 -22
  118. validmind-2.0.7/validmind/vm_models/test/unit_metric.py +0 -88
  119. {validmind-2.0.7 → validmind-2.1.1}/LICENSE +0 -0
  120. {validmind-2.0.7 → validmind-2.1.1}/README.pypi.md +0 -0
  121. {validmind-2.0.7 → validmind-2.1.1}/validmind/client_config.py +0 -0
  122. {validmind-2.0.7 → validmind-2.1.1}/validmind/datasets/__init__.py +0 -0
  123. {validmind-2.0.7 → validmind-2.1.1}/validmind/datasets/classification/__init__.py +0 -0
  124. {validmind-2.0.7 → validmind-2.1.1}/validmind/datasets/classification/customer_churn.py +0 -0
  125. {validmind-2.0.7 → validmind-2.1.1}/validmind/datasets/classification/datasets/bank_customer_churn.csv +0 -0
  126. {validmind-2.0.7 → validmind-2.1.1}/validmind/datasets/classification/datasets/taiwan_credit.csv +0 -0
  127. {validmind-2.0.7 → validmind-2.1.1}/validmind/datasets/classification/taiwan_credit.py +0 -0
  128. {validmind-2.0.7 → validmind-2.1.1}/validmind/datasets/cluster/digits.py +0 -0
  129. {validmind-2.0.7 → validmind-2.1.1}/validmind/datasets/nlp/__init__.py +0 -0
  130. {validmind-2.0.7 → validmind-2.1.1}/validmind/datasets/nlp/cnn_dailymail.py +0 -0
  131. {validmind-2.0.7 → validmind-2.1.1}/validmind/datasets/nlp/datasets/Covid_19.csv +0 -0
  132. {validmind-2.0.7 → validmind-2.1.1}/validmind/datasets/nlp/datasets/cnn_dailymail_100_with_predictions.csv +0 -0
  133. {validmind-2.0.7 → validmind-2.1.1}/validmind/datasets/nlp/datasets/cnn_dailymail_500_with_predictions.csv +0 -0
  134. {validmind-2.0.7 → validmind-2.1.1}/validmind/datasets/nlp/datasets/sentiments_with_predictions.csv +0 -0
  135. {validmind-2.0.7 → validmind-2.1.1}/validmind/datasets/nlp/twitter_covid_19.py +0 -0
  136. {validmind-2.0.7 → validmind-2.1.1}/validmind/datasets/regression/__init__.py +0 -0
  137. {validmind-2.0.7 → validmind-2.1.1}/validmind/datasets/regression/california_housing.py +0 -0
  138. {validmind-2.0.7 → validmind-2.1.1}/validmind/datasets/regression/datasets/fred/CPIAUCSL.csv +0 -0
  139. {validmind-2.0.7 → validmind-2.1.1}/validmind/datasets/regression/datasets/fred/CSUSHPISA.csv +0 -0
  140. {validmind-2.0.7 → validmind-2.1.1}/validmind/datasets/regression/datasets/fred/DRSFRMACBS.csv +0 -0
  141. {validmind-2.0.7 → validmind-2.1.1}/validmind/datasets/regression/datasets/fred/FEDFUNDS.csv +0 -0
  142. {validmind-2.0.7 → validmind-2.1.1}/validmind/datasets/regression/datasets/fred/GDP.csv +0 -0
  143. {validmind-2.0.7 → validmind-2.1.1}/validmind/datasets/regression/datasets/fred/GDPC1.csv +0 -0
  144. {validmind-2.0.7 → validmind-2.1.1}/validmind/datasets/regression/datasets/fred/GS10.csv +0 -0
  145. {validmind-2.0.7 → validmind-2.1.1}/validmind/datasets/regression/datasets/fred/GS3.csv +0 -0
  146. {validmind-2.0.7 → validmind-2.1.1}/validmind/datasets/regression/datasets/fred/GS5.csv +0 -0
  147. {validmind-2.0.7 → validmind-2.1.1}/validmind/datasets/regression/datasets/fred/MORTGAGE30US.csv +0 -0
  148. {validmind-2.0.7 → validmind-2.1.1}/validmind/datasets/regression/datasets/fred/UNRATE.csv +0 -0
  149. {validmind-2.0.7 → validmind-2.1.1}/validmind/datasets/regression/datasets/fred_loan_rates.csv +0 -0
  150. {validmind-2.0.7 → validmind-2.1.1}/validmind/datasets/regression/datasets/fred_loan_rates_test_1.csv +0 -0
  151. {validmind-2.0.7 → validmind-2.1.1}/validmind/datasets/regression/datasets/fred_loan_rates_test_2.csv +0 -0
  152. {validmind-2.0.7 → validmind-2.1.1}/validmind/datasets/regression/datasets/fred_loan_rates_test_3.csv +0 -0
  153. {validmind-2.0.7 → validmind-2.1.1}/validmind/datasets/regression/datasets/fred_loan_rates_test_4.csv +0 -0
  154. {validmind-2.0.7 → validmind-2.1.1}/validmind/datasets/regression/datasets/fred_loan_rates_test_5.csv +0 -0
  155. {validmind-2.0.7 → validmind-2.1.1}/validmind/datasets/regression/datasets/lending_club_loan_rates.csv +0 -0
  156. {validmind-2.0.7 → validmind-2.1.1}/validmind/datasets/regression/fred.py +0 -0
  157. {validmind-2.0.7 → validmind-2.1.1}/validmind/datasets/regression/lending_club.py +0 -0
  158. {validmind-2.0.7 → validmind-2.1.1}/validmind/datasets/regression/models/fred_loan_rates_model_1.pkl +0 -0
  159. {validmind-2.0.7 → validmind-2.1.1}/validmind/datasets/regression/models/fred_loan_rates_model_2.pkl +0 -0
  160. {validmind-2.0.7 → validmind-2.1.1}/validmind/datasets/regression/models/fred_loan_rates_model_3.pkl +0 -0
  161. {validmind-2.0.7 → validmind-2.1.1}/validmind/datasets/regression/models/fred_loan_rates_model_4.pkl +0 -0
  162. {validmind-2.0.7 → validmind-2.1.1}/validmind/datasets/regression/models/fred_loan_rates_model_5.pkl +0 -0
  163. {validmind-2.0.7 → validmind-2.1.1}/validmind/errors.py +0 -0
  164. {validmind-2.0.7 → validmind-2.1.1}/validmind/html_templates/content_blocks.py +0 -0
  165. {validmind-2.0.7 → validmind-2.1.1}/validmind/input_registry.py +0 -0
  166. {validmind-2.0.7 → validmind-2.1.1}/validmind/models/__init__.py +0 -0
  167. {validmind-2.0.7 → validmind-2.1.1}/validmind/models/catboost.py +0 -0
  168. {validmind-2.0.7 → validmind-2.1.1}/validmind/models/foundation.py +0 -0
  169. {validmind-2.0.7 → validmind-2.1.1}/validmind/models/huggingface.py +0 -0
  170. {validmind-2.0.7 → validmind-2.1.1}/validmind/models/pytorch.py +0 -0
  171. {validmind-2.0.7 → validmind-2.1.1}/validmind/models/r_model.py +0 -0
  172. {validmind-2.0.7 → validmind-2.1.1}/validmind/models/sklearn.py +0 -0
  173. {validmind-2.0.7 → validmind-2.1.1}/validmind/models/statsmodels.py +0 -0
  174. {validmind-2.0.7 → validmind-2.1.1}/validmind/models/xgboost.py +0 -0
  175. {validmind-2.0.7 → validmind-2.1.1}/validmind/test_suites/classifier.py +0 -0
  176. {validmind-2.0.7 → validmind-2.1.1}/validmind/test_suites/cluster.py +0 -0
  177. {validmind-2.0.7 → validmind-2.1.1}/validmind/test_suites/embeddings.py +0 -0
  178. {validmind-2.0.7 → validmind-2.1.1}/validmind/test_suites/llm.py +0 -0
  179. {validmind-2.0.7 → validmind-2.1.1}/validmind/test_suites/nlp.py +0 -0
  180. {validmind-2.0.7 → validmind-2.1.1}/validmind/test_suites/parameters_optimization.py +0 -0
  181. {validmind-2.0.7 → validmind-2.1.1}/validmind/test_suites/regression.py +0 -0
  182. {validmind-2.0.7 → validmind-2.1.1}/validmind/test_suites/statsmodels_timeseries.py +0 -0
  183. {validmind-2.0.7 → validmind-2.1.1}/validmind/test_suites/summarization.py +0 -0
  184. {validmind-2.0.7 → validmind-2.1.1}/validmind/test_suites/tabular_datasets.py +0 -0
  185. {validmind-2.0.7 → validmind-2.1.1}/validmind/test_suites/text_data.py +0 -0
  186. {validmind-2.0.7 → validmind-2.1.1}/validmind/test_suites/time_series.py +0 -0
  187. {validmind-2.0.7 → validmind-2.1.1}/validmind/tests/data_validation/ACFandPACFPlot.py +0 -0
  188. {validmind-2.0.7 → validmind-2.1.1}/validmind/tests/data_validation/ANOVAOneWayTable.py +0 -0
  189. {validmind-2.0.7 → validmind-2.1.1}/validmind/tests/data_validation/AutoAR.py +0 -0
  190. {validmind-2.0.7 → validmind-2.1.1}/validmind/tests/data_validation/AutoMA.py +0 -0
  191. {validmind-2.0.7 → validmind-2.1.1}/validmind/tests/data_validation/AutoSeasonality.py +0 -0
  192. {validmind-2.0.7 → validmind-2.1.1}/validmind/tests/data_validation/AutoStationarity.py +0 -0
  193. {validmind-2.0.7 → validmind-2.1.1}/validmind/tests/data_validation/BivariateFeaturesBarPlots.py +0 -0
  194. {validmind-2.0.7 → validmind-2.1.1}/validmind/tests/data_validation/BivariateHistograms.py +0 -0
  195. {validmind-2.0.7 → validmind-2.1.1}/validmind/tests/data_validation/BivariateScatterPlots.py +0 -0
  196. {validmind-2.0.7 → validmind-2.1.1}/validmind/tests/data_validation/ChiSquaredFeaturesTable.py +0 -0
  197. {validmind-2.0.7 → validmind-2.1.1}/validmind/tests/data_validation/ClassImbalance.py +0 -0
  198. {validmind-2.0.7 → validmind-2.1.1}/validmind/tests/data_validation/DatasetDescription.py +0 -0
  199. {validmind-2.0.7 → validmind-2.1.1}/validmind/tests/data_validation/DatasetSplit.py +0 -0
  200. {validmind-2.0.7 → validmind-2.1.1}/validmind/tests/data_validation/DefaultRatesbyRiskBandPlot.py +0 -0
  201. {validmind-2.0.7 → validmind-2.1.1}/validmind/tests/data_validation/DescriptiveStatistics.py +0 -0
  202. {validmind-2.0.7 → validmind-2.1.1}/validmind/tests/data_validation/Duplicates.py +0 -0
  203. {validmind-2.0.7 → validmind-2.1.1}/validmind/tests/data_validation/EngleGrangerCoint.py +0 -0
  204. {validmind-2.0.7 → validmind-2.1.1}/validmind/tests/data_validation/HeatmapFeatureCorrelations.py +0 -0
  205. {validmind-2.0.7 → validmind-2.1.1}/validmind/tests/data_validation/HighCardinality.py +0 -0
  206. {validmind-2.0.7 → validmind-2.1.1}/validmind/tests/data_validation/HighPearsonCorrelation.py +0 -0
  207. {validmind-2.0.7 → validmind-2.1.1}/validmind/tests/data_validation/IQROutliersBarPlot.py +0 -0
  208. {validmind-2.0.7 → validmind-2.1.1}/validmind/tests/data_validation/IQROutliersTable.py +0 -0
  209. {validmind-2.0.7 → validmind-2.1.1}/validmind/tests/data_validation/IsolationForestOutliers.py +0 -0
  210. {validmind-2.0.7 → validmind-2.1.1}/validmind/tests/data_validation/LaggedCorrelationHeatmap.py +0 -0
  211. {validmind-2.0.7 → validmind-2.1.1}/validmind/tests/data_validation/MissingValues.py +0 -0
  212. {validmind-2.0.7 → validmind-2.1.1}/validmind/tests/data_validation/MissingValuesBarPlot.py +0 -0
  213. {validmind-2.0.7 → validmind-2.1.1}/validmind/tests/data_validation/MissingValuesRisk.py +0 -0
  214. {validmind-2.0.7 → validmind-2.1.1}/validmind/tests/data_validation/PearsonCorrelationMatrix.py +0 -0
  215. {validmind-2.0.7 → validmind-2.1.1}/validmind/tests/data_validation/PiTPDHistogram.py +0 -0
  216. {validmind-2.0.7 → validmind-2.1.1}/validmind/tests/data_validation/RollingStatsPlot.py +0 -0
  217. {validmind-2.0.7 → validmind-2.1.1}/validmind/tests/data_validation/SeasonalDecompose.py +0 -0
  218. {validmind-2.0.7 → validmind-2.1.1}/validmind/tests/data_validation/Skewness.py +0 -0
  219. {validmind-2.0.7 → validmind-2.1.1}/validmind/tests/data_validation/SpreadPlot.py +0 -0
  220. {validmind-2.0.7 → validmind-2.1.1}/validmind/tests/data_validation/TabularCategoricalBarPlots.py +0 -0
  221. {validmind-2.0.7 → validmind-2.1.1}/validmind/tests/data_validation/TabularDateTimeHistograms.py +0 -0
  222. {validmind-2.0.7 → validmind-2.1.1}/validmind/tests/data_validation/TabularDescriptionTables.py +0 -0
  223. {validmind-2.0.7 → validmind-2.1.1}/validmind/tests/data_validation/TabularNumericalHistograms.py +0 -0
  224. {validmind-2.0.7 → validmind-2.1.1}/validmind/tests/data_validation/TargetRateBarPlots.py +0 -0
  225. {validmind-2.0.7 → validmind-2.1.1}/validmind/tests/data_validation/TimeSeriesFrequency.py +0 -0
  226. {validmind-2.0.7 → validmind-2.1.1}/validmind/tests/data_validation/TimeSeriesHistogram.py +0 -0
  227. {validmind-2.0.7 → validmind-2.1.1}/validmind/tests/data_validation/TimeSeriesLinePlot.py +0 -0
  228. {validmind-2.0.7 → validmind-2.1.1}/validmind/tests/data_validation/TimeSeriesMissingValues.py +0 -0
  229. {validmind-2.0.7 → validmind-2.1.1}/validmind/tests/data_validation/TimeSeriesOutliers.py +0 -0
  230. {validmind-2.0.7 → validmind-2.1.1}/validmind/tests/data_validation/TooManyZeroValues.py +0 -0
  231. {validmind-2.0.7 → validmind-2.1.1}/validmind/tests/data_validation/UniqueRows.py +0 -0
  232. {validmind-2.0.7 → validmind-2.1.1}/validmind/tests/data_validation/WOEBinPlots.py +0 -0
  233. {validmind-2.0.7 → validmind-2.1.1}/validmind/tests/data_validation/WOEBinTable.py +0 -0
  234. {validmind-2.0.7 → validmind-2.1.1}/validmind/tests/data_validation/__init__.py +0 -0
  235. {validmind-2.0.7 → validmind-2.1.1}/validmind/tests/data_validation/nlp/CommonWords.py +0 -0
  236. {validmind-2.0.7 → validmind-2.1.1}/validmind/tests/data_validation/nlp/Hashtags.py +0 -0
  237. {validmind-2.0.7 → validmind-2.1.1}/validmind/tests/data_validation/nlp/Mentions.py +0 -0
  238. {validmind-2.0.7 → validmind-2.1.1}/validmind/tests/data_validation/nlp/Punctuations.py +0 -0
  239. {validmind-2.0.7 → validmind-2.1.1}/validmind/tests/data_validation/nlp/StopWords.py +0 -0
  240. {validmind-2.0.7 → validmind-2.1.1}/validmind/tests/data_validation/nlp/TextDescription.py +0 -0
  241. {validmind-2.0.7 → validmind-2.1.1}/validmind/tests/data_validation/nlp/__init__.py +0 -0
  242. {validmind-2.0.7 → validmind-2.1.1}/validmind/tests/model_validation/ModelMetadata.py +0 -0
  243. {validmind-2.0.7 → validmind-2.1.1}/validmind/tests/model_validation/__init__.py +0 -0
  244. {validmind-2.0.7 → validmind-2.1.1}/validmind/tests/model_validation/embeddings/StabilityAnalysis.py +0 -0
  245. {validmind-2.0.7 → validmind-2.1.1}/validmind/tests/model_validation/embeddings/StabilityAnalysisKeyword.py +0 -0
  246. {validmind-2.0.7 → validmind-2.1.1}/validmind/tests/model_validation/embeddings/StabilityAnalysisRandomNoise.py +0 -0
  247. {validmind-2.0.7 → validmind-2.1.1}/validmind/tests/model_validation/embeddings/StabilityAnalysisSynonyms.py +0 -0
  248. {validmind-2.0.7 → validmind-2.1.1}/validmind/tests/model_validation/embeddings/StabilityAnalysisTranslation.py +0 -0
  249. {validmind-2.0.7 → validmind-2.1.1}/validmind/tests/model_validation/sklearn/AdjustedMutualInformation.py +0 -0
  250. {validmind-2.0.7 → validmind-2.1.1}/validmind/tests/model_validation/sklearn/AdjustedRandIndex.py +0 -0
  251. {validmind-2.0.7 → validmind-2.1.1}/validmind/tests/model_validation/sklearn/ClusterPerformanceMetrics.py +0 -0
  252. {validmind-2.0.7 → validmind-2.1.1}/validmind/tests/model_validation/sklearn/CompletenessScore.py +0 -0
  253. {validmind-2.0.7 → validmind-2.1.1}/validmind/tests/model_validation/sklearn/FowlkesMallowsScore.py +0 -0
  254. {validmind-2.0.7 → validmind-2.1.1}/validmind/tests/model_validation/sklearn/HomogeneityScore.py +0 -0
  255. {validmind-2.0.7 → validmind-2.1.1}/validmind/tests/model_validation/sklearn/HyperParametersTuning.py +0 -0
  256. {validmind-2.0.7 → validmind-2.1.1}/validmind/tests/model_validation/sklearn/KMeansClustersOptimization.py +0 -0
  257. {validmind-2.0.7 → validmind-2.1.1}/validmind/tests/model_validation/sklearn/PermutationFeatureImportance.py +0 -0
  258. {validmind-2.0.7 → validmind-2.1.1}/validmind/tests/model_validation/sklearn/PopulationStabilityIndex.py +0 -0
  259. {validmind-2.0.7 → validmind-2.1.1}/validmind/tests/model_validation/sklearn/PrecisionRecallCurve.py +0 -0
  260. {validmind-2.0.7 → validmind-2.1.1}/validmind/tests/model_validation/sklearn/RobustnessDiagnosis.py +0 -0
  261. {validmind-2.0.7 → validmind-2.1.1}/validmind/tests/model_validation/sklearn/VMeasure.py +0 -0
  262. {validmind-2.0.7 → validmind-2.1.1}/validmind/tests/model_validation/sklearn/__init__.py +0 -0
  263. {validmind-2.0.7 → validmind-2.1.1}/validmind/tests/model_validation/statsmodels/ADF.py +0 -0
  264. {validmind-2.0.7 → validmind-2.1.1}/validmind/tests/model_validation/statsmodels/ADFTest.py +0 -0
  265. {validmind-2.0.7 → validmind-2.1.1}/validmind/tests/model_validation/statsmodels/AutoARIMA.py +0 -0
  266. {validmind-2.0.7 → validmind-2.1.1}/validmind/tests/model_validation/statsmodels/BoxPierce.py +0 -0
  267. {validmind-2.0.7 → validmind-2.1.1}/validmind/tests/model_validation/statsmodels/DFGLSArch.py +0 -0
  268. {validmind-2.0.7 → validmind-2.1.1}/validmind/tests/model_validation/statsmodels/DurbinWatsonTest.py +0 -0
  269. {validmind-2.0.7 → validmind-2.1.1}/validmind/tests/model_validation/statsmodels/FeatureImportanceAndSignificance.py +0 -0
  270. {validmind-2.0.7 → validmind-2.1.1}/validmind/tests/model_validation/statsmodels/JarqueBera.py +0 -0
  271. {validmind-2.0.7 → validmind-2.1.1}/validmind/tests/model_validation/statsmodels/KPSS.py +0 -0
  272. {validmind-2.0.7 → validmind-2.1.1}/validmind/tests/model_validation/statsmodels/KolmogorovSmirnov.py +0 -0
  273. {validmind-2.0.7 → validmind-2.1.1}/validmind/tests/model_validation/statsmodels/LJungBox.py +0 -0
  274. {validmind-2.0.7 → validmind-2.1.1}/validmind/tests/model_validation/statsmodels/Lilliefors.py +0 -0
  275. {validmind-2.0.7 → validmind-2.1.1}/validmind/tests/model_validation/statsmodels/PDRatingClassPlot.py +0 -0
  276. {validmind-2.0.7 → validmind-2.1.1}/validmind/tests/model_validation/statsmodels/PhillipsPerronArch.py +0 -0
  277. {validmind-2.0.7 → validmind-2.1.1}/validmind/tests/model_validation/statsmodels/RegressionCoeffsPlot.py +0 -0
  278. {validmind-2.0.7 → validmind-2.1.1}/validmind/tests/model_validation/statsmodels/RegressionFeatureSignificance.py +0 -0
  279. {validmind-2.0.7 → validmind-2.1.1}/validmind/tests/model_validation/statsmodels/RegressionModelSensitivityPlot.py +0 -0
  280. {validmind-2.0.7 → validmind-2.1.1}/validmind/tests/model_validation/statsmodels/RegressionModelsCoeffs.py +0 -0
  281. {validmind-2.0.7 → validmind-2.1.1}/validmind/tests/model_validation/statsmodels/ResidualsVisualInspection.py +0 -0
  282. {validmind-2.0.7 → validmind-2.1.1}/validmind/tests/model_validation/statsmodels/RunsTest.py +0 -0
  283. {validmind-2.0.7 → validmind-2.1.1}/validmind/tests/model_validation/statsmodels/ShapiroWilk.py +0 -0
  284. {validmind-2.0.7 → validmind-2.1.1}/validmind/tests/model_validation/statsmodels/ZivotAndrewsArch.py +0 -0
  285. {validmind-2.0.7 → validmind-2.1.1}/validmind/tests/model_validation/statsmodels/__init__.py +0 -0
  286. {validmind-2.0.7 → validmind-2.1.1}/validmind/tests/model_validation/statsmodels/statsutils.py +0 -0
  287. {validmind-2.0.7 → validmind-2.1.1}/validmind/tests/prompt_validation/Bias.py +0 -0
  288. {validmind-2.0.7 → validmind-2.1.1}/validmind/tests/prompt_validation/Clarity.py +0 -0
  289. {validmind-2.0.7 → validmind-2.1.1}/validmind/tests/prompt_validation/Conciseness.py +0 -0
  290. {validmind-2.0.7 → validmind-2.1.1}/validmind/tests/prompt_validation/Delimitation.py +0 -0
  291. {validmind-2.0.7 → validmind-2.1.1}/validmind/tests/prompt_validation/NegativeInstruction.py +0 -0
  292. {validmind-2.0.7 → validmind-2.1.1}/validmind/tests/prompt_validation/Robustness.py +0 -0
  293. {validmind-2.0.7 → validmind-2.1.1}/validmind/tests/prompt_validation/Specificity.py +0 -0
  294. {validmind-2.0.7 → validmind-2.1.1}/validmind/tests/prompt_validation/__init__.py +0 -0
  295. {validmind-2.0.7 → validmind-2.1.1}/validmind/tests/prompt_validation/ai_powered_test.py +0 -0
  296. {validmind-2.0.7 → validmind-2.1.1}/validmind/vm_models/figure.py +0 -0
  297. {validmind-2.0.7 → validmind-2.1.1}/validmind/vm_models/model.py +0 -0
  298. {validmind-2.0.7 → validmind-2.1.1}/validmind/vm_models/test/metric_result.py +0 -0
  299. {validmind-2.0.7 → validmind-2.1.1}/validmind/vm_models/test/output_template.py +0 -0
  300. {validmind-2.0.7 → validmind-2.1.1}/validmind/vm_models/test/result_summary.py +0 -0
  301. {validmind-2.0.7 → validmind-2.1.1}/validmind/vm_models/test/threshold_test_result.py +0 -0
  302. {validmind-2.0.7 → validmind-2.1.1}/validmind/vm_models/test_context.py +0 -0
  303. {validmind-2.0.7 → validmind-2.1.1}/validmind/vm_models/test_suite/runner.py +0 -0
  304. {validmind-2.0.7 → validmind-2.1.1}/validmind/vm_models/test_suite/test.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: validmind
3
- Version: 2.0.7
3
+ Version: 2.1.1
4
4
  Summary: ValidMind Developer Framework
5
5
  License: Commercial License
6
6
  Author: Andres Rodriguez
@@ -27,23 +27,27 @@ Requires-Dist: ipywidgets (>=8.0.6,<9.0.0)
27
27
  Requires-Dist: kaleido (>=0.2.1,<0.3.0,!=0.2.1.post1)
28
28
  Requires-Dist: langdetect (>=1.0.9,<2.0.0)
29
29
  Requires-Dist: levenshtein (>=0.21.1,<0.22.0) ; extra == "all" or extra == "llm"
30
- Requires-Dist: markdown (>=3.4.3,<4.0.0)
30
+ Requires-Dist: llvmlite (>=0.42.0) ; python_version >= "3.12"
31
+ Requires-Dist: llvmlite ; python_version >= "3.8" and python_full_version <= "3.11.0"
31
32
  Requires-Dist: matplotlib (<3.8.3)
33
+ Requires-Dist: mistune (>=3.0.2,<4.0.0)
32
34
  Requires-Dist: nltk (>=3.8.1,<4.0.0)
33
35
  Requires-Dist: numba (<0.59.0)
34
- Requires-Dist: numpy (>=1.23.3,<2.0.0)
36
+ Requires-Dist: numpy (>=1.23.3,<2.0.0) ; python_version >= "3.8" and python_full_version <= "3.11.0"
37
+ Requires-Dist: numpy (>=1.26.0) ; python_version >= "3.12"
35
38
  Requires-Dist: openai (>=1.3.7,<2.0.0) ; extra == "all" or extra == "llm"
36
- Requires-Dist: pandas (==1.5.3)
39
+ Requires-Dist: pandas (>=1.1,<2)
37
40
  Requires-Dist: plotly (>=5.14.1,<6.0.0)
38
41
  Requires-Dist: plotly-express (>=0.4.1,<0.5.0)
39
42
  Requires-Dist: polars (>=0.20.15,<0.21.0)
40
43
  Requires-Dist: pycocoevalcap (>=1.2,<2.0) ; extra == "all" or extra == "llm"
41
44
  Requires-Dist: pypmml (>=0.9.17,<0.10.0)
42
45
  Requires-Dist: python-dotenv (>=0.20.0,<0.21.0)
43
- Requires-Dist: requests (>=2.27.1,<3.0.0)
44
46
  Requires-Dist: rouge (>=1.0.1,<2.0.0)
45
47
  Requires-Dist: rpy2 (>=3.5.10,<4.0.0) ; extra == "all" or extra == "r-support"
46
48
  Requires-Dist: scikit-learn (>=1.0.2,<2.0.0)
49
+ Requires-Dist: scipy (>=1.12) ; python_version >= "3.12"
50
+ Requires-Dist: scipy ; python_version >= "3.8" and python_full_version <= "3.11.0"
47
51
  Requires-Dist: scorecardpy (>=0.1.9.6,<0.2.0.0)
48
52
  Requires-Dist: seaborn (>=0.11.2,<0.12.0)
49
53
  Requires-Dist: selfcheckgpt (>=0.1.7,<0.2.0)
@@ -56,7 +60,7 @@ Requires-Dist: torch (>=1.10.0) ; extra == "all" or extra == "llm" or extra == "
56
60
  Requires-Dist: torchmetrics (>=1.1.1,<2.0.0) ; extra == "all" or extra == "llm"
57
61
  Requires-Dist: tqdm (>=4.64.0,<5.0.0)
58
62
  Requires-Dist: transformers (>=4.32.0,<5.0.0) ; extra == "all" or extra == "llm" or extra == "transformers"
59
- Requires-Dist: xgboost (>=1.5.2,<2.0.0)
63
+ Requires-Dist: xgboost (>=1.5.2,<3)
60
64
  Requires-Dist: ydata-profiling (>=4.7.0,<5.0.0)
61
65
  Description-Content-Type: text/markdown
62
66
 
@@ -10,7 +10,7 @@ description = "ValidMind Developer Framework"
10
10
  license = "Commercial License"
11
11
  name = "validmind"
12
12
  readme = "README.pypi.md"
13
- version = "2.0.7"
13
+ version = "2.1.1"
14
14
 
15
15
  [tool.poetry.dependencies]
16
16
  aiohttp = {extras = ["speedups"], version = "^3.8.4"}
@@ -23,13 +23,20 @@ ipywidgets = "^8.0.6"
23
23
  kaleido = "^0.2.1,!=0.2.1.post1"
24
24
  langdetect = "^1.0.9"
25
25
  levenshtein = {version = "^0.21.1", optional = true}
26
- markdown = "^3.4.3"
26
+ llvmlite = [
27
+ {version = "*", python = ">=3.8,<=3.11"},
28
+ {version = ">=0.42.0", python = ">=3.12"},
29
+ ]
27
30
  matplotlib = "<3.8.3"
31
+ mistune = "^3.0.2"
28
32
  nltk = "^3.8.1"
29
33
  numba = "<0.59.0" # TODO: https://github.com/validmind/developer-framework/pull/28
30
- numpy = "^1.23.3"
34
+ numpy = [
35
+ {version = "^1.23.3", python = ">=3.8,<=3.11"},
36
+ {version = ">=1.26.0", python = ">=3.12"},
37
+ ]
31
38
  openai = {version = "^1.3.7", optional = true}
32
- pandas = "1.5.3"
39
+ pandas = ">=1.1,<2" # TODO small issues blocking 2.0 but it would speed things up to use arrow backend
33
40
  plotly = "^5.14.1"
34
41
  plotly-express = "^0.4.1"
35
42
  polars = "^0.20.15"
@@ -37,10 +44,13 @@ pycocoevalcap = {version = "^1.2", optional = true}
37
44
  pypmml = "^0.9.17"
38
45
  python = ">=3.8,<3.12"
39
46
  python-dotenv = "^0.20.0"
40
- requests = "^2.27.1"
41
47
  rouge = "^1.0.1"
42
48
  rpy2 = {version = "^3.5.10", optional = true}
43
49
  scikit-learn = "^1.0.2"
50
+ scipy = [
51
+ {version = "*", python = ">=3.8,<=3.11"},
52
+ {version = ">=1.12", python = ">=3.12"},
53
+ ]
44
54
  scorecardpy = "^0.1.9.6"
45
55
  seaborn = "^0.11.2"
46
56
  selfcheckgpt = "^0.1.7"
@@ -53,7 +63,7 @@ torch = {version = ">=1.10.0", optional = true}
53
63
  torchmetrics = {version = "^1.1.1", optional = true}
54
64
  tqdm = "^4.64.0"
55
65
  transformers = {version = "^4.32.0", optional = true}
56
- xgboost = "^1.5.2"
66
+ xgboost = ">=1.5.2,<3"
57
67
  ydata-profiling = "^4.7.0"
58
68
 
59
69
  [tool.poetry.group.dev.dependencies]
@@ -60,8 +60,7 @@ from .client import ( # noqa: E402
60
60
  run_documentation_tests,
61
61
  run_test_suite,
62
62
  )
63
- from .tests.decorator import metric
64
- from .unit_metrics import run_metric
63
+ from .tests.decorator import metric, tags, tasks
65
64
  from .utils import run_async # noqa: E402
66
65
 
67
66
 
@@ -111,6 +110,8 @@ __all__ = [ # noqa
111
110
  "reload",
112
111
  "run_documentation_tests",
113
112
  "run_test_suite",
113
+ "tags",
114
+ "tasks",
114
115
  "tests",
115
116
  "test_suites",
116
117
  "vm_models",
@@ -119,5 +120,4 @@ __all__ = [ # noqa
119
120
  "log_figure",
120
121
  "log_metrics",
121
122
  "log_test_results",
122
- "run_metric",
123
123
  ]
@@ -0,0 +1 @@
1
+ __version__ = "2.1.1"
@@ -7,8 +7,6 @@ import os
7
7
 
8
8
  from openai import AzureOpenAI, OpenAI
9
9
 
10
- from .utils import clean_docstring
11
-
12
10
  SYSTEM_PROMPT = """
13
11
  You are an expert data scientist and MRM specialist tasked with providing concise and'
14
12
  objective insights based on the results of quantitative model or dataset analysis.
@@ -23,22 +21,20 @@ Your analysis will act as the description of the result in the model documentati
23
21
 
24
22
  Avoid long sentences and complex vocabulary.
25
23
  Structure the response clearly and logically.
26
- Use Markdown syntax to format the response.
24
+ Use valid Markdown syntax to format the response (tables are supported).
27
25
  Use the Test ID that is provided to form the Test Name e.g. "ClassImbalance" -> "Class Imbalance".
28
- Use the following format for the response:
26
+ Use the following format for the response (feel free to modify slightly if necessary):
29
27
  ```
30
28
  **<Test Name>** <continue to explain what it does in detail>...
31
29
 
32
30
  The results of this test <detailed explanation of the results>...
33
31
 
34
- In summary the following key insights can be gained from this <Test Type>
32
+ In summary the following key insights can be gained:
35
33
 
36
34
  - **<key insight 1 - title>**: <explanation of key insight 1>
37
35
  - ...<continue with any other key insights using the same format>
38
36
  ```
39
37
  It is very important that the text is nicely formatted and contains enough information to be useful to the user as documentation.
40
-
41
- - use valid markdown syntax: make sure to have two newlines between paragraphs and before bullet points etc.
42
38
  """.strip()
43
39
  USER_PROMPT = """
44
40
  Test ID: {test_name}
@@ -71,7 +67,7 @@ def __get_client_and_model():
71
67
 
72
68
  if "OPENAI_API_KEY" in os.environ:
73
69
  __client = OpenAI(api_key=os.environ.get("OPENAI_API_KEY"))
74
- __model = os.environ.get("VM_OPENAI_MODEL", "gpt-4-turbo-preview")
70
+ __model = os.environ.get("VM_OPENAI_MODEL", "gpt-4-turbo")
75
71
 
76
72
  elif "AZURE_OPENAI_KEY" in os.environ:
77
73
  if "AZURE_OPENAI_ENDPOINT" not in os.environ:
@@ -111,7 +107,7 @@ class DescriptionFuture:
111
107
 
112
108
  def get_description(self):
113
109
  # This will block until the future is completed
114
- return clean_docstring(self._future.result())
110
+ return self._future.result()
115
111
 
116
112
 
117
113
  def generate_description_async(
@@ -132,7 +128,7 @@ def generate_description_async(
132
128
  raise ValueError("No results, summary or figures provided")
133
129
 
134
130
  response = client.chat.completions.create(
135
- model="gpt-4-1106-vision-preview",
131
+ model="gpt-4-turbo",
136
132
  messages=[
137
133
  {"role": "system", "content": SYSTEM_PROMPT},
138
134
  {
@@ -160,7 +156,7 @@ def generate_description_async(
160
156
  )
161
157
  else:
162
158
  response = client.chat.completions.create(
163
- model="gpt-4-turbo-preview",
159
+ model="gpt-4-turbo",
164
160
  messages=[
165
161
  {"role": "system", "content": SYSTEM_PROMPT},
166
162
  {
@@ -16,6 +16,7 @@ from io import BytesIO
16
16
  from typing import Any, Callable, Dict, List, Optional, Tuple, Union
17
17
 
18
18
  import aiohttp
19
+ import mistune
19
20
  import requests
20
21
  from aiohttp import FormData
21
22
 
@@ -294,32 +295,33 @@ async def log_figures(figures: List[Figure]) -> Dict[str, Any]:
294
295
  Returns:
295
296
  dict: The response from the API
296
297
  """
297
- if client_config.can_log_figures(): # check if the backend supports batch logging
298
- try:
299
- data = {}
300
- files = {}
301
- for figure in figures:
302
- data.update(
303
- {f"{k}-{figure.key}": v for k, v in figure.serialize().items()}
304
- )
305
- files.update(
306
- {
307
- f"{k}-{figure.key}": v
308
- for k, v in figure.serialize_files().items()
309
- }
310
- )
311
-
312
- return await _post(
313
- "log_figures",
314
- data=data,
315
- files=files,
316
- )
317
- except Exception as e:
318
- logger.error("Error logging figures to ValidMind API")
319
- raise e
320
-
321
- else:
322
- return await asyncio.gather(*[log_figure(figure) for figure in figures])
298
+ # this actually slows things down - better to log them in parallel
299
+ # if client_config.can_log_figures(): # check if the backend supports batch logging
300
+ # try:
301
+ # data = {}
302
+ # files = {}
303
+ # for figure in figures:
304
+ # data.update(
305
+ # {f"{k}-{figure.key}": v for k, v in figure.serialize().items()}
306
+ # )
307
+ # files.update(
308
+ # {
309
+ # f"{k}-{figure.key}": v
310
+ # for k, v in figure.serialize_files().items()
311
+ # }
312
+ # )
313
+
314
+ # return await _post(
315
+ # "log_figures",
316
+ # data=data,
317
+ # files=files,
318
+ # )
319
+ # except Exception as e:
320
+ # logger.error("Error logging figures to ValidMind API")
321
+ # raise e
322
+
323
+ # else:
324
+ return await asyncio.gather(*[log_figure(figure) for figure in figures])
323
325
 
324
326
 
325
327
  async def log_metadata(
@@ -342,7 +344,7 @@ async def log_metadata(
342
344
  """
343
345
  metadata_dict = {"content_id": content_id}
344
346
  if text is not None:
345
- metadata_dict["text"] = text
347
+ metadata_dict["text"] = mistune.html(text)
346
348
  if _json is not None:
347
349
  metadata_dict["json"] = _json
348
350
 
@@ -61,8 +61,13 @@ def init_dataset(
61
61
  """
62
62
  Initializes a VM Dataset, which can then be passed to other functions
63
63
  that can perform additional analysis and tests on the data. This function
64
- also ensures we are reading a valid dataset type. We only support Pandas
65
- DataFrames at the moment.
64
+ also ensures we are reading a valid dataset type.
65
+
66
+ The following dataset types are supported:
67
+ - Pandas DataFrame
68
+ - Polars DataFrame
69
+ - Numpy ndarray
70
+ - Torch TensorDataset
66
71
 
67
72
  Args:
68
73
  dataset : dataset from various python libraries
@@ -380,7 +385,7 @@ def preview_template():
380
385
 
381
386
 
382
387
  def run_documentation_tests(
383
- section=None, send=True, fail_fast=False, inputs=None, **kwargs
388
+ section=None, send=True, fail_fast=False, inputs=None, config=None, **kwargs
384
389
  ):
385
390
  """Collect and run all the tests associated with a template
386
391
 
@@ -393,6 +398,7 @@ def run_documentation_tests(
393
398
  send (bool, optional): Whether to send the results to the ValidMind API. Defaults to True.
394
399
  fail_fast (bool, optional): Whether to stop running tests after the first failure. Defaults to False.
395
400
  inputs (dict, optional): A dictionary of test inputs to pass to the TestSuite
401
+ config: A dictionary of test parameters to override the defaults
396
402
  **kwargs: backwards compatibility for passing in test inputs using keyword arguments
397
403
 
398
404
  Returns:
@@ -421,6 +427,7 @@ def run_documentation_tests(
421
427
  send=send,
422
428
  fail_fast=fail_fast,
423
429
  inputs=inputs,
430
+ config=config,
424
431
  **kwargs,
425
432
  )
426
433
  test_suites[_section] = test_suite
@@ -0,0 +1,11 @@
1
+ # Copyright © 2023-2024 ValidMind Inc. All rights reserved.
2
+ # See the LICENSE file in the root of this repository for details.
3
+ # SPDX-License-Identifier: AGPL-3.0 AND ValidMind Commercial
4
+
5
+ """
6
+ Entrypoint for credit risk datasets.
7
+ """
8
+
9
+ __all__ = [
10
+ "lending_club",
11
+ ]