Package version shown as 0.0.0 with dynamic versioning in pyproject.toml

Hello all! One of the dependencies of our package on conda-forge has version 0.0.0 after installation, which breaks our pip check process. Turns out that the pyproject.toml of that package has set the version field set to dynamic. The CI logs from the feedstock show that the version was not correctly recognized during the build process. However, I downloaded the sdist from PyPI and built the package myself with no problem. Any pointers on how to correctly configure the build process of the feedstock to solve this problem? The feedstock is here: formulae-feedstock/recipe/meta.yaml at main · conda-forge/formulae-feedstock · GitHub

Thank you!

Please see the upstream pyproject.toml.

The host environment in a recipe should contain all of the #/build-system/requires from that file, as conda-forge packages should be pip installed with --no-build-isolation. This is often handled by an environment variable, but setting it explicitly is a nice reminder.

Once it appears an upstream is pep517 backend shopping, checking this directly, is not a terrible idea:

test:
  requires:
    - pip
    - m2-grep  # [win]
  commands:
    - pip list | grep -iE "^name-of-package\s+{{ version.replace('.', '\.') }}$"
1 Like

Worked like a charm! Thank you so much, @bollwyvl!

1 Like