Problem
Building pysimlin fails because setuptools_scm picks up the mcp-v0.1.4 git tag and cannot parse it into a valid version for the pysimlin package. The error is:
tag 'mcp-v0.1.4' no version found
AssertionError in _parse_tag
setuptools_scm derives the package version from git tags, but mcp-v0.1.4 uses a component-prefixed tag format (mcp-v*) that does not match the version pattern expected by pysimlin's setuptools_scm configuration. Since mcp-v0.1.4 is the most recent tag reachable from HEAD, setuptools_scm selects it and fails.
Why it matters
This blocks the pre-commit hook for ALL commits. The hook runs pysimlin tests, which require building the package, and the build fails before any tests execute.
Component(s) affected
src/pysimlin (setuptools_scm / pyproject.toml configuration)
- Pre-commit hook (
scripts/pre-commit)
Possible approaches
- Configure setuptools_scm with a
tag_regex that only matches pysimlin-relevant tags (e.g., tags matching v* or pysimlin-v*, excluding mcp-v*).
- Use setuptools_scm's
git_describe_command option to pass --match patterns to git describe, so it only considers tags relevant to pysimlin.
- Switch to a different versioning strategy for pysimlin (e.g., hardcoded version in pyproject.toml) if SCM-based versioning is not needed.
Option 1 or 2 is preferred since it preserves SCM-based versioning while filtering out unrelated component tags from the monorepo.
Context
Identified as a pre-existing infrastructure issue blocking the pre-commit hook for all commits. The mcp-v0.1.4 tag was created for the @simlin/mcp npm package and is unrelated to pysimlin.
Problem
Building pysimlin fails because
setuptools_scmpicks up themcp-v0.1.4git tag and cannot parse it into a valid version for the pysimlin package. The error is:setuptools_scmderives the package version from git tags, butmcp-v0.1.4uses a component-prefixed tag format (mcp-v*) that does not match the version pattern expected by pysimlin's setuptools_scm configuration. Sincemcp-v0.1.4is the most recent tag reachable from HEAD, setuptools_scm selects it and fails.Why it matters
This blocks the pre-commit hook for ALL commits. The hook runs pysimlin tests, which require building the package, and the build fails before any tests execute.
Component(s) affected
src/pysimlin(setuptools_scm / pyproject.toml configuration)scripts/pre-commit)Possible approaches
tag_regexthat only matches pysimlin-relevant tags (e.g., tags matchingv*orpysimlin-v*, excludingmcp-v*).git_describe_commandoption to pass--matchpatterns togit describe, so it only considers tags relevant to pysimlin.Option 1 or 2 is preferred since it preserves SCM-based versioning while filtering out unrelated component tags from the monorepo.
Context
Identified as a pre-existing infrastructure issue blocking the pre-commit hook for all commits. The
mcp-v0.1.4tag was created for the@simlin/mcpnpm package and is unrelated to pysimlin.