def clean_semver(cls, version_spec):
        return re.sub(r"([<>=~])\s+?v?", "\\1", version_spec, re.IGNORECASE)
def set_submodule(self, submodule: 'Submodule') -> None:
        """Set this instance's submodule. It must be called before
        the first write operation begins"""
        self._smref = weakref.ref(submodule)