def list_runs(cls, samples, type=None, method=None, **kwargs):
        """Returns the list of run keys on the given collection.

        Args:
            samples: a :class:`fiftyone.core.collections.SampleCollection`
            type (None): a specific run type to match, which can be:

                -   a string :attr:`fiftyone.core.runs.BaseRunConfig.type`
                -   a :class:`fiftyone.core.runs.BaseRun` class or its
                    fully-qualified class name string

            method (None): a specific
                :attr:`fiftyone.core.runs.BaseRunConfig.method` string to match
            **kwargs: optional config parameters to match

        Returns:
            a list of run keys
        """
        run_docs = cls._get_run_docs(samples)

        if etau.is_str(type):
            try:
                type = etau.get_class(type)
            except:
                pass

        if type is None and method is None and not kwargs:
            return sorted(run_docs.keys())

        keys = []
        for key in run_docs.keys():
            try:
                run_info = cls.get_run_info(samples, key)
                config = run_info.config
            except:
                logger.warning(
                    "Failed to load info for %s with key '%s'",
                    cls._run_str(),
                    key,
                )
                continue

            if type is not None:
                if etau.is_str(type):
                    if config.type != type:
                        continue
                else:
                    if not issubclass(config.run_cls, type):
                        continue

            if method is not None:
                if config.method != method:
                    continue

            if kwargs and any(
                getattr(config, key, None) != value
                for key, value in kwargs.items()
            ):
                continue

            keys.append(key)

        return sorted(keys)
Returns the list of run keys on the given collection.

        Args:
            samples: a :class:`fiftyone.core.collections.SampleCollection`
            type (None): a specific run type to match, which can be:

                -   a string :attr:`fiftyone.core.runs.BaseRunConfig.type`
                -   a :class:`fiftyone.core.runs.BaseRun` class or its
                    fully-qualified class name string

            method (None): a specific
                :attr:`fiftyone.core.runs.BaseRunConfig.method` string to match
            **kwargs: optional config parameters to match

        Returns:
            a list of run keys
        
fiftyone/core/runs.py