validmind 2.10.1__tar.gz → 2.11.0__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 (372) hide show
  1. {validmind-2.10.1 → validmind-2.11.0}/PKG-INFO +4 -3
  2. {validmind-2.10.1 → validmind-2.11.0}/pyproject.toml +4 -3
  3. {validmind-2.10.1 → validmind-2.11.0}/validmind/__init__.py +1 -1
  4. validmind-2.11.0/validmind/__version__.py +1 -0
  5. {validmind-2.10.1 → validmind-2.11.0}/validmind/ai/test_descriptions.py +70 -19
  6. {validmind-2.10.1 → validmind-2.11.0}/validmind/api_client.py +9 -17
  7. {validmind-2.10.1 → validmind-2.11.0}/validmind/datasets/llm/agent_dataset.py +98 -125
  8. {validmind-2.10.1 → validmind-2.11.0}/validmind/logging.py +1 -60
  9. {validmind-2.10.1 → validmind-2.11.0}/validmind/scorer/classification/AbsoluteError.py +1 -2
  10. {validmind-2.10.1 → validmind-2.11.0}/validmind/scorer/classification/BrierScore.py +1 -2
  11. {validmind-2.10.1 → validmind-2.11.0}/validmind/scorer/classification/CalibrationError.py +1 -2
  12. {validmind-2.10.1 → validmind-2.11.0}/validmind/scorer/classification/ClassBalance.py +1 -2
  13. {validmind-2.10.1 → validmind-2.11.0}/validmind/scorer/classification/Confidence.py +1 -2
  14. {validmind-2.10.1 → validmind-2.11.0}/validmind/scorer/classification/Correctness.py +1 -2
  15. {validmind-2.10.1 → validmind-2.11.0}/validmind/scorer/classification/LogLoss.py +1 -4
  16. {validmind-2.10.1 → validmind-2.11.0}/validmind/scorer/classification/OutlierScore.py +1 -2
  17. {validmind-2.10.1 → validmind-2.11.0}/validmind/scorer/classification/ProbabilityError.py +1 -2
  18. {validmind-2.10.1 → validmind-2.11.0}/validmind/scorer/classification/Uncertainty.py +1 -2
  19. {validmind-2.10.1 → validmind-2.11.0}/validmind/scorer/llm/deepeval/AnswerRelevancy.py +2 -2
  20. validmind-2.11.0/validmind/scorer/llm/deepeval/Bias.py +103 -0
  21. validmind-2.11.0/validmind/scorer/llm/deepeval/ContextualPrecision.py +110 -0
  22. validmind-2.11.0/validmind/scorer/llm/deepeval/ContextualRecall.py +110 -0
  23. validmind-2.11.0/validmind/scorer/llm/deepeval/ContextualRelevancy.py +110 -0
  24. validmind-2.11.0/validmind/scorer/llm/deepeval/Faithfulness.py +110 -0
  25. validmind-2.11.0/validmind/scorer/llm/deepeval/GEval.py +145 -0
  26. validmind-2.11.0/validmind/scorer/llm/deepeval/Hallucination.py +110 -0
  27. validmind-2.11.0/validmind/scorer/llm/deepeval/Summarization.py +111 -0
  28. validmind-2.11.0/validmind/scorer/llm/deepeval/TaskCompletion.py +208 -0
  29. {validmind-2.10.1 → validmind-2.11.0}/validmind/template.py +106 -60
  30. {validmind-2.10.1 → validmind-2.11.0}/validmind/tests/data_validation/TooManyZeroValues.py +2 -2
  31. {validmind-2.10.1 → validmind-2.11.0}/validmind/tests/load.py +7 -7
  32. {validmind-2.10.1 → validmind-2.11.0}/validmind/tests/model_validation/sklearn/OverfitDiagnosis.py +1 -1
  33. {validmind-2.10.1 → validmind-2.11.0}/validmind/tests/model_validation/sklearn/PopulationStabilityIndex.py +2 -2
  34. {validmind-2.10.1 → validmind-2.11.0}/validmind/tests/model_validation/sklearn/RobustnessDiagnosis.py +2 -0
  35. {validmind-2.10.1 → validmind-2.11.0}/validmind/tests/model_validation/sklearn/TrainingTestDegradation.py +5 -5
  36. {validmind-2.10.1 → validmind-2.11.0}/validmind/tests/model_validation/sklearn/WeakspotsDiagnosis.py +1 -1
  37. {validmind-2.10.1 → validmind-2.11.0}/validmind/tests/model_validation/statsmodels/CumulativePredictionProbabilities.py +10 -15
  38. {validmind-2.10.1 → validmind-2.11.0}/validmind/tests/plots/BoxPlot.py +23 -10
  39. {validmind-2.10.1 → validmind-2.11.0}/validmind/tests/run.py +1 -0
  40. {validmind-2.10.1 → validmind-2.11.0}/validmind/utils.py +13 -5
  41. {validmind-2.10.1 → validmind-2.11.0}/validmind/vm_models/figure.py +19 -27
  42. validmind-2.11.0/validmind/vm_models/html_progress.py +170 -0
  43. validmind-2.11.0/validmind/vm_models/html_renderer.py +450 -0
  44. {validmind-2.10.1 → validmind-2.11.0}/validmind/vm_models/result/result.py +57 -67
  45. validmind-2.11.0/validmind/vm_models/result/utils.py +86 -0
  46. {validmind-2.10.1 → validmind-2.11.0}/validmind/vm_models/test_suite/runner.py +78 -33
  47. validmind-2.11.0/validmind/vm_models/test_suite/summary.py +136 -0
  48. validmind-2.10.1/validmind/__version__.py +0 -1
  49. validmind-2.10.1/validmind/vm_models/result/utils.py +0 -114
  50. validmind-2.10.1/validmind/vm_models/test_suite/summary.py +0 -187
  51. {validmind-2.10.1 → validmind-2.11.0}/LICENSE +0 -0
  52. {validmind-2.10.1 → validmind-2.11.0}/README.pypi.md +0 -0
  53. {validmind-2.10.1 → validmind-2.11.0}/validmind/ai/utils.py +0 -0
  54. {validmind-2.10.1 → validmind-2.11.0}/validmind/client.py +0 -0
  55. {validmind-2.10.1 → validmind-2.11.0}/validmind/client_config.py +0 -0
  56. {validmind-2.10.1 → validmind-2.11.0}/validmind/datasets/__init__.py +0 -0
  57. {validmind-2.10.1 → validmind-2.11.0}/validmind/datasets/classification/__init__.py +0 -0
  58. {validmind-2.10.1 → validmind-2.11.0}/validmind/datasets/classification/customer_churn.py +0 -0
  59. {validmind-2.10.1 → validmind-2.11.0}/validmind/datasets/classification/datasets/bank_customer_churn.csv +0 -0
  60. {validmind-2.10.1 → validmind-2.11.0}/validmind/datasets/classification/datasets/taiwan_credit.csv +0 -0
  61. {validmind-2.10.1 → validmind-2.11.0}/validmind/datasets/classification/taiwan_credit.py +0 -0
  62. {validmind-2.10.1 → validmind-2.11.0}/validmind/datasets/cluster/digits.py +0 -0
  63. {validmind-2.10.1 → validmind-2.11.0}/validmind/datasets/credit_risk/__init__.py +0 -0
  64. {validmind-2.10.1 → validmind-2.11.0}/validmind/datasets/credit_risk/datasets/lending_club_biased.csv.gz +0 -0
  65. {validmind-2.10.1 → validmind-2.11.0}/validmind/datasets/credit_risk/datasets/lending_club_loan_data_2007_2014_clean.csv.gz +0 -0
  66. {validmind-2.10.1 → validmind-2.11.0}/validmind/datasets/credit_risk/lending_club.py +0 -0
  67. {validmind-2.10.1 → validmind-2.11.0}/validmind/datasets/credit_risk/lending_club_bias.py +0 -0
  68. {validmind-2.10.1 → validmind-2.11.0}/validmind/datasets/llm/__init__.py +0 -0
  69. {validmind-2.10.1 → validmind-2.11.0}/validmind/datasets/llm/rag/__init__.py +0 -0
  70. {validmind-2.10.1 → validmind-2.11.0}/validmind/datasets/llm/rag/datasets/rfp_existing_questions_client_1.csv +0 -0
  71. {validmind-2.10.1 → validmind-2.11.0}/validmind/datasets/llm/rag/datasets/rfp_existing_questions_client_2.csv +0 -0
  72. {validmind-2.10.1 → validmind-2.11.0}/validmind/datasets/llm/rag/datasets/rfp_existing_questions_client_3.csv +0 -0
  73. {validmind-2.10.1 → validmind-2.11.0}/validmind/datasets/llm/rag/datasets/rfp_existing_questions_client_4.csv +0 -0
  74. {validmind-2.10.1 → validmind-2.11.0}/validmind/datasets/llm/rag/datasets/rfp_existing_questions_client_5.csv +0 -0
  75. {validmind-2.10.1 → validmind-2.11.0}/validmind/datasets/llm/rag/rfp.py +0 -0
  76. {validmind-2.10.1 → validmind-2.11.0}/validmind/datasets/nlp/__init__.py +0 -0
  77. {validmind-2.10.1 → validmind-2.11.0}/validmind/datasets/nlp/cnn_dailymail.py +0 -0
  78. {validmind-2.10.1 → validmind-2.11.0}/validmind/datasets/nlp/datasets/Covid_19.csv +0 -0
  79. {validmind-2.10.1 → validmind-2.11.0}/validmind/datasets/nlp/datasets/cnn_dailymail_100_with_predictions.csv +0 -0
  80. {validmind-2.10.1 → validmind-2.11.0}/validmind/datasets/nlp/datasets/cnn_dailymail_500_with_predictions.csv +0 -0
  81. {validmind-2.10.1 → validmind-2.11.0}/validmind/datasets/nlp/datasets/sentiments_with_predictions.csv +0 -0
  82. {validmind-2.10.1 → validmind-2.11.0}/validmind/datasets/nlp/twitter_covid_19.py +0 -0
  83. {validmind-2.10.1 → validmind-2.11.0}/validmind/datasets/regression/__init__.py +0 -0
  84. {validmind-2.10.1 → validmind-2.11.0}/validmind/datasets/regression/california_housing.py +0 -0
  85. {validmind-2.10.1 → validmind-2.11.0}/validmind/datasets/regression/datasets/fred/CPIAUCSL.csv +0 -0
  86. {validmind-2.10.1 → validmind-2.11.0}/validmind/datasets/regression/datasets/fred/CSUSHPISA.csv +0 -0
  87. {validmind-2.10.1 → validmind-2.11.0}/validmind/datasets/regression/datasets/fred/DRSFRMACBS.csv +0 -0
  88. {validmind-2.10.1 → validmind-2.11.0}/validmind/datasets/regression/datasets/fred/FEDFUNDS.csv +0 -0
  89. {validmind-2.10.1 → validmind-2.11.0}/validmind/datasets/regression/datasets/fred/GDP.csv +0 -0
  90. {validmind-2.10.1 → validmind-2.11.0}/validmind/datasets/regression/datasets/fred/GDPC1.csv +0 -0
  91. {validmind-2.10.1 → validmind-2.11.0}/validmind/datasets/regression/datasets/fred/GS10.csv +0 -0
  92. {validmind-2.10.1 → validmind-2.11.0}/validmind/datasets/regression/datasets/fred/GS3.csv +0 -0
  93. {validmind-2.10.1 → validmind-2.11.0}/validmind/datasets/regression/datasets/fred/GS5.csv +0 -0
  94. {validmind-2.10.1 → validmind-2.11.0}/validmind/datasets/regression/datasets/fred/MORTGAGE30US.csv +0 -0
  95. {validmind-2.10.1 → validmind-2.11.0}/validmind/datasets/regression/datasets/fred/UNRATE.csv +0 -0
  96. {validmind-2.10.1 → validmind-2.11.0}/validmind/datasets/regression/datasets/fred_loan_rates.csv +0 -0
  97. {validmind-2.10.1 → validmind-2.11.0}/validmind/datasets/regression/datasets/fred_loan_rates_test_1.csv +0 -0
  98. {validmind-2.10.1 → validmind-2.11.0}/validmind/datasets/regression/datasets/fred_loan_rates_test_2.csv +0 -0
  99. {validmind-2.10.1 → validmind-2.11.0}/validmind/datasets/regression/datasets/fred_loan_rates_test_3.csv +0 -0
  100. {validmind-2.10.1 → validmind-2.11.0}/validmind/datasets/regression/datasets/fred_loan_rates_test_4.csv +0 -0
  101. {validmind-2.10.1 → validmind-2.11.0}/validmind/datasets/regression/datasets/fred_loan_rates_test_5.csv +0 -0
  102. {validmind-2.10.1 → validmind-2.11.0}/validmind/datasets/regression/datasets/leanding_club_loan_rates.csv +0 -0
  103. {validmind-2.10.1 → validmind-2.11.0}/validmind/datasets/regression/fred.py +0 -0
  104. {validmind-2.10.1 → validmind-2.11.0}/validmind/datasets/regression/fred_timeseries.py +0 -0
  105. {validmind-2.10.1 → validmind-2.11.0}/validmind/datasets/regression/lending_club.py +0 -0
  106. {validmind-2.10.1 → validmind-2.11.0}/validmind/datasets/regression/models/fred_loan_rates_model_1.pkl +0 -0
  107. {validmind-2.10.1 → validmind-2.11.0}/validmind/datasets/regression/models/fred_loan_rates_model_2.pkl +0 -0
  108. {validmind-2.10.1 → validmind-2.11.0}/validmind/datasets/regression/models/fred_loan_rates_model_3.pkl +0 -0
  109. {validmind-2.10.1 → validmind-2.11.0}/validmind/datasets/regression/models/fred_loan_rates_model_4.pkl +0 -0
  110. {validmind-2.10.1 → validmind-2.11.0}/validmind/datasets/regression/models/fred_loan_rates_model_5.pkl +0 -0
  111. {validmind-2.10.1 → validmind-2.11.0}/validmind/errors.py +0 -0
  112. {validmind-2.10.1 → validmind-2.11.0}/validmind/experimental/__init__.py +0 -0
  113. {validmind-2.10.1 → validmind-2.11.0}/validmind/experimental/agents.py +0 -0
  114. {validmind-2.10.1 → validmind-2.11.0}/validmind/html_templates/__init__.py +0 -0
  115. {validmind-2.10.1 → validmind-2.11.0}/validmind/html_templates/content_blocks.py +0 -0
  116. {validmind-2.10.1 → validmind-2.11.0}/validmind/input_registry.py +0 -0
  117. {validmind-2.10.1 → validmind-2.11.0}/validmind/models/__init__.py +0 -0
  118. {validmind-2.10.1 → validmind-2.11.0}/validmind/models/foundation.py +0 -0
  119. {validmind-2.10.1 → validmind-2.11.0}/validmind/models/function.py +0 -0
  120. {validmind-2.10.1 → validmind-2.11.0}/validmind/models/huggingface.py +0 -0
  121. {validmind-2.10.1 → validmind-2.11.0}/validmind/models/metadata.py +0 -0
  122. {validmind-2.10.1 → validmind-2.11.0}/validmind/models/pipeline.py +0 -0
  123. {validmind-2.10.1 → validmind-2.11.0}/validmind/models/pytorch.py +0 -0
  124. {validmind-2.10.1 → validmind-2.11.0}/validmind/models/r_model.py +0 -0
  125. {validmind-2.10.1 → validmind-2.11.0}/validmind/models/sklearn.py +0 -0
  126. {validmind-2.10.1 → validmind-2.11.0}/validmind/scorer/__init__.py +0 -0
  127. {validmind-2.10.1 → validmind-2.11.0}/validmind/scorer/classification/__init__.py +0 -0
  128. {validmind-2.10.1 → validmind-2.11.0}/validmind/scorer/llm/deepeval/__init__.py +0 -0
  129. {validmind-2.10.1 → validmind-2.11.0}/validmind/test_suites/__init__.py +0 -0
  130. {validmind-2.10.1 → validmind-2.11.0}/validmind/test_suites/classifier.py +0 -0
  131. {validmind-2.10.1 → validmind-2.11.0}/validmind/test_suites/cluster.py +0 -0
  132. {validmind-2.10.1 → validmind-2.11.0}/validmind/test_suites/embeddings.py +0 -0
  133. {validmind-2.10.1 → validmind-2.11.0}/validmind/test_suites/llm.py +0 -0
  134. {validmind-2.10.1 → validmind-2.11.0}/validmind/test_suites/nlp.py +0 -0
  135. {validmind-2.10.1 → validmind-2.11.0}/validmind/test_suites/parameters_optimization.py +0 -0
  136. {validmind-2.10.1 → validmind-2.11.0}/validmind/test_suites/regression.py +0 -0
  137. {validmind-2.10.1 → validmind-2.11.0}/validmind/test_suites/statsmodels_timeseries.py +0 -0
  138. {validmind-2.10.1 → validmind-2.11.0}/validmind/test_suites/summarization.py +0 -0
  139. {validmind-2.10.1 → validmind-2.11.0}/validmind/test_suites/tabular_datasets.py +0 -0
  140. {validmind-2.10.1 → validmind-2.11.0}/validmind/test_suites/text_data.py +0 -0
  141. {validmind-2.10.1 → validmind-2.11.0}/validmind/test_suites/time_series.py +0 -0
  142. {validmind-2.10.1 → validmind-2.11.0}/validmind/tests/__init__.py +0 -0
  143. {validmind-2.10.1 → validmind-2.11.0}/validmind/tests/__types__.py +0 -0
  144. {validmind-2.10.1 → validmind-2.11.0}/validmind/tests/_store.py +0 -0
  145. {validmind-2.10.1 → validmind-2.11.0}/validmind/tests/comparison.py +0 -0
  146. {validmind-2.10.1 → validmind-2.11.0}/validmind/tests/data_validation/ACFandPACFPlot.py +0 -0
  147. {validmind-2.10.1 → validmind-2.11.0}/validmind/tests/data_validation/ADF.py +0 -0
  148. {validmind-2.10.1 → validmind-2.11.0}/validmind/tests/data_validation/AutoAR.py +0 -0
  149. {validmind-2.10.1 → validmind-2.11.0}/validmind/tests/data_validation/AutoMA.py +0 -0
  150. {validmind-2.10.1 → validmind-2.11.0}/validmind/tests/data_validation/AutoStationarity.py +0 -0
  151. {validmind-2.10.1 → validmind-2.11.0}/validmind/tests/data_validation/BivariateScatterPlots.py +0 -0
  152. {validmind-2.10.1 → validmind-2.11.0}/validmind/tests/data_validation/BoxPierce.py +0 -0
  153. {validmind-2.10.1 → validmind-2.11.0}/validmind/tests/data_validation/ChiSquaredFeaturesTable.py +0 -0
  154. {validmind-2.10.1 → validmind-2.11.0}/validmind/tests/data_validation/ClassImbalance.py +0 -0
  155. {validmind-2.10.1 → validmind-2.11.0}/validmind/tests/data_validation/DatasetDescription.py +0 -0
  156. {validmind-2.10.1 → validmind-2.11.0}/validmind/tests/data_validation/DatasetSplit.py +0 -0
  157. {validmind-2.10.1 → validmind-2.11.0}/validmind/tests/data_validation/DescriptiveStatistics.py +0 -0
  158. {validmind-2.10.1 → validmind-2.11.0}/validmind/tests/data_validation/DickeyFullerGLS.py +0 -0
  159. {validmind-2.10.1 → validmind-2.11.0}/validmind/tests/data_validation/Duplicates.py +0 -0
  160. {validmind-2.10.1 → validmind-2.11.0}/validmind/tests/data_validation/EngleGrangerCoint.py +0 -0
  161. {validmind-2.10.1 → validmind-2.11.0}/validmind/tests/data_validation/FeatureTargetCorrelationPlot.py +0 -0
  162. {validmind-2.10.1 → validmind-2.11.0}/validmind/tests/data_validation/HighCardinality.py +0 -0
  163. {validmind-2.10.1 → validmind-2.11.0}/validmind/tests/data_validation/HighPearsonCorrelation.py +0 -0
  164. {validmind-2.10.1 → validmind-2.11.0}/validmind/tests/data_validation/IQROutliersBarPlot.py +0 -0
  165. {validmind-2.10.1 → validmind-2.11.0}/validmind/tests/data_validation/IQROutliersTable.py +0 -0
  166. {validmind-2.10.1 → validmind-2.11.0}/validmind/tests/data_validation/IsolationForestOutliers.py +0 -0
  167. {validmind-2.10.1 → validmind-2.11.0}/validmind/tests/data_validation/JarqueBera.py +0 -0
  168. {validmind-2.10.1 → validmind-2.11.0}/validmind/tests/data_validation/KPSS.py +0 -0
  169. {validmind-2.10.1 → validmind-2.11.0}/validmind/tests/data_validation/LJungBox.py +0 -0
  170. {validmind-2.10.1 → validmind-2.11.0}/validmind/tests/data_validation/LaggedCorrelationHeatmap.py +0 -0
  171. {validmind-2.10.1 → validmind-2.11.0}/validmind/tests/data_validation/MissingValues.py +0 -0
  172. {validmind-2.10.1 → validmind-2.11.0}/validmind/tests/data_validation/MissingValuesBarPlot.py +0 -0
  173. {validmind-2.10.1 → validmind-2.11.0}/validmind/tests/data_validation/MutualInformation.py +0 -0
  174. {validmind-2.10.1 → validmind-2.11.0}/validmind/tests/data_validation/PearsonCorrelationMatrix.py +0 -0
  175. {validmind-2.10.1 → validmind-2.11.0}/validmind/tests/data_validation/PhillipsPerronArch.py +0 -0
  176. {validmind-2.10.1 → validmind-2.11.0}/validmind/tests/data_validation/ProtectedClassesCombination.py +0 -0
  177. {validmind-2.10.1 → validmind-2.11.0}/validmind/tests/data_validation/ProtectedClassesDescription.py +0 -0
  178. {validmind-2.10.1 → validmind-2.11.0}/validmind/tests/data_validation/ProtectedClassesDisparity.py +0 -0
  179. {validmind-2.10.1 → validmind-2.11.0}/validmind/tests/data_validation/ProtectedClassesThresholdOptimizer.py +0 -0
  180. {validmind-2.10.1 → validmind-2.11.0}/validmind/tests/data_validation/RollingStatsPlot.py +0 -0
  181. {validmind-2.10.1 → validmind-2.11.0}/validmind/tests/data_validation/RunsTest.py +0 -0
  182. {validmind-2.10.1 → validmind-2.11.0}/validmind/tests/data_validation/ScatterPlot.py +0 -0
  183. {validmind-2.10.1 → validmind-2.11.0}/validmind/tests/data_validation/ScoreBandDefaultRates.py +0 -0
  184. {validmind-2.10.1 → validmind-2.11.0}/validmind/tests/data_validation/SeasonalDecompose.py +0 -0
  185. {validmind-2.10.1 → validmind-2.11.0}/validmind/tests/data_validation/ShapiroWilk.py +0 -0
  186. {validmind-2.10.1 → validmind-2.11.0}/validmind/tests/data_validation/Skewness.py +0 -0
  187. {validmind-2.10.1 → validmind-2.11.0}/validmind/tests/data_validation/SpreadPlot.py +0 -0
  188. {validmind-2.10.1 → validmind-2.11.0}/validmind/tests/data_validation/TabularCategoricalBarPlots.py +0 -0
  189. {validmind-2.10.1 → validmind-2.11.0}/validmind/tests/data_validation/TabularDateTimeHistograms.py +0 -0
  190. {validmind-2.10.1 → validmind-2.11.0}/validmind/tests/data_validation/TabularDescriptionTables.py +0 -0
  191. {validmind-2.10.1 → validmind-2.11.0}/validmind/tests/data_validation/TabularNumericalHistograms.py +0 -0
  192. {validmind-2.10.1 → validmind-2.11.0}/validmind/tests/data_validation/TargetRateBarPlots.py +0 -0
  193. {validmind-2.10.1 → validmind-2.11.0}/validmind/tests/data_validation/TimeSeriesDescription.py +0 -0
  194. {validmind-2.10.1 → validmind-2.11.0}/validmind/tests/data_validation/TimeSeriesDescriptiveStatistics.py +0 -0
  195. {validmind-2.10.1 → validmind-2.11.0}/validmind/tests/data_validation/TimeSeriesFrequency.py +0 -0
  196. {validmind-2.10.1 → validmind-2.11.0}/validmind/tests/data_validation/TimeSeriesHistogram.py +0 -0
  197. {validmind-2.10.1 → validmind-2.11.0}/validmind/tests/data_validation/TimeSeriesLinePlot.py +0 -0
  198. {validmind-2.10.1 → validmind-2.11.0}/validmind/tests/data_validation/TimeSeriesMissingValues.py +0 -0
  199. {validmind-2.10.1 → validmind-2.11.0}/validmind/tests/data_validation/TimeSeriesOutliers.py +0 -0
  200. {validmind-2.10.1 → validmind-2.11.0}/validmind/tests/data_validation/UniqueRows.py +0 -0
  201. {validmind-2.10.1 → validmind-2.11.0}/validmind/tests/data_validation/WOEBinPlots.py +0 -0
  202. {validmind-2.10.1 → validmind-2.11.0}/validmind/tests/data_validation/WOEBinTable.py +0 -0
  203. {validmind-2.10.1 → validmind-2.11.0}/validmind/tests/data_validation/ZivotAndrewsArch.py +0 -0
  204. {validmind-2.10.1 → validmind-2.11.0}/validmind/tests/data_validation/__init__.py +0 -0
  205. {validmind-2.10.1 → validmind-2.11.0}/validmind/tests/data_validation/nlp/CommonWords.py +0 -0
  206. {validmind-2.10.1 → validmind-2.11.0}/validmind/tests/data_validation/nlp/Hashtags.py +0 -0
  207. {validmind-2.10.1 → validmind-2.11.0}/validmind/tests/data_validation/nlp/LanguageDetection.py +0 -0
  208. {validmind-2.10.1 → validmind-2.11.0}/validmind/tests/data_validation/nlp/Mentions.py +0 -0
  209. {validmind-2.10.1 → validmind-2.11.0}/validmind/tests/data_validation/nlp/PolarityAndSubjectivity.py +0 -0
  210. {validmind-2.10.1 → validmind-2.11.0}/validmind/tests/data_validation/nlp/Punctuations.py +0 -0
  211. {validmind-2.10.1 → validmind-2.11.0}/validmind/tests/data_validation/nlp/Sentiment.py +0 -0
  212. {validmind-2.10.1 → validmind-2.11.0}/validmind/tests/data_validation/nlp/StopWords.py +0 -0
  213. {validmind-2.10.1 → validmind-2.11.0}/validmind/tests/data_validation/nlp/TextDescription.py +0 -0
  214. {validmind-2.10.1 → validmind-2.11.0}/validmind/tests/data_validation/nlp/Toxicity.py +0 -0
  215. {validmind-2.10.1 → validmind-2.11.0}/validmind/tests/data_validation/nlp/__init__.py +0 -0
  216. {validmind-2.10.1 → validmind-2.11.0}/validmind/tests/decorator.py +0 -0
  217. {validmind-2.10.1 → validmind-2.11.0}/validmind/tests/model_validation/BertScore.py +0 -0
  218. {validmind-2.10.1 → validmind-2.11.0}/validmind/tests/model_validation/BleuScore.py +0 -0
  219. {validmind-2.10.1 → validmind-2.11.0}/validmind/tests/model_validation/ClusterSizeDistribution.py +0 -0
  220. {validmind-2.10.1 → validmind-2.11.0}/validmind/tests/model_validation/ContextualRecall.py +0 -0
  221. {validmind-2.10.1 → validmind-2.11.0}/validmind/tests/model_validation/FeaturesAUC.py +0 -0
  222. {validmind-2.10.1 → validmind-2.11.0}/validmind/tests/model_validation/MeteorScore.py +0 -0
  223. {validmind-2.10.1 → validmind-2.11.0}/validmind/tests/model_validation/ModelMetadata.py +0 -0
  224. {validmind-2.10.1 → validmind-2.11.0}/validmind/tests/model_validation/ModelPredictionResiduals.py +0 -0
  225. {validmind-2.10.1 → validmind-2.11.0}/validmind/tests/model_validation/RegardScore.py +0 -0
  226. {validmind-2.10.1 → validmind-2.11.0}/validmind/tests/model_validation/RegressionResidualsPlot.py +0 -0
  227. {validmind-2.10.1 → validmind-2.11.0}/validmind/tests/model_validation/RougeScore.py +0 -0
  228. {validmind-2.10.1 → validmind-2.11.0}/validmind/tests/model_validation/TimeSeriesPredictionWithCI.py +0 -0
  229. {validmind-2.10.1 → validmind-2.11.0}/validmind/tests/model_validation/TimeSeriesPredictionsPlot.py +0 -0
  230. {validmind-2.10.1 → validmind-2.11.0}/validmind/tests/model_validation/TimeSeriesR2SquareBySegments.py +0 -0
  231. {validmind-2.10.1 → validmind-2.11.0}/validmind/tests/model_validation/TokenDisparity.py +0 -0
  232. {validmind-2.10.1 → validmind-2.11.0}/validmind/tests/model_validation/ToxicityScore.py +0 -0
  233. {validmind-2.10.1 → validmind-2.11.0}/validmind/tests/model_validation/__init__.py +0 -0
  234. {validmind-2.10.1 → validmind-2.11.0}/validmind/tests/model_validation/embeddings/ClusterDistribution.py +0 -0
  235. {validmind-2.10.1 → validmind-2.11.0}/validmind/tests/model_validation/embeddings/CosineSimilarityComparison.py +0 -0
  236. {validmind-2.10.1 → validmind-2.11.0}/validmind/tests/model_validation/embeddings/CosineSimilarityDistribution.py +0 -0
  237. {validmind-2.10.1 → validmind-2.11.0}/validmind/tests/model_validation/embeddings/CosineSimilarityHeatmap.py +0 -0
  238. {validmind-2.10.1 → validmind-2.11.0}/validmind/tests/model_validation/embeddings/DescriptiveAnalytics.py +0 -0
  239. {validmind-2.10.1 → validmind-2.11.0}/validmind/tests/model_validation/embeddings/EmbeddingsVisualization2D.py +0 -0
  240. {validmind-2.10.1 → validmind-2.11.0}/validmind/tests/model_validation/embeddings/EuclideanDistanceComparison.py +0 -0
  241. {validmind-2.10.1 → validmind-2.11.0}/validmind/tests/model_validation/embeddings/EuclideanDistanceHeatmap.py +0 -0
  242. {validmind-2.10.1 → validmind-2.11.0}/validmind/tests/model_validation/embeddings/PCAComponentsPairwisePlots.py +0 -0
  243. {validmind-2.10.1 → validmind-2.11.0}/validmind/tests/model_validation/embeddings/StabilityAnalysisKeyword.py +0 -0
  244. {validmind-2.10.1 → validmind-2.11.0}/validmind/tests/model_validation/embeddings/StabilityAnalysisRandomNoise.py +0 -0
  245. {validmind-2.10.1 → validmind-2.11.0}/validmind/tests/model_validation/embeddings/StabilityAnalysisSynonyms.py +0 -0
  246. {validmind-2.10.1 → validmind-2.11.0}/validmind/tests/model_validation/embeddings/StabilityAnalysisTranslation.py +0 -0
  247. {validmind-2.10.1 → validmind-2.11.0}/validmind/tests/model_validation/embeddings/TSNEComponentsPairwisePlots.py +0 -0
  248. {validmind-2.10.1 → validmind-2.11.0}/validmind/tests/model_validation/embeddings/utils.py +0 -0
  249. {validmind-2.10.1 → validmind-2.11.0}/validmind/tests/model_validation/ragas/AnswerCorrectness.py +0 -0
  250. {validmind-2.10.1 → validmind-2.11.0}/validmind/tests/model_validation/ragas/AspectCritic.py +0 -0
  251. {validmind-2.10.1 → validmind-2.11.0}/validmind/tests/model_validation/ragas/ContextEntityRecall.py +0 -0
  252. {validmind-2.10.1 → validmind-2.11.0}/validmind/tests/model_validation/ragas/ContextPrecision.py +0 -0
  253. {validmind-2.10.1 → validmind-2.11.0}/validmind/tests/model_validation/ragas/ContextPrecisionWithoutReference.py +0 -0
  254. {validmind-2.10.1 → validmind-2.11.0}/validmind/tests/model_validation/ragas/ContextRecall.py +0 -0
  255. {validmind-2.10.1 → validmind-2.11.0}/validmind/tests/model_validation/ragas/Faithfulness.py +0 -0
  256. {validmind-2.10.1 → validmind-2.11.0}/validmind/tests/model_validation/ragas/NoiseSensitivity.py +0 -0
  257. {validmind-2.10.1 → validmind-2.11.0}/validmind/tests/model_validation/ragas/ResponseRelevancy.py +0 -0
  258. {validmind-2.10.1 → validmind-2.11.0}/validmind/tests/model_validation/ragas/SemanticSimilarity.py +0 -0
  259. {validmind-2.10.1 → validmind-2.11.0}/validmind/tests/model_validation/ragas/utils.py +0 -0
  260. {validmind-2.10.1 → validmind-2.11.0}/validmind/tests/model_validation/sklearn/AdjustedMutualInformation.py +0 -0
  261. {validmind-2.10.1 → validmind-2.11.0}/validmind/tests/model_validation/sklearn/AdjustedRandIndex.py +0 -0
  262. {validmind-2.10.1 → validmind-2.11.0}/validmind/tests/model_validation/sklearn/CalibrationCurve.py +0 -0
  263. {validmind-2.10.1 → validmind-2.11.0}/validmind/tests/model_validation/sklearn/ClassifierPerformance.py +0 -0
  264. {validmind-2.10.1 → validmind-2.11.0}/validmind/tests/model_validation/sklearn/ClassifierThresholdOptimization.py +0 -0
  265. {validmind-2.10.1 → validmind-2.11.0}/validmind/tests/model_validation/sklearn/ClusterCosineSimilarity.py +0 -0
  266. {validmind-2.10.1 → validmind-2.11.0}/validmind/tests/model_validation/sklearn/ClusterPerformanceMetrics.py +0 -0
  267. {validmind-2.10.1 → validmind-2.11.0}/validmind/tests/model_validation/sklearn/CompletenessScore.py +0 -0
  268. {validmind-2.10.1 → validmind-2.11.0}/validmind/tests/model_validation/sklearn/ConfusionMatrix.py +0 -0
  269. {validmind-2.10.1 → validmind-2.11.0}/validmind/tests/model_validation/sklearn/FeatureImportance.py +0 -0
  270. {validmind-2.10.1 → validmind-2.11.0}/validmind/tests/model_validation/sklearn/FowlkesMallowsScore.py +0 -0
  271. {validmind-2.10.1 → validmind-2.11.0}/validmind/tests/model_validation/sklearn/HomogeneityScore.py +0 -0
  272. {validmind-2.10.1 → validmind-2.11.0}/validmind/tests/model_validation/sklearn/HyperParametersTuning.py +0 -0
  273. {validmind-2.10.1 → validmind-2.11.0}/validmind/tests/model_validation/sklearn/KMeansClustersOptimization.py +0 -0
  274. {validmind-2.10.1 → validmind-2.11.0}/validmind/tests/model_validation/sklearn/MinimumAccuracy.py +0 -0
  275. {validmind-2.10.1 → validmind-2.11.0}/validmind/tests/model_validation/sklearn/MinimumF1Score.py +0 -0
  276. {validmind-2.10.1 → validmind-2.11.0}/validmind/tests/model_validation/sklearn/MinimumROCAUCScore.py +0 -0
  277. {validmind-2.10.1 → validmind-2.11.0}/validmind/tests/model_validation/sklearn/ModelParameters.py +0 -0
  278. {validmind-2.10.1 → validmind-2.11.0}/validmind/tests/model_validation/sklearn/ModelsPerformanceComparison.py +0 -0
  279. {validmind-2.10.1 → validmind-2.11.0}/validmind/tests/model_validation/sklearn/PermutationFeatureImportance.py +0 -0
  280. {validmind-2.10.1 → validmind-2.11.0}/validmind/tests/model_validation/sklearn/PrecisionRecallCurve.py +0 -0
  281. {validmind-2.10.1 → validmind-2.11.0}/validmind/tests/model_validation/sklearn/ROCCurve.py +0 -0
  282. {validmind-2.10.1 → validmind-2.11.0}/validmind/tests/model_validation/sklearn/RegressionErrors.py +0 -0
  283. {validmind-2.10.1 → validmind-2.11.0}/validmind/tests/model_validation/sklearn/RegressionErrorsComparison.py +0 -0
  284. {validmind-2.10.1 → validmind-2.11.0}/validmind/tests/model_validation/sklearn/RegressionPerformance.py +0 -0
  285. {validmind-2.10.1 → validmind-2.11.0}/validmind/tests/model_validation/sklearn/RegressionR2Square.py +0 -0
  286. {validmind-2.10.1 → validmind-2.11.0}/validmind/tests/model_validation/sklearn/RegressionR2SquareComparison.py +0 -0
  287. {validmind-2.10.1 → validmind-2.11.0}/validmind/tests/model_validation/sklearn/SHAPGlobalImportance.py +0 -0
  288. {validmind-2.10.1 → validmind-2.11.0}/validmind/tests/model_validation/sklearn/ScoreProbabilityAlignment.py +0 -0
  289. {validmind-2.10.1 → validmind-2.11.0}/validmind/tests/model_validation/sklearn/SilhouettePlot.py +0 -0
  290. {validmind-2.10.1 → validmind-2.11.0}/validmind/tests/model_validation/sklearn/VMeasure.py +0 -0
  291. {validmind-2.10.1 → validmind-2.11.0}/validmind/tests/model_validation/sklearn/__init__.py +0 -0
  292. {validmind-2.10.1 → validmind-2.11.0}/validmind/tests/model_validation/statsmodels/AutoARIMA.py +0 -0
  293. {validmind-2.10.1 → validmind-2.11.0}/validmind/tests/model_validation/statsmodels/DurbinWatsonTest.py +0 -0
  294. {validmind-2.10.1 → validmind-2.11.0}/validmind/tests/model_validation/statsmodels/GINITable.py +0 -0
  295. {validmind-2.10.1 → validmind-2.11.0}/validmind/tests/model_validation/statsmodels/KolmogorovSmirnov.py +0 -0
  296. {validmind-2.10.1 → validmind-2.11.0}/validmind/tests/model_validation/statsmodels/Lilliefors.py +0 -0
  297. {validmind-2.10.1 → validmind-2.11.0}/validmind/tests/model_validation/statsmodels/PredictionProbabilitiesHistogram.py +0 -0
  298. {validmind-2.10.1 → validmind-2.11.0}/validmind/tests/model_validation/statsmodels/RegressionCoeffs.py +0 -0
  299. {validmind-2.10.1 → validmind-2.11.0}/validmind/tests/model_validation/statsmodels/RegressionFeatureSignificance.py +0 -0
  300. {validmind-2.10.1 → validmind-2.11.0}/validmind/tests/model_validation/statsmodels/RegressionModelForecastPlot.py +0 -0
  301. {validmind-2.10.1 → validmind-2.11.0}/validmind/tests/model_validation/statsmodels/RegressionModelForecastPlotLevels.py +0 -0
  302. {validmind-2.10.1 → validmind-2.11.0}/validmind/tests/model_validation/statsmodels/RegressionModelSensitivityPlot.py +0 -0
  303. {validmind-2.10.1 → validmind-2.11.0}/validmind/tests/model_validation/statsmodels/RegressionModelSummary.py +0 -0
  304. {validmind-2.10.1 → validmind-2.11.0}/validmind/tests/model_validation/statsmodels/RegressionPermutationFeatureImportance.py +0 -0
  305. {validmind-2.10.1 → validmind-2.11.0}/validmind/tests/model_validation/statsmodels/ScorecardHistogram.py +0 -0
  306. {validmind-2.10.1 → validmind-2.11.0}/validmind/tests/model_validation/statsmodels/__init__.py +0 -0
  307. {validmind-2.10.1 → validmind-2.11.0}/validmind/tests/model_validation/statsmodels/statsutils.py +0 -0
  308. {validmind-2.10.1 → validmind-2.11.0}/validmind/tests/ongoing_monitoring/CalibrationCurveDrift.py +0 -0
  309. {validmind-2.10.1 → validmind-2.11.0}/validmind/tests/ongoing_monitoring/ClassDiscriminationDrift.py +0 -0
  310. {validmind-2.10.1 → validmind-2.11.0}/validmind/tests/ongoing_monitoring/ClassImbalanceDrift.py +0 -0
  311. {validmind-2.10.1 → validmind-2.11.0}/validmind/tests/ongoing_monitoring/ClassificationAccuracyDrift.py +0 -0
  312. {validmind-2.10.1 → validmind-2.11.0}/validmind/tests/ongoing_monitoring/ConfusionMatrixDrift.py +0 -0
  313. {validmind-2.10.1 → validmind-2.11.0}/validmind/tests/ongoing_monitoring/CumulativePredictionProbabilitiesDrift.py +0 -0
  314. {validmind-2.10.1 → validmind-2.11.0}/validmind/tests/ongoing_monitoring/FeatureDrift.py +0 -0
  315. {validmind-2.10.1 → validmind-2.11.0}/validmind/tests/ongoing_monitoring/PredictionAcrossEachFeature.py +0 -0
  316. {validmind-2.10.1 → validmind-2.11.0}/validmind/tests/ongoing_monitoring/PredictionCorrelation.py +0 -0
  317. {validmind-2.10.1 → validmind-2.11.0}/validmind/tests/ongoing_monitoring/PredictionProbabilitiesHistogramDrift.py +0 -0
  318. {validmind-2.10.1 → validmind-2.11.0}/validmind/tests/ongoing_monitoring/PredictionQuantilesAcrossFeatures.py +0 -0
  319. {validmind-2.10.1 → validmind-2.11.0}/validmind/tests/ongoing_monitoring/ROCCurveDrift.py +0 -0
  320. {validmind-2.10.1 → validmind-2.11.0}/validmind/tests/ongoing_monitoring/ScoreBandsDrift.py +0 -0
  321. {validmind-2.10.1 → validmind-2.11.0}/validmind/tests/ongoing_monitoring/ScorecardHistogramDrift.py +0 -0
  322. {validmind-2.10.1 → validmind-2.11.0}/validmind/tests/ongoing_monitoring/TargetPredictionDistributionPlot.py +0 -0
  323. {validmind-2.10.1 → validmind-2.11.0}/validmind/tests/output.py +0 -0
  324. {validmind-2.10.1 → validmind-2.11.0}/validmind/tests/plots/CorrelationHeatmap.py +0 -0
  325. {validmind-2.10.1 → validmind-2.11.0}/validmind/tests/plots/HistogramPlot.py +0 -0
  326. {validmind-2.10.1 → validmind-2.11.0}/validmind/tests/plots/ViolinPlot.py +0 -0
  327. {validmind-2.10.1 → validmind-2.11.0}/validmind/tests/plots/__init__.py +0 -0
  328. {validmind-2.10.1 → validmind-2.11.0}/validmind/tests/prompt_validation/Bias.py +0 -0
  329. {validmind-2.10.1 → validmind-2.11.0}/validmind/tests/prompt_validation/Clarity.py +0 -0
  330. {validmind-2.10.1 → validmind-2.11.0}/validmind/tests/prompt_validation/Conciseness.py +0 -0
  331. {validmind-2.10.1 → validmind-2.11.0}/validmind/tests/prompt_validation/Delimitation.py +0 -0
  332. {validmind-2.10.1 → validmind-2.11.0}/validmind/tests/prompt_validation/NegativeInstruction.py +0 -0
  333. {validmind-2.10.1 → validmind-2.11.0}/validmind/tests/prompt_validation/Robustness.py +0 -0
  334. {validmind-2.10.1 → validmind-2.11.0}/validmind/tests/prompt_validation/Specificity.py +0 -0
  335. {validmind-2.10.1 → validmind-2.11.0}/validmind/tests/prompt_validation/__init__.py +0 -0
  336. {validmind-2.10.1 → validmind-2.11.0}/validmind/tests/prompt_validation/ai_powered_test.py +0 -0
  337. {validmind-2.10.1 → validmind-2.11.0}/validmind/tests/stats/CorrelationAnalysis.py +0 -0
  338. {validmind-2.10.1 → validmind-2.11.0}/validmind/tests/stats/DescriptiveStats.py +0 -0
  339. {validmind-2.10.1 → validmind-2.11.0}/validmind/tests/stats/NormalityTests.py +0 -0
  340. {validmind-2.10.1 → validmind-2.11.0}/validmind/tests/stats/OutlierDetection.py +0 -0
  341. {validmind-2.10.1 → validmind-2.11.0}/validmind/tests/stats/__init__.py +0 -0
  342. {validmind-2.10.1 → validmind-2.11.0}/validmind/tests/test_providers.py +0 -0
  343. {validmind-2.10.1 → validmind-2.11.0}/validmind/tests/utils.py +0 -0
  344. {validmind-2.10.1 → validmind-2.11.0}/validmind/unit_metrics/__init__.py +0 -0
  345. {validmind-2.10.1 → validmind-2.11.0}/validmind/unit_metrics/classification/Accuracy.py +0 -0
  346. {validmind-2.10.1 → validmind-2.11.0}/validmind/unit_metrics/classification/F1.py +0 -0
  347. {validmind-2.10.1 → validmind-2.11.0}/validmind/unit_metrics/classification/Precision.py +0 -0
  348. {validmind-2.10.1 → validmind-2.11.0}/validmind/unit_metrics/classification/ROC_AUC.py +0 -0
  349. {validmind-2.10.1 → validmind-2.11.0}/validmind/unit_metrics/classification/Recall.py +0 -0
  350. {validmind-2.10.1 → validmind-2.11.0}/validmind/unit_metrics/regression/AdjustedRSquaredScore.py +0 -0
  351. {validmind-2.10.1 → validmind-2.11.0}/validmind/unit_metrics/regression/GiniCoefficient.py +0 -0
  352. {validmind-2.10.1 → validmind-2.11.0}/validmind/unit_metrics/regression/HuberLoss.py +0 -0
  353. {validmind-2.10.1 → validmind-2.11.0}/validmind/unit_metrics/regression/KolmogorovSmirnovStatistic.py +0 -0
  354. {validmind-2.10.1 → validmind-2.11.0}/validmind/unit_metrics/regression/MeanAbsoluteError.py +0 -0
  355. {validmind-2.10.1 → validmind-2.11.0}/validmind/unit_metrics/regression/MeanAbsolutePercentageError.py +0 -0
  356. {validmind-2.10.1 → validmind-2.11.0}/validmind/unit_metrics/regression/MeanBiasDeviation.py +0 -0
  357. {validmind-2.10.1 → validmind-2.11.0}/validmind/unit_metrics/regression/MeanSquaredError.py +0 -0
  358. {validmind-2.10.1 → validmind-2.11.0}/validmind/unit_metrics/regression/QuantileLoss.py +0 -0
  359. {validmind-2.10.1 → validmind-2.11.0}/validmind/unit_metrics/regression/RSquaredScore.py +0 -0
  360. {validmind-2.10.1 → validmind-2.11.0}/validmind/unit_metrics/regression/RootMeanSquaredError.py +0 -0
  361. {validmind-2.10.1 → validmind-2.11.0}/validmind/vm_models/__init__.py +0 -0
  362. {validmind-2.10.1 → validmind-2.11.0}/validmind/vm_models/dataset/__init__.py +0 -0
  363. {validmind-2.10.1 → validmind-2.11.0}/validmind/vm_models/dataset/dataset.py +0 -0
  364. {validmind-2.10.1 → validmind-2.11.0}/validmind/vm_models/dataset/utils.py +0 -0
  365. {validmind-2.10.1 → validmind-2.11.0}/validmind/vm_models/input.py +0 -0
  366. {validmind-2.10.1 → validmind-2.11.0}/validmind/vm_models/model.py +0 -0
  367. {validmind-2.10.1 → validmind-2.11.0}/validmind/vm_models/result/__init__.py +0 -0
  368. {validmind-2.10.1 → validmind-2.11.0}/validmind/vm_models/result/pii_filter.py +0 -0
  369. {validmind-2.10.1 → validmind-2.11.0}/validmind/vm_models/result/result.jinja +0 -0
  370. {validmind-2.10.1 → validmind-2.11.0}/validmind/vm_models/test_suite/__init__.py +0 -0
  371. {validmind-2.10.1 → validmind-2.11.0}/validmind/vm_models/test_suite/test.py +0 -0
  372. {validmind-2.10.1 → validmind-2.11.0}/validmind/vm_models/test_suite/test_suite.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: validmind
3
- Version: 2.10.1
3
+ Version: 2.11.0
4
4
  Summary: ValidMind Library
5
5
  License: DUAL LICENSE NOTICE
6
6
 
@@ -732,12 +732,14 @@ Requires-Dist: mistune (>=3.0.2,<4.0.0)
732
732
  Requires-Dist: nest-asyncio (>=1.6.0,<2.0.0)
733
733
  Requires-Dist: nltk (>=3.8.1,<4.0.0) ; extra == "all"
734
734
  Requires-Dist: nltk (>=3.8.1,<4.0.0) ; extra == "nlp"
735
+ Requires-Dist: numpy (>=1.23,<2.0.0)
735
736
  Requires-Dist: openai (>=1)
736
737
  Requires-Dist: pandas (>=2.0.3,<3.0.0)
737
- Requires-Dist: plotly (>=5.0.0)
738
+ Requires-Dist: plotly (>=5.0.0,<6.0.0)
738
739
  Requires-Dist: polars
739
740
  Requires-Dist: presidio-analyzer ; extra == "pii-detection"
740
741
  Requires-Dist: presidio-structured ; extra == "pii-detection"
742
+ Requires-Dist: pyarrow (<16) ; extra == "nlp"
741
743
  Requires-Dist: pycocoevalcap ; extra == "all"
742
744
  Requires-Dist: pycocoevalcap ; extra == "llm"
743
745
  Requires-Dist: python-dotenv
@@ -754,7 +756,6 @@ Requires-Dist: seaborn
754
756
  Requires-Dist: sentencepiece (>=0.2.0,<0.3.0) ; extra == "all"
755
757
  Requires-Dist: sentencepiece (>=0.2.0,<0.3.0) ; extra == "huggingface"
756
758
  Requires-Dist: sentencepiece (>=0.2.0,<0.3.0) ; extra == "llm"
757
- Requires-Dist: sentry-sdk (>=1.24.0,<2.0.0)
758
759
  Requires-Dist: shap (>=0.46.0) ; extra == "all"
759
760
  Requires-Dist: shap (>=0.46.0) ; extra == "explainability"
760
761
  Requires-Dist: statsmodels ; extra == "all"
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "validmind"
3
- version = "2.10.1"
3
+ version = "2.11.0"
4
4
  description = "ValidMind Library"
5
5
  readme = "README.pypi.md"
6
6
  requires-python = ">=3.9,<3.13"
@@ -19,14 +19,14 @@ dependencies = [
19
19
  "matplotlib",
20
20
  "mistune (>=3.0.2,<4.0.0)",
21
21
  "nest-asyncio (>=1.6.0,<2.0.0)",
22
+ "numpy (>=1.23,<2.0.0)",
22
23
  "openai (>=1)",
23
24
  "pandas (>=2.0.3,<3.0.0)",
24
- "plotly (>=5.0.0)",
25
+ "plotly (>=5.0.0,<6.0.0)",
25
26
  "polars",
26
27
  "python-dotenv",
27
28
  "scikit-learn",
28
29
  "seaborn",
29
- "sentry-sdk (>=1.24.0,<2.0.0)",
30
30
  "tabulate (>=0.9.0,<0.10.0)",
31
31
  "tiktoken",
32
32
  "tqdm",
@@ -75,6 +75,7 @@ nlp = [
75
75
  "evaluate",
76
76
  "rouge (>=1)",
77
77
  "bert-score (>=0.3.13)",
78
+ "pyarrow (<16)",
78
79
  ]
79
80
  pytorch = ["torch (>=2.0.0)"]
80
81
  stats = ["scipy", "statsmodels", "arch"]
@@ -21,7 +21,7 @@ To initialize the ValidMind Library, paste the code snippet with the model ident
21
21
  import validmind as vm
22
22
 
23
23
  vm.init(
24
- api_host = "https://api.dev.vm.validmind.ai/api/v1/tracking/tracking",
24
+ api_host = "https://app.prod.validmind.ai/api/v1/tracking/tracking",
25
25
  api_key = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
26
26
  api_secret = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
27
27
  project = "<project-identifier>"
@@ -0,0 +1 @@
1
+ __version__ = "2.11.0"
@@ -5,9 +5,7 @@
5
5
  import json
6
6
  import os
7
7
  from concurrent.futures import ThreadPoolExecutor
8
- from typing import List, Optional, Union
9
-
10
- import tiktoken
8
+ from typing import Any, Dict, List, Optional, Union
11
9
 
12
10
  from ..client_config import client_config
13
11
  from ..logging import get_logger
@@ -25,6 +23,21 @@ __executor = ThreadPoolExecutor()
25
23
 
26
24
  logger = get_logger(__name__)
27
25
 
26
+ # Try to import tiktoken once at module load
27
+ # Cache the result to avoid repeated import attempts
28
+ _TIKTOKEN_AVAILABLE = False
29
+ _TIKTOKEN_ENCODING = None
30
+
31
+ try:
32
+ import tiktoken
33
+
34
+ _TIKTOKEN_ENCODING = tiktoken.encoding_for_model("gpt-4o")
35
+ _TIKTOKEN_AVAILABLE = True
36
+ except (ImportError, Exception) as e:
37
+ logger.debug(
38
+ f"tiktoken unavailable, will use character-based token estimation: {e}"
39
+ )
40
+
28
41
 
29
42
  def _get_llm_global_context():
30
43
  # Get the context from the environment variable
@@ -42,6 +55,29 @@ def _get_llm_global_context():
42
55
  return context if context_enabled and context else None
43
56
 
44
57
 
58
+ def _estimate_tokens_simple(text: str) -> int:
59
+ """Estimate token count using character-based heuristic.
60
+
61
+ Uses ~4 characters per token for English/JSON text.
62
+ This is a fallback when tiktoken is unavailable.
63
+ """
64
+ return len(text) // 4
65
+
66
+
67
+ def _truncate_text_simple(text: str, max_tokens: int) -> str:
68
+ """Truncate text using character-based estimation."""
69
+ estimated_chars = max_tokens * 4
70
+ if len(text) <= estimated_chars:
71
+ return text
72
+
73
+ # Keep first portion and last 100 tokens worth (~400 chars)
74
+ # But ensure we don't take more than 25% for the tail
75
+ last_chars = min(400, estimated_chars // 4)
76
+ first_chars = estimated_chars - last_chars
77
+
78
+ return text[:first_chars] + "...[truncated]" + text[-last_chars:]
79
+
80
+
45
81
  def _truncate_summary(
46
82
  summary: Union[str, None], test_id: str, max_tokens: int = 100_000
47
83
  ):
@@ -49,20 +85,30 @@ def _truncate_summary(
49
85
  # since string itself is less than max_tokens, definitely small enough
50
86
  return summary
51
87
 
52
- # TODO: better context length handling
53
- encoding = tiktoken.encoding_for_model("gpt-4o")
54
- summary_tokens = encoding.encode(summary)
88
+ if _TIKTOKEN_AVAILABLE:
89
+ # Use tiktoken for accurate token counting
90
+ summary_tokens = _TIKTOKEN_ENCODING.encode(summary)
55
91
 
56
- if len(summary_tokens) > max_tokens:
57
- logger.warning(
58
- f"Truncating {test_id} due to context length restrictions..."
59
- " Generated description may be innacurate"
60
- )
61
- summary = (
62
- encoding.decode(summary_tokens[:max_tokens])
63
- + "...[truncated]"
64
- + encoding.decode(summary_tokens[-100:])
65
- )
92
+ if len(summary_tokens) > max_tokens:
93
+ logger.warning(
94
+ f"Truncating {test_id} due to context length restrictions..."
95
+ " Generated description may be inaccurate"
96
+ )
97
+ summary = (
98
+ _TIKTOKEN_ENCODING.decode(summary_tokens[:max_tokens])
99
+ + "...[truncated]"
100
+ + _TIKTOKEN_ENCODING.decode(summary_tokens[-100:])
101
+ )
102
+ else:
103
+ # Fallback to character-based estimation
104
+ estimated_tokens = _estimate_tokens_simple(summary)
105
+
106
+ if estimated_tokens > max_tokens:
107
+ logger.warning(
108
+ f"Truncating {test_id} (estimated) due to context length restrictions..."
109
+ " Generated description may be inaccurate"
110
+ )
111
+ summary = _truncate_text_simple(summary, max_tokens)
66
112
 
67
113
  return summary
68
114
 
@@ -76,6 +122,7 @@ def generate_description(
76
122
  title: Optional[str] = None,
77
123
  instructions: Optional[str] = None,
78
124
  additional_context: Optional[str] = None,
125
+ params: Optional[Dict[str, Any]] = None,
79
126
  ):
80
127
  """Generate the description for the test results."""
81
128
  from validmind.api_client import generate_test_result_description
@@ -121,11 +168,10 @@ def generate_description(
121
168
  "test_description": test_description,
122
169
  "title": title,
123
170
  "summary": _truncate_summary(summary, test_id),
124
- "figures": [
125
- figure._get_b64_url() for figure in ([] if tables else figures)
126
- ],
171
+ "figures": [figure._get_b64_url() for figure in figures or []],
127
172
  "additional_context": additional_context,
128
173
  "instructions": instructions,
174
+ "params": params,
129
175
  }
130
176
  )["content"]
131
177
 
@@ -139,6 +185,7 @@ def background_generate_description(
139
185
  title: Optional[str] = None,
140
186
  instructions: Optional[str] = None,
141
187
  additional_context: Optional[str] = None,
188
+ params: Optional[Dict[str, Any]] = None,
142
189
  ):
143
190
  def wrapped():
144
191
  try:
@@ -152,6 +199,7 @@ def background_generate_description(
152
199
  title=title,
153
200
  instructions=instructions,
154
201
  additional_context=additional_context,
202
+ params=params,
155
203
  ),
156
204
  True,
157
205
  )
@@ -183,6 +231,7 @@ def get_result_description(
183
231
  title: Optional[str] = None,
184
232
  instructions: Optional[str] = None,
185
233
  additional_context: Optional[str] = None,
234
+ params: Optional[Dict[str, Any]] = None,
186
235
  ):
187
236
  """Get the metadata dictionary for a test or metric result.
188
237
 
@@ -206,6 +255,7 @@ def get_result_description(
206
255
  should_generate (bool): Whether to generate the description or not. Defaults to True.
207
256
  instructions (Optional[str]): Instructions for the LLM to generate the description.
208
257
  additional_context (Optional[str]): Additional context for the LLM to generate the description.
258
+ params (Optional[Dict[str, Any]]): Test parameters used to customize test behavior.
209
259
 
210
260
  Returns:
211
261
  str: The description to be logged with the test results.
@@ -234,6 +284,7 @@ def get_result_description(
234
284
  title=title,
235
285
  instructions=_instructions,
236
286
  additional_context=additional_context,
287
+ params=params,
237
288
  )
238
289
 
239
290
  else:
@@ -18,11 +18,10 @@ from urllib.parse import urlencode, urljoin
18
18
  import aiohttp
19
19
  import requests
20
20
  from aiohttp import FormData
21
- from ipywidgets import HTML, Accordion
22
21
 
23
22
  from .client_config import client_config
24
23
  from .errors import MissingAPICredentialsError, MissingModelIdError, raise_api_error
25
- from .logging import get_logger, init_sentry, log_api_operation, send_single_error
24
+ from .logging import get_logger, log_api_operation
26
25
  from .utils import NumpyEncoder, is_html, md_to_html, run_async
27
26
  from .vm_models.figure import Figure
28
27
 
@@ -166,7 +165,7 @@ def _ping() -> Dict[str, Any]:
166
165
 
167
166
  client_info = r.json()
168
167
 
169
- init_sentry(client_info.get("sentry_config", {}))
168
+ # Sentry removed: no telemetry initialization
170
169
 
171
170
  # Only show this confirmation the first time we connect to the API
172
171
  ack_connected = not client_config.model
@@ -244,14 +243,7 @@ def init(
244
243
 
245
244
  def reload():
246
245
  """Reconnect to the ValidMind API and reload the project configuration."""
247
-
248
- try:
249
- _ping()
250
- except Exception as e:
251
- # if the api host is https, assume we're not in dev mode and send to sentry
252
- if _api_host.startswith("https://"):
253
- send_single_error(e)
254
- raise e
246
+ _ping()
255
247
 
256
248
 
257
249
  async def aget_metadata(content_id: str) -> Dict[str, Any]:
@@ -411,9 +403,7 @@ def log_input(input_id: str, type: str, metadata: Dict[str, Any]) -> Dict[str, A
411
403
  return run_async(alog_input, input_id, type, metadata)
412
404
 
413
405
 
414
- def log_text(
415
- content_id: str, text: str, _json: Optional[Dict[str, Any]] = None
416
- ) -> Dict[str, Any]:
406
+ def log_text(content_id: str, text: str, _json: Optional[Dict[str, Any]] = None) -> str:
417
407
  """Logs free-form text to ValidMind API.
418
408
 
419
409
  Args:
@@ -426,7 +416,7 @@ def log_text(
426
416
  Exception: If the API call fails.
427
417
 
428
418
  Returns:
429
- ipywidgets.Accordion: An accordion widget containing the logged text as HTML.
419
+ str: HTML string containing the logged text in an accordion format.
430
420
  """
431
421
  if not content_id or not isinstance(content_id, str):
432
422
  raise ValueError("`content_id` must be a non-empty string")
@@ -438,8 +428,10 @@ def log_text(
438
428
 
439
429
  log_text = run_async(alog_metadata, content_id, text, _json)
440
430
 
441
- return Accordion(
442
- children=[HTML(log_text["text"])],
431
+ from .vm_models.html_renderer import StatefulHTMLRenderer
432
+
433
+ return StatefulHTMLRenderer.render_accordion(
434
+ items=[log_text["text"]],
443
435
  titles=[f"Text Block: '{log_text['content_id']}'"],
444
436
  )
445
437