validmind 2.0.1__py3-none-any.whl → 2.0.7__py3-none-any.whl

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 (65) hide show
  1. validmind/__init__.py +4 -1
  2. validmind/__version__.py +1 -1
  3. validmind/ai.py +197 -0
  4. validmind/api_client.py +16 -4
  5. validmind/client.py +23 -3
  6. validmind/datasets/classification/customer_churn.py +2 -2
  7. validmind/datasets/nlp/__init__.py +5 -0
  8. validmind/datasets/nlp/cnn_dailymail.py +98 -0
  9. validmind/datasets/nlp/datasets/cnn_dailymail_100_with_predictions.csv +255 -0
  10. validmind/datasets/nlp/datasets/cnn_dailymail_500_with_predictions.csv +1277 -0
  11. validmind/datasets/nlp/datasets/sentiments_with_predictions.csv +4847 -0
  12. validmind/errors.py +11 -1
  13. validmind/models/huggingface.py +2 -2
  14. validmind/models/pytorch.py +3 -3
  15. validmind/models/sklearn.py +4 -4
  16. validmind/tests/__init__.py +47 -9
  17. validmind/tests/data_validation/DatasetDescription.py +0 -1
  18. validmind/tests/data_validation/nlp/StopWords.py +1 -6
  19. validmind/tests/data_validation/nlp/TextDescription.py +20 -9
  20. validmind/tests/decorator.py +189 -0
  21. validmind/tests/model_validation/MeteorScore.py +92 -0
  22. validmind/tests/model_validation/RegardHistogram.py +5 -6
  23. validmind/tests/model_validation/RegardScore.py +3 -5
  24. validmind/tests/model_validation/RougeMetrics.py +6 -4
  25. validmind/tests/model_validation/SelfCheckNLIScore.py +112 -0
  26. validmind/tests/model_validation/embeddings/DescriptiveAnalytics.py +17 -22
  27. validmind/tests/model_validation/sklearn/ClassifierPerformance.py +3 -1
  28. validmind/tests/model_validation/sklearn/SHAPGlobalImportance.py +30 -4
  29. validmind/tests/model_validation/sklearn/TrainingTestDegradation.py +9 -3
  30. validmind/tests/model_validation/statsmodels/RegressionModelsPerformance.py +1 -1
  31. validmind/tests/prompt_validation/ai_powered_test.py +2 -0
  32. validmind/unit_metrics/__init__.py +0 -2
  33. validmind/unit_metrics/composite.py +275 -0
  34. validmind/unit_metrics/regression/GiniCoefficient.py +39 -0
  35. validmind/unit_metrics/regression/HuberLoss.py +27 -0
  36. validmind/unit_metrics/regression/KolmogorovSmirnovStatistic.py +36 -0
  37. validmind/unit_metrics/regression/MeanAbsolutePercentageError.py +22 -0
  38. validmind/unit_metrics/regression/MeanBiasDeviation.py +22 -0
  39. validmind/unit_metrics/regression/QuantileLoss.py +25 -0
  40. validmind/unit_metrics/regression/sklearn/AdjustedRSquaredScore.py +27 -0
  41. validmind/unit_metrics/regression/sklearn/MeanAbsoluteError.py +22 -0
  42. validmind/unit_metrics/regression/sklearn/MeanSquaredError.py +22 -0
  43. validmind/unit_metrics/regression/sklearn/RSquaredScore.py +22 -0
  44. validmind/unit_metrics/regression/sklearn/RootMeanSquaredError.py +23 -0
  45. validmind/unit_metrics/sklearn/classification/Accuracy.py +2 -0
  46. validmind/unit_metrics/sklearn/classification/F1.py +2 -0
  47. validmind/unit_metrics/sklearn/classification/Precision.py +2 -0
  48. validmind/unit_metrics/sklearn/classification/ROC_AUC.py +2 -0
  49. validmind/unit_metrics/sklearn/classification/Recall.py +2 -0
  50. validmind/utils.py +17 -1
  51. validmind/vm_models/dataset.py +376 -21
  52. validmind/vm_models/figure.py +52 -17
  53. validmind/vm_models/test/metric.py +33 -30
  54. validmind/vm_models/test/output_template.py +0 -27
  55. validmind/vm_models/test/result_wrapper.py +57 -24
  56. validmind/vm_models/test/test.py +2 -1
  57. validmind/vm_models/test/threshold_test.py +24 -13
  58. validmind/vm_models/test_context.py +7 -0
  59. validmind/vm_models/test_suite/runner.py +1 -1
  60. validmind/vm_models/test_suite/test.py +1 -1
  61. {validmind-2.0.1.dist-info → validmind-2.0.7.dist-info}/METADATA +9 -13
  62. {validmind-2.0.1.dist-info → validmind-2.0.7.dist-info}/RECORD +65 -44
  63. validmind-2.0.7.dist-info/entry_points.txt +3 -0
  64. {validmind-2.0.1.dist-info → validmind-2.0.7.dist-info}/LICENSE +0 -0
  65. {validmind-2.0.1.dist-info → validmind-2.0.7.dist-info}/WHEEL +0 -0
@@ -4,7 +4,6 @@
4
4
 
5
5
  from datetime import datetime
6
6
 
7
- from bs4 import BeautifulSoup
8
7
  from dateutil import parser
9
8
  from jinja2 import Environment
10
9
 
@@ -54,29 +53,3 @@ class OutputTemplate:
54
53
  value=value,
55
54
  metric_history=values_history,
56
55
  )
57
-
58
- def parse_summary_from_html(rendered_template_html):
59
- soup = BeautifulSoup(rendered_template_html, "html.parser")
60
-
61
- # find all `<table>` elements
62
- tables = soup.find_all("table")
63
- tables_data = []
64
-
65
- for table in tables:
66
- headers = [cell.text for cell in table.find_all("th")]
67
-
68
- tables_data.append(
69
- {
70
- "type": "table",
71
- "data": [
72
- {
73
- headers[i]: cell.text
74
- for i, cell in enumerate(row.find_all("td"))
75
- }
76
- for row in table.find("tbody").find_all("tr")
77
- ],
78
- "metadata": {"title": ""}, # TODO: add title
79
- }
80
- )
81
-
82
- return tables_data
@@ -10,7 +10,7 @@ import json
10
10
  import os
11
11
  from abc import ABC, abstractmethod
12
12
  from dataclasses import dataclass
13
- from typing import List, Optional
13
+ from typing import Dict, List, Optional, Union
14
14
 
15
15
  import ipywidgets as widgets
16
16
  import markdown
@@ -18,6 +18,7 @@ import pandas as pd
18
18
  from IPython.display import display
19
19
 
20
20
  from ... import api_client
21
+ from ...ai import DescriptionFuture
21
22
  from ...utils import NumpyEncoder, run_async, test_id_to_name
22
23
  from ..figure import Figure
23
24
  from .metric_result import MetricResult
@@ -26,24 +27,33 @@ from .result_summary import ResultSummary
26
27
  from .threshold_test_result import ThresholdTestResults
27
28
 
28
29
 
29
- async def update_metadata(content_id: str, text: str) -> None:
30
+ async def update_metadata(content_id: str, text: str, _json: Union[Dict, List] = None):
30
31
  """
31
32
  Update the metadata of a content item. By default we don't
32
33
  override the existing metadata, but we can override it by
33
34
  setting the VM_OVERRIDE_METADATA environment variable to True
34
35
  """
35
- VM_OVERRIDE_METADATA = os.environ.get("VM_OVERRIDE_METADATA", False)
36
- try:
37
- existing_metadata = await api_client.get_metadata(content_id)
38
- except Exception:
39
- existing_metadata = None # TODO: handle this better
36
+ should_update = False
40
37
 
41
- if (
42
- existing_metadata is None
43
- or VM_OVERRIDE_METADATA == "True"
44
- or VM_OVERRIDE_METADATA is True
45
- ):
46
- await api_client.log_metadata(content_id, text)
38
+ # check if the env variable is set to force overwriting metadata
39
+ if os.environ.get("VM_OVERRIDE_METADATA", "false").lower() == "true":
40
+ should_update = True
41
+
42
+ # if not set, check if the content_id is a composite metric def
43
+ if not should_update and content_id.startswith("composite_metric_def:"):
44
+ # we always want composite metric definitions to be updated
45
+ should_update = True
46
+
47
+ # if not set, lets check if the metadata already exists
48
+ if not should_update:
49
+ try:
50
+ await api_client.get_metadata(content_id)
51
+ except Exception: # TODO: this shouldn't be a catch-all
52
+ # if the metadata doesn't exist, we should create (update) it
53
+ should_update = True
54
+
55
+ if should_update:
56
+ await api_client.log_metadata(content_id, text, _json)
47
57
 
48
58
 
49
59
  def plot_figures(figures: List[Figure]) -> None:
@@ -93,7 +103,6 @@ class ResultWrapper(ABC):
93
103
  """
94
104
  Convert a markdown string to html
95
105
  """
96
-
97
106
  return markdown.markdown(description, extensions=["markdown.extensions.tables"])
98
107
 
99
108
  def _summary_tables_to_widget(self, summary: ResultSummary):
@@ -155,7 +164,7 @@ class ResultWrapper(ABC):
155
164
 
156
165
  def log(self):
157
166
  """Log the result... May be overridden by subclasses"""
158
- return run_async(self.log_async)
167
+ run_async(self.log_async)
159
168
 
160
169
 
161
170
  @dataclass
@@ -207,15 +216,19 @@ class MetricResultWrapper(ResultWrapper):
207
216
  if self.metric and self.metric.key == "dataset_description":
208
217
  return ""
209
218
 
210
- vbox_children = []
219
+ vbox_children = [
220
+ widgets.HTML(value=f"<h1>{test_id_to_name(self.result_id)}</h1>")
221
+ ]
211
222
 
212
223
  if self.result_metadata:
213
- metric_description = self.result_metadata[0]
224
+ metric_description = self.result_metadata[0].get("text", "")
225
+ if isinstance(metric_description, DescriptionFuture):
226
+ metric_description = metric_description.get_description()
227
+ self.result_metadata[0]["text"] = metric_description
228
+
214
229
  vbox_children.append(
215
230
  widgets.HTML(
216
- value=self._markdown_description_to_html(
217
- metric_description.get("text", "")
218
- )
231
+ value=self._markdown_description_to_html(metric_description)
219
232
  )
220
233
  )
221
234
 
@@ -297,8 +310,19 @@ class MetricResultWrapper(ResultWrapper):
297
310
  if self.figures:
298
311
  tasks.append(api_client.log_figures(self.figures))
299
312
  if hasattr(self, "result_metadata") and self.result_metadata:
313
+ description = self.result_metadata[0].get("text", "")
314
+ if isinstance(description, DescriptionFuture):
315
+ description = description.get_description()
316
+ self.result_metadata[0]["text"] = description
317
+
300
318
  for metadata in self.result_metadata:
301
- tasks.append(update_metadata(metadata["content_id"], metadata["text"]))
319
+ tasks.append(
320
+ update_metadata(
321
+ content_id=metadata["content_id"],
322
+ text=metadata.get("text", ""),
323
+ _json=metadata.get("json"),
324
+ )
325
+ )
302
326
 
303
327
  await asyncio.gather(*tasks)
304
328
 
@@ -339,14 +363,18 @@ class ThresholdTestResultWrapper(ResultWrapper):
339
363
  test_title = test_id_to_name(self.test_results.test_name)
340
364
  description_html.append(
341
365
  f"""
342
- <h2>{test_title} {"✅" if self.test_results.passed else "❌"}</h2>
366
+ <h1>{test_title} {"✅" if self.test_results.passed else "❌"}</h1>
343
367
  """
344
368
  )
345
369
 
346
370
  if self.result_metadata:
347
- metric_description = self.result_metadata[0]
371
+ metric_description = self.result_metadata[0].get("text", "")
372
+ if isinstance(metric_description, DescriptionFuture):
373
+ metric_description = metric_description.get_description()
374
+ self.result_metadata[0]["text"] = metric_description
375
+
348
376
  description_html.append(
349
- self._markdown_description_to_html(metric_description.get("text", ""))
377
+ self._markdown_description_to_html(metric_description)
350
378
  )
351
379
 
352
380
  description_html.append(
@@ -375,6 +403,11 @@ class ThresholdTestResultWrapper(ResultWrapper):
375
403
  if self.figures:
376
404
  tasks.append(api_client.log_figures(self.figures))
377
405
  if hasattr(self, "result_metadata") and self.result_metadata:
406
+ description = self.result_metadata[0].get("text", "")
407
+ if isinstance(description, DescriptionFuture):
408
+ description = description.get_description()
409
+ self.result_metadata[0]["text"] = description
410
+
378
411
  for metadata in self.result_metadata:
379
412
  tasks.append(update_metadata(metadata["content_id"], metadata["text"]))
380
413
 
@@ -10,6 +10,7 @@ from typing import ClassVar, List, TypedDict
10
10
  from uuid import uuid4
11
11
 
12
12
  from ..test_context import TestUtils
13
+ from .result_wrapper import ResultWrapper
13
14
 
14
15
 
15
16
  class TestMetadata(TypedDict):
@@ -35,7 +36,7 @@ class Test(TestUtils):
35
36
  _ref_id: str = None # unique identifier (populated at init)
36
37
  _section_id: str = None # which section of template this test belongs to
37
38
  test_id: str = None # populated when loading tests from suites
38
- result: object = None # type should be overridden by parent classes
39
+ result: ResultWrapper = None # type should be overridden by parent classes
39
40
 
40
41
  params: dict = None # populated by test suite from user-passed config
41
42
 
@@ -8,9 +8,11 @@ Test (as test_results) but we'll refer to it as a ThresholdTest to
8
8
  avoid confusion with the "tests" in the general data science/modeling sense.
9
9
  """
10
10
 
11
+ import os
11
12
  from dataclasses import dataclass
12
13
  from typing import ClassVar, List, Optional
13
14
 
15
+ from ...ai import generate_description
14
16
  from ...utils import clean_docstring
15
17
  from ..figure import Figure
16
18
  from .result_summary import ResultSummary, ResultTable
@@ -76,25 +78,34 @@ class ThresholdTest(Test):
76
78
  Returns:
77
79
  TestSuiteResult: The test suite result object
78
80
  """
79
- # Rename to self.result
80
- # At a minimum, send the test description
81
- result_metadata = [
82
- {
83
- "content_id": f"test_description:{self.test_id}",
84
- "text": clean_docstring(self.description()),
85
- }
86
- ]
87
-
88
81
  result_summary = self.summary(test_results_list, passed)
89
82
 
83
+ if (
84
+ os.environ.get("VALIDMIND_LLM_DESCRIPTIONS_ENABLED", "false").lower()
85
+ == "true"
86
+ ):
87
+ revision_name = "Generated by ValidMind AI"
88
+ description = generate_description(
89
+ test_name=self.test_id,
90
+ test_description=self.description().splitlines()[0],
91
+ test_results=[result.serialize() for result in test_results_list],
92
+ test_summary=result_summary.serialize(),
93
+ figures=figures,
94
+ )
95
+ else:
96
+ revision_name = "Default Description"
97
+ description = clean_docstring(self.description())
98
+
99
+ description_metadata = {
100
+ "content_id": f"test_description:{self.test_id}::{revision_name}",
101
+ "text": description,
102
+ }
103
+
90
104
  self.result = ThresholdTestResultWrapper(
91
105
  result_id=self.test_id,
92
- result_metadata=result_metadata,
106
+ result_metadata=[description_metadata],
93
107
  inputs=self.get_accessed_inputs(),
94
108
  test_results=ThresholdTestResults(
95
- # test_name=self.name,
96
- # Now using the fully qualified test ID as `test_name`.
97
- # Ideally the backend is updated to use `test_id` instead of `test_name`.
98
109
  test_name=self.test_id,
99
110
  ref_id=self._ref_id,
100
111
  params=self.params,
@@ -165,6 +165,13 @@ class TestUtils:
165
165
 
166
166
  return []
167
167
 
168
+ def _get_input_dict(self):
169
+ """Return a dictionary of all inputs"""
170
+ if isinstance(self.inputs, InputAccessTrackerProxy):
171
+ return self.inputs._inputs.__dict__
172
+
173
+ return self.inputs.__dict__
174
+
168
175
  def _get_legacy_input(self, key):
169
176
  """Retrieve an input from the Test Input or, for backwards compatibility,
170
177
  the Test Context
@@ -126,7 +126,7 @@ class TestSuiteRunner:
126
126
  )
127
127
 
128
128
  try:
129
- await test.log()
129
+ await test.log_async()
130
130
  except Exception as e:
131
131
  self.pbar_description.value = "Failed to send result to ValidMind"
132
132
  logger.error(f"Failed to log result: {test.result}")
@@ -151,7 +151,7 @@ class TestSuiteTest:
151
151
 
152
152
  self.result = self._test_instance.result
153
153
 
154
- async def log(self):
154
+ async def log_async(self):
155
155
  """Log the result for this test to ValidMind"""
156
156
  if not self.result:
157
157
  raise ValueError("Cannot log test result before running the test")
@@ -1,16 +1,17 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: validmind
3
- Version: 2.0.1
3
+ Version: 2.0.7
4
4
  Summary: ValidMind Developer Framework
5
5
  License: Commercial License
6
6
  Author: Andres Rodriguez
7
7
  Author-email: andres@validmind.ai
8
- Requires-Python: >=3.8,<3.11
8
+ Requires-Python: >=3.8,<3.12
9
9
  Classifier: License :: Other/Proprietary License
10
10
  Classifier: Programming Language :: Python :: 3
11
11
  Classifier: Programming Language :: Python :: 3.8
12
12
  Classifier: Programming Language :: Python :: 3.9
13
13
  Classifier: Programming Language :: Python :: 3.10
14
+ Classifier: Programming Language :: Python :: 3.11
14
15
  Provides-Extra: all
15
16
  Provides-Extra: llm
16
17
  Provides-Extra: pytorch
@@ -21,27 +22,22 @@ Requires-Dist: arch (>=5.4.0,<6.0.0)
21
22
  Requires-Dist: bert-score (>=0.3.13,<0.4.0)
22
23
  Requires-Dist: catboost (>=1.2,<2.0)
23
24
  Requires-Dist: click (>=8.0.4,<9.0.0)
24
- Requires-Dist: datasets (>=2.14.5,<3.0.0) ; extra == "all" or extra == "llm"
25
- Requires-Dist: dython (>=0.7.1,<0.8.0)
26
25
  Requires-Dist: evaluate (>=0.4.0,<0.5.0)
27
- Requires-Dist: ipython (==7.34.0)
28
26
  Requires-Dist: ipywidgets (>=8.0.6,<9.0.0)
29
- Requires-Dist: jupyter (>=1.0.0,<2.0.0)
30
- Requires-Dist: kaleido (==0.2.1)
27
+ Requires-Dist: kaleido (>=0.2.1,<0.3.0,!=0.2.1.post1)
31
28
  Requires-Dist: langdetect (>=1.0.9,<2.0.0)
32
29
  Requires-Dist: levenshtein (>=0.21.1,<0.22.0) ; extra == "all" or extra == "llm"
33
30
  Requires-Dist: markdown (>=3.4.3,<4.0.0)
34
- Requires-Dist: matplotlib (<3.8)
31
+ Requires-Dist: matplotlib (<3.8.3)
35
32
  Requires-Dist: nltk (>=3.8.1,<4.0.0)
33
+ Requires-Dist: numba (<0.59.0)
36
34
  Requires-Dist: numpy (>=1.23.3,<2.0.0)
37
35
  Requires-Dist: openai (>=1.3.7,<2.0.0) ; extra == "all" or extra == "llm"
38
36
  Requires-Dist: pandas (==1.5.3)
39
- Requires-Dist: pandas-profiling (>=3.6.6,<4.0.0)
40
- Requires-Dist: pdoc (>=13.1.1,<14.0.0)
41
37
  Requires-Dist: plotly (>=5.14.1,<6.0.0)
42
38
  Requires-Dist: plotly-express (>=0.4.1,<0.5.0)
39
+ Requires-Dist: polars (>=0.20.15,<0.21.0)
43
40
  Requires-Dist: pycocoevalcap (>=1.2,<2.0) ; extra == "all" or extra == "llm"
44
- Requires-Dist: pydantic (>=1.9.1,<2.0.0)
45
41
  Requires-Dist: pypmml (>=0.9.17,<0.10.0)
46
42
  Requires-Dist: python-dotenv (>=0.20.0,<0.21.0)
47
43
  Requires-Dist: requests (>=2.27.1,<3.0.0)
@@ -50,7 +46,7 @@ Requires-Dist: rpy2 (>=3.5.10,<4.0.0) ; extra == "all" or extra == "r-support"
50
46
  Requires-Dist: scikit-learn (>=1.0.2,<2.0.0)
51
47
  Requires-Dist: scorecardpy (>=0.1.9.6,<0.2.0.0)
52
48
  Requires-Dist: seaborn (>=0.11.2,<0.12.0)
53
- Requires-Dist: sentencepiece (>=0.1.99,<0.2.0)
49
+ Requires-Dist: selfcheckgpt (>=0.1.7,<0.2.0)
54
50
  Requires-Dist: sentry-sdk (>=1.24.0,<2.0.0)
55
51
  Requires-Dist: shap (>=0.42.0,<0.43.0)
56
52
  Requires-Dist: statsmodels (>=0.13.5,<0.14.0)
@@ -60,8 +56,8 @@ Requires-Dist: torch (>=1.10.0) ; extra == "all" or extra == "llm" or extra == "
60
56
  Requires-Dist: torchmetrics (>=1.1.1,<2.0.0) ; extra == "all" or extra == "llm"
61
57
  Requires-Dist: tqdm (>=4.64.0,<5.0.0)
62
58
  Requires-Dist: transformers (>=4.32.0,<5.0.0) ; extra == "all" or extra == "llm" or extra == "transformers"
63
- Requires-Dist: wget (>=3.2,<4.0)
64
59
  Requires-Dist: xgboost (>=1.5.2,<2.0.0)
60
+ Requires-Dist: ydata-profiling (>=4.7.0,<5.0.0)
65
61
  Description-Content-Type: text/markdown
66
62
 
67
63
  # ValidMind Developer Framework
@@ -1,17 +1,22 @@
1
- validmind/__init__.py,sha256=rvvTYKsJhDBDliRJp-oLoCehMNKsHZ917BgwYC9BiqI,3627
2
- validmind/__version__.py,sha256=wAxkK8w13vqoF47A8iqWdSlIgRRXmZiQ0R4wePZfzhs,22
3
- validmind/api_client.py,sha256=afeMJi546lP1d_OeMVnBKxK-TK4mmP-iSlIytyTXiW4,14990
4
- validmind/client.py,sha256=RPIDY8SLcuNyIvm4z-Nj7yYSrmRNBkRq77hMM28CIM0,16059
1
+ validmind/__init__.py,sha256=tHKHxeW-0EFUWVEvGyo8fG1rBU_n6TtMyaJnRY0yEAU,3699
2
+ validmind/__version__.py,sha256=L4aOgvDE9n_eqL_mM_j5bO3bQ73q6ulNpnVuG8OmqWE,22
3
+ validmind/ai.py,sha256=P19-4b00yOrgigJ7mN7bj0IxGsqbgORyIlTtICytKWQ,6544
4
+ validmind/api_client.py,sha256=9OxHxjLe3h-oG0nx-Vm-iLGSbrPrfInwj3I2d4wpAmM,15290
5
+ validmind/client.py,sha256=H7Eg_eBcAFwDQ4uuicWI7nPZdbMtIjBzb724LZ816ow,16618
5
6
  validmind/client_config.py,sha256=58L6s6-9vFWC9vkSs_98CjV1YWmlksdhblJtPQxQsAk,1611
6
7
  validmind/datasets/__init__.py,sha256=oYfcvW7BAyUgpghBOnTeGbQF6tpFAWg38rRirdLr8m8,262
7
8
  validmind/datasets/classification/__init__.py,sha256=HlTOBLyb6IorRYmAhP3AIyX-l-NyemyDjV8BBOdrCrY,1787
8
- validmind/datasets/classification/customer_churn.py,sha256=r_iZeb-6k-JX9Go5P-SS2Nq-708OTowRxMQ7TTDIUew,3771
9
+ validmind/datasets/classification/customer_churn.py,sha256=pqw6wjMF7KIDgUKX2KLm3IcIV7QdS2mmRAV_EhWwKLM,3802
9
10
  validmind/datasets/classification/datasets/bank_customer_churn.csv,sha256=b0muNg38DpowgKjhBCSti7k_j1tDJMy2tydz3tAEAL4,545707
10
11
  validmind/datasets/classification/datasets/taiwan_credit.csv,sha256=fe19VfV30li7rdydnXpbqC372JCdf_HvDc3mMlWNbXE,2897191
11
12
  validmind/datasets/classification/taiwan_credit.py,sha256=nj6JyfcyAfaYgh60T3LdBZsCpzRBsMf0RjYMvedHzuQ,1469
12
13
  validmind/datasets/cluster/digits.py,sha256=E600pX6QPrqndfr73kwZ1sTNk0hC5kNj4Fhs8zz8bQo,2097
13
- validmind/datasets/nlp/__init__.py,sha256=oYfcvW7BAyUgpghBOnTeGbQF6tpFAWg38rRirdLr8m8,262
14
+ validmind/datasets/nlp/__init__.py,sha256=lu2-SGOSECgrxhDtHdlh_FsbpsFtuZ4DbLSL1sww5nc,323
15
+ validmind/datasets/nlp/cnn_dailymail.py,sha256=9gAHFWQhSJJ2JF_zarc2oLErZwPtRyfvXV4molhVzXM,3471
14
16
  validmind/datasets/nlp/datasets/Covid_19.csv,sha256=cwAJHgek3JWUhtZQIiC9-wRWycxbiod6nyZikf09iKE,11545066
17
+ validmind/datasets/nlp/datasets/cnn_dailymail_100_with_predictions.csv,sha256=MSaj0RJ1lbgePDTfpmgganzit64FQ846J1qjm8PJtfI,426676
18
+ validmind/datasets/nlp/datasets/cnn_dailymail_500_with_predictions.csv,sha256=bR8Z-m43lngaFW983ECJwSKea3GlfhZDYfPC0MDJMec,2246787
19
+ validmind/datasets/nlp/datasets/sentiments_with_predictions.csv,sha256=zwYI-XjUy72XqD0om-cMVYMrEUsL36u4rPAwsicoQtg,754686
15
20
  validmind/datasets/nlp/twitter_covid_19.py,sha256=PtBOh6pri6pVQKpR0ivQfXy4Wcom40G9-dyYgcv0jFI,878
16
21
  validmind/datasets/regression/__init__.py,sha256=wBcJyMyX4U6XjY6Y-aLozHdbjQlXbeFgB2YqFTk2kVU,1653
17
22
  validmind/datasets/regression/california_housing.py,sha256=dZHVZ7ufR5ZVfsBlaIlQtEgBUNGuXjEuZm1OrwRl4KY,1046
@@ -40,17 +45,17 @@ validmind/datasets/regression/models/fred_loan_rates_model_2.pkl,sha256=J1ukMdeF
40
45
  validmind/datasets/regression/models/fred_loan_rates_model_3.pkl,sha256=IogZPcUQc1F_v11fR6KWT-nRt5JzvK5f7p4Hrw7vLps,40063
41
46
  validmind/datasets/regression/models/fred_loan_rates_model_4.pkl,sha256=cSxhpcrI4hCbxCwZwE2-nr7KObbWpDii3NzpECoXmmM,48292
42
47
  validmind/datasets/regression/models/fred_loan_rates_model_5.pkl,sha256=FkNLHq9xkPMbYks_vyMjFL371mw9SQYbP1iX9lY4Ljo,60343
43
- validmind/errors.py,sha256=yWTMjtRYcTYtEHC0FM4rCeuSl9_dqyv-n9udLtm9wy4,7763
48
+ validmind/errors.py,sha256=jHj__AKOMiwIb7qSs2mxu3LSi0lyzFwSAt1gy2lpDaE,7993
44
49
  validmind/html_templates/content_blocks.py,sha256=M5BGGXT90kqUrxynkB4DPC4BQziLWglB2oK2En6KP9s,1607
45
50
  validmind/input_registry.py,sha256=zexO3x-vncaoWvQ6VfkvgDLn6x72e2BNel_jCbrVHSE,793
46
51
  validmind/logging.py,sha256=AnCOUd6VyCl-5iJCJxXoNfGKyxSxHLRN8nOAMs4WBCU,4808
47
52
  validmind/models/__init__.py,sha256=SWfy_JTnifVCbl04SZg3vwSJpRX_kWtb5wQlSIhJ9T8,623
48
53
  validmind/models/catboost.py,sha256=xw3m2iE4k4TL8FLi-hQy5ylIGG7ta4Q58bcQ_04BJbw,1036
49
54
  validmind/models/foundation.py,sha256=pZVmIC1lpszQLluEOtnuvdVRoOf-j6XsjRfBZQXVITc,2269
50
- validmind/models/huggingface.py,sha256=zSOzOmctuxk4nGZNHqYJhzIYG4t1PQ47I6Y8mwqmJg8,2863
51
- validmind/models/pytorch.py,sha256=5PPV8lhSPpOsZiP_jhmVr8UUkhCI-sn-cRyZ536H4y8,2575
55
+ validmind/models/huggingface.py,sha256=MjHVm4X8_9_5Qos4UyNyLokN9xi3I4Ebl4ML90Fi_YE,2881
56
+ validmind/models/pytorch.py,sha256=sFcfH92nLe0WVBEUuovZxuGIy_PTp1t0fWMpBrej_6U,2602
52
57
  validmind/models/r_model.py,sha256=GzlVeJgPNwtzcbyThjGyZ4T3vBJFOYDSh0aqRMsIDOQ,8344
53
- validmind/models/sklearn.py,sha256=YMI9buhWgFCv4rEHYcLxaiO3KEo8HMwJi35Se4teKZQ,2284
58
+ validmind/models/sklearn.py,sha256=pSg3eSQovxSD2cqcUDwQOXGseg0Bicsn_FXa9_URekE,2405
54
59
  validmind/models/statsmodels.py,sha256=_8GYhO21-rs3QUE_YOFi1eGMMBIr-weJmxmCrw1HZxQ,1455
55
60
  validmind/models/xgboost.py,sha256=joL0uyhE4bJfINHh-dMtPhQ5d1MfWfRMVD77XWmAUnY,951
56
61
  validmind/template.py,sha256=X6Hl6JHaUll7yVcC_VNu66YaCXAAsPPiDhBqTSeOtm4,7918
@@ -67,7 +72,7 @@ validmind/test_suites/summarization.py,sha256=unEpfk8_etLMuYAtSmBzlqrUpo0kd9Vc3S
67
72
  validmind/test_suites/tabular_datasets.py,sha256=WE4eLzRCfiqAxRqXnZFRR3Lo_u-TI6KM6hmTbR8rg5o,1798
68
73
  validmind/test_suites/text_data.py,sha256=YGVGBB05356jN9Gzcy5CHShRzo1fm5mKsZY7YBq0cYU,739
69
74
  validmind/test_suites/time_series.py,sha256=msUyYySAe5VHJJp6z0k0cNt2ekMB8-XkxGER75Zs1hs,6724
70
- validmind/tests/__init__.py,sha256=ADeOdXNpwr2NlUE04fqd1AlM_3DLWj1_pank9OPAg7U,12416
75
+ validmind/tests/__init__.py,sha256=LEzglKuapj8Az6dvMcfm_xD5yoYGGivHCgwtrBtN7fk,13854
71
76
  validmind/tests/__types__.py,sha256=qpviIvN-OGmgd9Kmw0kZ6HVjYe-IuaSCygXgZyNv1-8,1603
72
77
  validmind/tests/data_validation/ACFandPACFPlot.py,sha256=__JowNXtc511g_g8VXc0IX7j6qBE5J_v7IoWUKmj_E8,4745
73
78
  validmind/tests/data_validation/ANOVAOneWayTable.py,sha256=PEHFVJnFAK6Oy5RW1wJThEzri92THRgwQ45f6RXMGMI,6026
@@ -80,7 +85,7 @@ validmind/tests/data_validation/BivariateHistograms.py,sha256=2GWca2OynF1FVYkDE8
80
85
  validmind/tests/data_validation/BivariateScatterPlots.py,sha256=5JuSs7I1JZaUpXwhGV9u_biMq4xJEUr3CHfh2JXv9JQ,5208
81
86
  validmind/tests/data_validation/ChiSquaredFeaturesTable.py,sha256=ss6Ewgigch0Ck25Bn-cwNviWup9OOGH8KgDpfT8DiL4,6048
82
87
  validmind/tests/data_validation/ClassImbalance.py,sha256=TkI67YUu1DdnRxup-sTo3h6aNS-2ww3LPFxMHnOwAHA,6922
83
- validmind/tests/data_validation/DatasetDescription.py,sha256=dQsHQASStkcE2U1sIXZ3Pn5eVlvx_DB2o2hCprtoXao,11402
88
+ validmind/tests/data_validation/DatasetDescription.py,sha256=2ez3MyPhkgvJVXDctADQAayltZzfJAiP5Psv6XgxVuU,11401
84
89
  validmind/tests/data_validation/DatasetSplit.py,sha256=JwhIIkxbTwsHAGyJfe1frVYybnd4290DoL6TXO_1Bbs,5127
85
90
  validmind/tests/data_validation/DefaultRatesbyRiskBandPlot.py,sha256=lrVeFrw4rRND7sO2kpv0RHxks9xHQBqkNfz-IN0xw_0,4861
86
91
  validmind/tests/data_validation/DescriptiveStatistics.py,sha256=oVjFO-mR5sMQwzGFrjN5UP9jugNy0nSRtNwPbcGthGk,6411
@@ -124,26 +129,29 @@ validmind/tests/data_validation/nlp/CommonWords.py,sha256=vrURXSTcfuPKDmcUJoCBuD
124
129
  validmind/tests/data_validation/nlp/Hashtags.py,sha256=CVFvv6hTrB4Mb-b9WqHK1w1GUVs8J8gIrYP2v5OqPOo,4368
125
130
  validmind/tests/data_validation/nlp/Mentions.py,sha256=4nhJQhZoOEPPjw00tmTmEzUP1lSGL6lHdyVwISBkujA,4673
126
131
  validmind/tests/data_validation/nlp/Punctuations.py,sha256=5WI3Uu9EpdJ2FWBY2qBXRn6Nf4sldis0huq9QVbDaJ4,3867
127
- validmind/tests/data_validation/nlp/StopWords.py,sha256=VA3GUBUYxaP8qg8w1z01ssQVMjfoyYykGWVokUl2VmQ,6353
128
- validmind/tests/data_validation/nlp/TextDescription.py,sha256=ZYTEykuZIIuEqm8CQabQa2DcuUpShpRdHtXq7PW6A9Y,8109
132
+ validmind/tests/data_validation/nlp/StopWords.py,sha256=YAwXyfoCLR8jLm7dlXknSpgUoN4JoBK3750hNByJ5FA,6131
133
+ validmind/tests/data_validation/nlp/TextDescription.py,sha256=27u4xpFX-FYuMcDVRkw3p1ajcCzd5TgaVkPIqOi8GJc,8718
129
134
  validmind/tests/data_validation/nlp/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
135
+ validmind/tests/decorator.py,sha256=v9PevVM08FtKKHoXHRRrGt9OAKyWhzd3tBxsLSxX5ik,5611
130
136
  validmind/tests/model_validation/BertScore.py,sha256=1BSgPQkxy2XhmOjlON6tAY_Lq8PQzfqXlFVqRX6Ad6o,4560
131
137
  validmind/tests/model_validation/BertScoreAggregate.py,sha256=up6gqYCYM-RrSN9L4E32qR_obTwHms_VN49MHZYMhH0,3781
132
138
  validmind/tests/model_validation/BleuScore.py,sha256=_WJv510lB2HEdBbdITMJnOZLx_lb5NBEK6h-39cixyk,3848
133
139
  validmind/tests/model_validation/ClusterSizeDistribution.py,sha256=ev5_9VjH1DxMfMquijkTYuinZ9uFT0753emk-PbWo6g,4164
134
140
  validmind/tests/model_validation/ContextualRecall.py,sha256=AEIJKkRT1SiR-Y9Pkl4VrgsjEKboJcttsjjY_RFeGOY,4801
141
+ validmind/tests/model_validation/MeteorScore.py,sha256=qcGo1xGDP9QOPb3MiyL5GWvStKHaC4EvPEZ7QS9G6us,4396
135
142
  validmind/tests/model_validation/ModelMetadata.py,sha256=F9ctmlIxngkHgOlggRl0WFLilh46SlM3vYfY9zkhtYk,3733
136
- validmind/tests/model_validation/RegardHistogram.py,sha256=sJ59iovqqKQ6_ZEI__XNzLEou94i0VnTMniPW4txn4U,6330
137
- validmind/tests/model_validation/RegardScore.py,sha256=RdYVF1TWzenisoQPQh6mravsw9TkVo60F3gXJo2RX_k,6339
138
- validmind/tests/model_validation/RougeMetrics.py,sha256=ZDPE3W65RaEKJxB20aY-_C95P2xllrqAMA4ctIbvPrw,5694
143
+ validmind/tests/model_validation/RegardHistogram.py,sha256=BdXTNPQIahNnYuCTSHd8Jqj0dUNtpGtCQuXFEDnUtVE,6160
144
+ validmind/tests/model_validation/RegardScore.py,sha256=5MqNjyX9y8OJWmEwKZuRt0IzZao27q4GVC9noxeCYDs,6181
145
+ validmind/tests/model_validation/RougeMetrics.py,sha256=AM7Foqhu52j0UD8ULQrUB9NnFdkWcGtF8YW-K_qMQmM,5802
139
146
  validmind/tests/model_validation/RougeMetricsAggregate.py,sha256=mqTauD_joTSghAp3f6kB8WdgdDAv2M49UJsM4ICymiA,5213
147
+ validmind/tests/model_validation/SelfCheckNLIScore.py,sha256=Bp44I5ZNVutQ7iAPXyI3xB1vLt3nXoadCinae1ARPlc,5486
140
148
  validmind/tests/model_validation/TokenDisparity.py,sha256=Fi-ut8imGEydcmtIv4eCjgqlV88POcE3BIMU10-UIqw,5465
141
149
  validmind/tests/model_validation/ToxicityHistogram.py,sha256=t8ONPo5Uugp7Kg1LB_kkVeSaC51ok2wKuVpKW7w1BTE,5108
142
150
  validmind/tests/model_validation/ToxicityScore.py,sha256=w4WdNgnxizlZ5ND2CghDA6A3M670TQNdy8SSWEAn6G8,5571
143
151
  validmind/tests/model_validation/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
144
152
  validmind/tests/model_validation/embeddings/ClusterDistribution.py,sha256=PtS59NO2aTkBYvdCtH3rW28LnNtLY0IjdNhej8th5bs,3561
145
153
  validmind/tests/model_validation/embeddings/CosineSimilarityDistribution.py,sha256=PZ0_mfowMZjJKTYOkQpY344x3LhgsAxIgGSgtfyxu40,3490
146
- validmind/tests/model_validation/embeddings/DescriptiveAnalytics.py,sha256=eeKbz8_bLSgQJWPZwSwOIWetPOhvmMBrBchVmfuXOnI,4124
154
+ validmind/tests/model_validation/embeddings/DescriptiveAnalytics.py,sha256=6GRBbuSvKZZk3Tu0pnrvuAkNyNAA65HDxfadq34zShg,4256
147
155
  validmind/tests/model_validation/embeddings/EmbeddingsVisualization2D.py,sha256=ZJperoku3tQzjWTtAdPFA8Dj6B1T5nAGVbdjw3CyWT8,4351
148
156
  validmind/tests/model_validation/embeddings/StabilityAnalysis.py,sha256=L8nx-ihORWr9sAPLXcUwzgek9wfauQLaQkO4fCEtAMc,4185
149
157
  validmind/tests/model_validation/embeddings/StabilityAnalysisKeyword.py,sha256=qXqGaK8OVcP6h_iEZOf_-5XtbOGpiU00RyI535deAm0,3907
@@ -152,7 +160,7 @@ validmind/tests/model_validation/embeddings/StabilityAnalysisSynonyms.py,sha256=
152
160
  validmind/tests/model_validation/embeddings/StabilityAnalysisTranslation.py,sha256=mvAmv3PcysITo48GbMS-F_tHUAX_wmS173jrBhBB6mc,4573
153
161
  validmind/tests/model_validation/sklearn/AdjustedMutualInformation.py,sha256=iUt8PJd7Q-nhfDkU0siZY5Gip_uzSCqwOjpd_WBuv2I,2892
154
162
  validmind/tests/model_validation/sklearn/AdjustedRandIndex.py,sha256=Mb03a6R37GagRuy269TE8ZgaMaF3vngcH3-Um6SZYmg,2767
155
- validmind/tests/model_validation/sklearn/ClassifierPerformance.py,sha256=Dj5j_0CK-yYmOc9ovJ8t8e_fK5e_RoBJxKMpp2Ni2yw,5953
163
+ validmind/tests/model_validation/sklearn/ClassifierPerformance.py,sha256=Yhthf5DDlKjq-sy-yhLO2dL4ZoE0QTw8VSg7m8odrhE,5992
156
164
  validmind/tests/model_validation/sklearn/ClusterCosineSimilarity.py,sha256=i0XyfOUnw-HrntRN9Si2sFdzszvVUQFB7nVp1AOD9fQ,5494
157
165
  validmind/tests/model_validation/sklearn/ClusterPerformance.py,sha256=OTR7_JudQFkC5HnnuMKZOsEd-jRXYTtXUwQaLbSKGZM,5387
158
166
  validmind/tests/model_validation/sklearn/ClusterPerformanceMetrics.py,sha256=iFbLvZkiYUDa9Lul1jX85TfrkwUAIkOhGTUrRlV3U4Y,8604
@@ -175,9 +183,9 @@ validmind/tests/model_validation/sklearn/RegressionErrors.py,sha256=Oo1ywVHv1hxi
175
183
  validmind/tests/model_validation/sklearn/RegressionModelsPerformanceComparison.py,sha256=JUnmMb44YBdEcgjN4IOaYTkhP3GjaLW_w2pruyBbDvY,5522
176
184
  validmind/tests/model_validation/sklearn/RegressionR2Square.py,sha256=4bvErRBYJqrMVDNCAzIPt9fgQVfdBAYOBY7L-1fgBjQ,4987
177
185
  validmind/tests/model_validation/sklearn/RobustnessDiagnosis.py,sha256=JQTWfdocIHYYv69nzbC0M0GAh6ldUMfQ4TKK9jUnhCI,13780
178
- validmind/tests/model_validation/sklearn/SHAPGlobalImportance.py,sha256=1-I2KmS77onjhfrB6TKIvGTWPaAf_yu-jERrk7f92pY,6713
186
+ validmind/tests/model_validation/sklearn/SHAPGlobalImportance.py,sha256=AbijM6XBmHj_YSvrbUaAOQ_73oS52EbhFVk8RcF8qPk,7655
179
187
  validmind/tests/model_validation/sklearn/SilhouettePlot.py,sha256=FifZA2aL8SPgnD6T_mEDwCFgMjpce5cB8WO-WwvrFr8,6246
180
- validmind/tests/model_validation/sklearn/TrainingTestDegradation.py,sha256=SrQ3SgxWfaq7pA6dAvQKhXdjOvra5umIsH4XnaCHvvw,7078
188
+ validmind/tests/model_validation/sklearn/TrainingTestDegradation.py,sha256=Z8C7JEwgCyODhsXimGeBckWuFJjboT9HlOqnqglJRV0,7291
181
189
  validmind/tests/model_validation/sklearn/VMeasure.py,sha256=x2cdcN_Wh_hnfAsF715QgWBPbhZMi533PO-No84iEJ4,2772
182
190
  validmind/tests/model_validation/sklearn/WeakspotsDiagnosis.py,sha256=5kprqZWReOZm14cYvxA0_DmFP9Kus1L82ha_yVVpu88,14245
183
191
  validmind/tests/model_validation/sklearn/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -208,7 +216,7 @@ validmind/tests/model_validation/statsmodels/RegressionModelOutsampleComparison.
208
216
  validmind/tests/model_validation/statsmodels/RegressionModelSensitivityPlot.py,sha256=q30wFH7QRZKriVMXBmZVE2K30kjcb6zX4IVl1NHT2kA,7320
209
217
  validmind/tests/model_validation/statsmodels/RegressionModelSummary.py,sha256=JsIvZDmZssB5EEzs_-dlYknmrybPqQOjQOOzmRMAZ_I,4359
210
218
  validmind/tests/model_validation/statsmodels/RegressionModelsCoeffs.py,sha256=XTirM2uYbl-Idf1MooaTPZcrN1s5g-nibHUz5SdYfBg,4592
211
- validmind/tests/model_validation/statsmodels/RegressionModelsPerformance.py,sha256=q9LfCRflncSHtTe0b9kMxPSPyiQI9_LHksK_D6WrEjA,5454
219
+ validmind/tests/model_validation/statsmodels/RegressionModelsPerformance.py,sha256=8ZDm2_Mxms1o_RE_7pubJSY8fC_FEpG26LXYcm_555A,5452
212
220
  validmind/tests/model_validation/statsmodels/ResidualsVisualInspection.py,sha256=ROF3y_akn0cxo6sA38aWElkleg0bcvQfttPc1pjJaHc,5771
213
221
  validmind/tests/model_validation/statsmodels/RunsTest.py,sha256=TJdixri2vrrA4HUUpTYveoVzr7V9lcH6CJnPTLxSqms,3684
214
222
  validmind/tests/model_validation/statsmodels/ScorecardBucketHistogram.py,sha256=pYMuUkIf5vHNC_EjTYBlmsA_SdfsXvHPVrLQOdcM5VU,6901
@@ -226,34 +234,47 @@ validmind/tests/prompt_validation/NegativeInstruction.py,sha256=1aqNV_vB5oM2_8UX
226
234
  validmind/tests/prompt_validation/Robustness.py,sha256=VIQotugWQ32Q1kr1kacBuqk-q1EPTRi9NZAIYrTDsY0,6826
227
235
  validmind/tests/prompt_validation/Specificity.py,sha256=v823rZAr9a810Q_RlgH7FqPPxXZ00hDJApkFaJJ8mgk,6116
228
236
  validmind/tests/prompt_validation/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
229
- validmind/tests/prompt_validation/ai_powered_test.py,sha256=veHPYDC9c4k-pnzePJ8L0zC_kdq6AEBE6vfWXMayOZ4,2917
237
+ validmind/tests/prompt_validation/ai_powered_test.py,sha256=pogmrOR2fTY34Tx5TXIs5Smjz09mdh5Kp4NifrmPrFY,2975
230
238
  validmind/tests/test_providers.py,sha256=00H3loloGi2aw6yn2e8a072mcb7KNcplkA7LBP4NEDQ,8280
231
- validmind/unit_metrics/__init__.py,sha256=tEaoa1DsDIVf0xHzN2X-ri3uqL8DxkVM7pkzk4axhZE,8257
232
- validmind/unit_metrics/sklearn/classification/Accuracy.py,sha256=DALnoDXQN5hbMydq13uPjQHo-SLUgNn_GglEIF-gxvE,610
233
- validmind/unit_metrics/sklearn/classification/F1.py,sha256=Q3IBcIY-xWqAuXYDFRINBnKG6Dn4NgOwFriGDmgonHU,615
234
- validmind/unit_metrics/sklearn/classification/Precision.py,sha256=LitjqT7r5IjNjKaG22Ls11QvvmKOolLtYIRb_p74u4Q,636
235
- validmind/unit_metrics/sklearn/classification/ROC_AUC.py,sha256=QfxbUK_ELInxdEfdL3_8mDmH5-aHotvGFfbBGSWyrjs,607
236
- validmind/unit_metrics/sklearn/classification/Recall.py,sha256=ZOi2SCJrXA2UgnXfArrPzhHJeV3uFef334lWURrznY0,604
237
- validmind/utils.py,sha256=NlqF7lUsDUEvdnHG6qmSp0c_Cy_yCI4S_XXRb173LRU,13179
239
+ validmind/unit_metrics/__init__.py,sha256=tzQ80uG1MR9F9b2rlMCkh-gAut09kmdG4hTClQGLk48,8192
240
+ validmind/unit_metrics/composite.py,sha256=VKgZQkr9YOEGt9ovdgzufQwjSS2kC1kCG3J5-bgv15k,9013
241
+ validmind/unit_metrics/regression/GiniCoefficient.py,sha256=FuHdtLefQZ4S2hQmONvw3g2plYvMT5PdJefK9yzOvgM,1228
242
+ validmind/unit_metrics/regression/HuberLoss.py,sha256=r5L7ICMXp_y65ewAT8yJsArRLrvZLhIWlTgvd2EYwL8,880
243
+ validmind/unit_metrics/regression/KolmogorovSmirnovStatistic.py,sha256=9-DnK2caPAntooU1R4L7vCA9yJFOWYzWRZKHAI-_kso,1221
244
+ validmind/unit_metrics/regression/MeanAbsolutePercentageError.py,sha256=rsPiBkAzQqgooai8Qvf4r_3wBUWhySUBDS537FNLbrQ,653
245
+ validmind/unit_metrics/regression/MeanBiasDeviation.py,sha256=a5fAVipVRvnyy_526bpV1WAeUQuVD8Vz9EJKaIPEFKE,618
246
+ validmind/unit_metrics/regression/QuantileLoss.py,sha256=XV_eNgeZPQGWgtgXC971fWrePnkvuJypBk1yCuqdAT4,749
247
+ validmind/unit_metrics/regression/sklearn/AdjustedRSquaredScore.py,sha256=3mOhYCeGNeCpnurHrngXs0vJd3BPx3xTV7vG_pUKieA,859
248
+ validmind/unit_metrics/regression/sklearn/MeanAbsoluteError.py,sha256=PksSI_a7Hw_ntLXzmBwSMV1HwEFYtG_O8oP0IlpIOY4,673
249
+ validmind/unit_metrics/regression/sklearn/MeanSquaredError.py,sha256=BLM24lUh_IuA6ygjhxGpCEsQ-WXBG44-VBf7n0f5p0k,670
250
+ validmind/unit_metrics/regression/sklearn/RSquaredScore.py,sha256=5EAjZN6unLeyXlZV4dr3b5exQImKiu86lUAnW890xlM,637
251
+ validmind/unit_metrics/regression/sklearn/RootMeanSquaredError.py,sha256=1MMO90-Dy3DehS5suPt2ajKKdwMu92GCNx0Xf4xX32E,702
252
+ validmind/unit_metrics/sklearn/classification/Accuracy.py,sha256=9Og0SQ2sryrkzl4GEv_0XY8hblBMjCFDDe2Padall4A,654
253
+ validmind/unit_metrics/sklearn/classification/F1.py,sha256=dq716DnpvuePv5svS2nFB_yPJQ-gYcuOinogP7Mn-QQ,659
254
+ validmind/unit_metrics/sklearn/classification/Precision.py,sha256=IglJT_vY979rZQQol1MZQXW3_dkknyjRi-2wv4_KrBI,680
255
+ validmind/unit_metrics/sklearn/classification/ROC_AUC.py,sha256=wyKqBSDtqiH-rO1_hA6rreKjWM4lbobSbHalvnk4G1E,651
256
+ validmind/unit_metrics/sklearn/classification/Recall.py,sha256=n-5yGenSAdtD1k59TFtYvlZZXfFbDuow-pcqv3m8bOg,648
257
+ validmind/utils.py,sha256=PechYJae9u_LjafOF5E88M641Re2nDu5L3SqeNlhH84,13757
238
258
  validmind/vm_models/__init__.py,sha256=uOV4bUElAryj_d6gWZkdokY6JXWCXyYiemzrhbZ3H_U,1219
239
- validmind/vm_models/dataset.py,sha256=ElDiO9SdFTx96mdVjPq-AZ-F2mq35LJZmXVOZixfddo,22477
240
- validmind/vm_models/figure.py,sha256=ihQEPQ5prIl1Igi8cny_3aDWum5S0SIsY32ghNyRlF0,5579
259
+ validmind/vm_models/dataset.py,sha256=nhDNF54ydLXh3hs6bwwd9uU-Uzuwquj_YnOVau9zzjM,33717
260
+ validmind/vm_models/figure.py,sha256=iSrvPcCG5sQrMkX1Fh6c5utRzaroh3bc6IlnGDOK_Eg,6651
241
261
  validmind/vm_models/model.py,sha256=f6hAy1J-UfVxLsSCu4VjpGyL-UnJWMivqkBB2Uhd2uU,4823
242
- validmind/vm_models/test/metric.py,sha256=s5ZBnq6dapfVPotWCVT0CMCeZUztmBi1VWShEK50jZg,3848
262
+ validmind/vm_models/test/metric.py,sha256=diz1DD3i_XtppkeuYxFSPkj6kuUnpDXtnkptGWrWVUw,3965
243
263
  validmind/vm_models/test/metric_result.py,sha256=Bak4GDrMlNq5NtgP5exwlPsKZgz3tWgtC6jZqtHjvqM,1987
244
- validmind/vm_models/test/output_template.py,sha256=JCtvULCg_z0u8EBpujwcFS4Bfo1AQ6oJSXGOSxvx6Yg,2369
264
+ validmind/vm_models/test/output_template.py,sha256=njqCAMyLxwadkCWhACVskyL9-psTgmUysaeeirTVAX4,1500
245
265
  validmind/vm_models/test/result_summary.py,sha256=QJcIKJUeBf5wW3lyue6ctsi1jKSyoiAIfmjudGJiJtc,2028
246
- validmind/vm_models/test/result_wrapper.py,sha256=o4P9X3yYqWeqyd4_UE5PzjxhQfPLnXvvINmTjN2epaw,12332
247
- validmind/vm_models/test/test.py,sha256=DqXSBp79aBMVhJgB_IIhroEekiuY53bLa9oVdQW-LoA,3028
248
- validmind/vm_models/test/threshold_test.py,sha256=SMtqvPwXfYTDcydmmxy1RfuUojh_TYhX2wctSIHJ3Pc,3934
266
+ validmind/vm_models/test/result_wrapper.py,sha256=FU-P2GMpOxj0lFi0J5OzuGcRs1ayY5xT4F_RUtI99h8,13970
267
+ validmind/vm_models/test/test.py,sha256=kXx6XtO-9M_lhdipMxNKHIaseUaC_L-qo4rOM1XUd5w,3077
268
+ validmind/vm_models/test/threshold_test.py,sha256=fFpzsm0rUPdH1FTmyaRRvrvBDhbi5TE98a41AiY3HeY,4324
249
269
  validmind/vm_models/test/threshold_test_result.py,sha256=EXP-g_e3NsnpkvNgYew030qVUoY6ZTHyuuFUXaq-BuM,1954
250
270
  validmind/vm_models/test/unit_metric.py,sha256=w25r8ls-91z8gLA1wmSJN13z5DVMOdpk9cNJnBeIs3k,2556
251
- validmind/vm_models/test_context.py,sha256=gsN4QcBlr2n-Offyrceizkw0tSTRJ8hqMP6ZSe2wVgQ,8801
252
- validmind/vm_models/test_suite/runner.py,sha256=BCmyuOPbNq_TN7neLqU8EZqvS4ZZshcRac4EikCJiiE,6748
271
+ validmind/vm_models/test_context.py,sha256=URm6YvK6ReRevngIIVSPmV2tdc4rRZaWbB6hlRKsOj4,9027
272
+ validmind/vm_models/test_suite/runner.py,sha256=U93TauwLNEbAgJIzBZ9k9ip9NnlTt0gACHVgfO7J9BI,6754
253
273
  validmind/vm_models/test_suite/summary.py,sha256=h_r-gXsyTihCUdU4S5fzca832cI6FTMOVf1BZvcSPVU,4583
254
- validmind/vm_models/test_suite/test.py,sha256=HbnlixkykDii8-uA6Pgngi3n-m17Z6xhkgMU3cU994M,5279
274
+ validmind/vm_models/test_suite/test.py,sha256=cIa-6_YkFp7Io4wBkr09aFNmljmUFSagV4JreLd1Q6Y,5285
255
275
  validmind/vm_models/test_suite/test_suite.py,sha256=X6bal6m_8l-cKnXKlz_CJAUY_FKdJ1B3zLqYLlOncwE,6244
256
- validmind-2.0.1.dist-info/LICENSE,sha256=XonPUfwjvrC5Ombl3y-ko0Wubb1xdG_7nzvIbkZRKHw,35772
257
- validmind-2.0.1.dist-info/METADATA,sha256=QytQ4ZMoINpEmbLqVVifX5hIa-fayQaopBYpjNM6wpg,3622
258
- validmind-2.0.1.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
259
- validmind-2.0.1.dist-info/RECORD,,
276
+ validmind-2.0.7.dist-info/LICENSE,sha256=XonPUfwjvrC5Ombl3y-ko0Wubb1xdG_7nzvIbkZRKHw,35772
277
+ validmind-2.0.7.dist-info/METADATA,sha256=sC6gORZX37LPNc4PQvl6-YmEdlLa0TLwJ1ySm_OI2qE,3463
278
+ validmind-2.0.7.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
279
+ validmind-2.0.7.dist-info/entry_points.txt,sha256=HuW7YyOv9u_OEWpViQXtv0nfoI67uieJHawKWA4Hv9A,76
280
+ validmind-2.0.7.dist-info/RECORD,,
@@ -0,0 +1,3 @@
1
+ [console_scripts]
2
+ vm-create-new-test=scripts.create_new_test:generate_test
3
+