setuptools_scm: Customizing Version Scheme with pyproject.toml is broken

I set pyproject.toml as the document,

[tool.setuptools_scm]
version_scheme = "versioning:get_version"
write_to = "package/_version.py"

And create a new versioning.py which contains

from setuptools_scm import ScmVersion


def get_version(version: ScmVersion):
    from setuptools_scm.version import guess_next_version

    return version.format_next_version(guess_next_version, "{guessed}b{distance}")

However, the following error is arised:

Traceback (most recent call last):
  File "/mnt/shared/mamba/lib/python3.10/runpy.py", line 196, in _run_module_as_main
    return _run_code(code, main_globals, None,
  File "/mnt/shared/mamba/lib/python3.10/runpy.py", line 86, in _run_code
    exec(code, run_globals)
  File "/mnt/shared/mamba/lib/python3.10/site-packages/setuptools/__init__.py", line 108, in setup
    return distutils.core.setup(**attrs)
  File "/mnt/shared/mamba/lib/python3.10/site-packages/setuptools/_distutils/core.py", line 147, in setup
    _setup_distribution = dist = klass(attrs)
  File "/mnt/shared/mamba/lib/python3.10/site-packages/setuptools/dist.py", line 488, in __init__
    _Distribution.__init__(
  File "/mnt/shared/mamba/lib/python3.10/site-packages/setuptools/_distutils/dist.py", line 283, in __init__
    self.finalize_options()
  File "/mnt/shared/mamba/lib/python3.10/site-packages/setuptools/dist.py", line 912, in finalize_options
    ep(self)
  File "/mnt/shared/mamba/lib/python3.10/site-packages/setuptools_scm/integration.py", line 127, in infer_version
    _assign_version(dist, config)
  File "/mnt/shared/mamba/lib/python3.10/site-packages/setuptools_scm/integration.py", line 60, in _assign_version
    maybe_version = _get_version(config)
  File "/mnt/shared/mamba/lib/python3.10/site-packages/setuptools_scm/__init__.py", line 156, in _get_version
    version_string = format_version(
  File "/mnt/shared/mamba/lib/python3.10/site-packages/setuptools_scm/version.py", line 558, in format_version
    assert main_version is not None
AssertionError

About this issue

  • Original URL
  • State: closed
  • Created a year ago
  • Comments: 17 (11 by maintainers)

Commits related to this issue

Most upvoted comments

Now that I am re-reading, it seems like when the feature was added, i missed a import detail that should get more explicit documentation

The next release will include a working version, but needs a resolution of a project management hick up, and I’m currently very thin stretched when it comes to doing opensource work

This is currently expected, setuptools_scm does no pythonpath manipulation yet