Repository: deepchecks/deepchecks

Issue:
[DOCS] Improve inline documentation for suites so that API reference will look better (see the current rst of suites in repo)
https://docs.deepchecks.com/en/latest/api/generated/deepchecks.suites.default_suites.html#module-deepchecks.suites.default_suites


Discussion:

Resolving patch:
diff --git a/deepchecks/base/suite.py b/deepchecks/base/suite.py
--- a/deepchecks/base/suite.py
+++ b/deepchecks/base/suite.py
@@ -25,7 +25,7 @@
 from deepchecks.errors import DeepchecksValueError, DeepchecksNotSupportedError
 from deepchecks.base.dataset import Dataset
 from deepchecks.base.check import CheckResult, TrainTestBaseCheck, SingleDatasetBaseCheck, ModelOnlyBaseCheck, \
-                                  CheckFailure, ModelComparisonBaseCheck, ModelComparisonContext
+                                  CheckFailure, ModelComparisonBaseCheck, ModelComparisonContext, BaseCheck
 from deepchecks.utils.ipython import is_ipython_display
 
 
@@ -122,7 +122,7 @@ def supported_checks(cls) -> Tuple:
     name: str
     _check_index: int
 
-    def __init__(self, name: str, *checks):
+    def __init__(self, name: str, *checks: Union[BaseCheck, 'BaseSuite']):
         self.name = name
         self.checks = OrderedDict()
         self._check_index = 0
@@ -141,7 +141,7 @@ def __getitem__(self, index):
             raise DeepchecksValueError(f'No index {index} in suite')
         return self.checks[index]
 
-    def add(self, check):
+    def add(self, check: Union['BaseCheck', 'BaseSuite']):
         """Add a check or a suite to current suite.
 
         Parameters
diff --git a/deepchecks/suites/default_suites.py b/deepchecks/suites/default_suites.py
--- a/deepchecks/suites/default_suites.py
+++ b/deepchecks/suites/default_suites.py
@@ -8,7 +8,11 @@
 # along with Deepchecks.  If not, see <http://www.gnu.org/licenses/>.
 # ----------------------------------------------------------------------------
 #
-"""Predefined suites for various use-cases."""
+"""Functions for loading the default (built-in) suites for various validation stages.
+
+Each function returns a new suite that is initialized with a list of checks and default conditions.
+It is possible to customize these suites by editing the checks and conditions inside it after suite creation.
+"""
 from deepchecks.checks import (
     MixedNulls, SpecialCharacters, StringLengthOutOfBounds, StringMismatch, MixedDataTypes,
     DateTrainTestLeakageDuplicates, SingleFeatureContributionTrainTest, TrainTestSamplesMix,
@@ -26,10 +30,7 @@
 
 
 def single_dataset_integrity() -> Suite:
-    """Create 'Single Dataset Integrity Suite'.
-
-    The suite runs a set of checks that are meant to detect integrity issues within a single dataset.
-    """
+    """Create a suite that is meant to detect integrity issues within a single dataset."""
     return Suite(
         'Single Dataset Integrity Suite',
         IsSingleValue().add_condition_not_single_value(),
@@ -44,10 +45,7 @@ def single_dataset_integrity() -> Suite:
 
 
 def train_test_leakage() -> Suite:
-    """Create 'Train Test Leakage Suite'.
-
-    The suite runs a set of checks that are meant to detect data leakage from the training dataset to the test dataset.
-    """
+    """Create a suite that is meant to detect data leakage between the training dataset and the test dataset."""
     return Suite(
         'Train Test Leakage Suite',
         DateTrainTestLeakageDuplicates().add_condition_leakage_ratio_not_greater_than(),
@@ -61,11 +59,8 @@ def train_test_leakage() -> Suite:
 
 
 def train_test_validation() -> Suite:
-    """Create 'Train Test Validation Suite'.
-
-    The suite runs a set of checks that are meant to validate correctness of train-test split, including
-    integrity, drift and leakage.
-    """
+    """Create a suite that is meant to validate correctness of train-test split, including integrity, \
+    distribution and leakage checks."""
     return Suite(
         'Train Test Validation Suite',
         TrainTestFeatureDrift().add_condition_drift_score_not_greater_than(),
@@ -81,10 +76,7 @@ def train_test_validation() -> Suite:
 
 
 def model_evaluation() -> Suite:
-    """Create 'Model Evaluation Suite'.
-
-    The suite runs a set of checks that are meant to test model performance and overfit.
-    """
+    """Create a suite that is meant to test model performance and overfit."""
     return Suite(
         'Model Evaluation Suite',
         ConfusionMatrixReport(),
@@ -103,10 +95,7 @@ def model_evaluation() -> Suite:
 
 
 def full_suite() -> Suite:
-    """Create 'Full Suite'.
-
-    The suite runs all deepchecks' checks.
-    """
+    """Create a suite that includes many of the implemented checks, for a quick overview of your model and data."""
     return Suite(
         'Full Suite',
         ModelInfo(),


Test patch: