def clean_semver(cls, version_spec):
        return re.sub(r"([<>=~])\s+?v?", "\\1", version_spec, re.IGNORECASE)
def show_clusters(clusters, sample, covariances, means, figure=None, display=True):
        """!
        @brief Draws clusters and in case of two-dimensional dataset draws their ellipses.
        @details Allocated figure by this method should be closed using `close()` method of this visualizer.