@property<EOL><INDENT>def semantic_version(self) -> semver.Version:<DEDENT>
if not self._semantic_version:<EOL><INDENT>if not self.is_locked():<EOL><INDENT>raise InternalError(<EOL>f"<STR_LIT>"<EOL>)<EOL><DEDENT><DEDENT>try:<EOL><INDENT>self._semantic_version = self.parse_semantic_version(self.locked_version, _package_name=self.name)<EOL><DEDENT>except ValueError:<EOL><INDENT>parts = self.locked_version.split('<STR_LIT:.>')<EOL>version = "<STR_LIT:.>".join(map(str, map(int, parts)))<EOL>self._semantic_version = self.parse_semantic_version(version, self.name)<EOL><DEDENT>return self._semantic_version<EOL>
Get semantic version respecting version specified - package has to be locked to a specific version.