Skip to content

Failed to collect UV build info when pyproject.toml uses dynamic = ["version"] #3624

Description

Describe the bug

jfrog-cli emits a misleading warning when publishing a Python package with uv and a pyproject.toml that uses a dynamically resolved version (dynamic = ["version"] via hatch-vcs). Although the package is successfully published, jfrog-cli fails to collect build info.

The project follows a valid PEP 621 pattern where the version is intentionally not statically defined under [project.version] and is instead resolved dynamically by the build backend.
The warning suggests that JFrog CLI only looks for project.version and does not recognize project.dynamic = ["version"] or versions provided by build systems such as hatch-vcs.

Current behavior

on jf uv publish

15:07:09 [Warn] Failed to collect UV build info: failed to create UV FlexPack collector: failed to load pyproject.toml: project version not found in pyproject.toml (checked [project.version])

Reproduction steps

  • make sure to be inside a git repository
  • use the uv test project in testdata/uv/uvproject/pyproject.toml but replace
    [project]
    version = "0.1.0"
    
    [build-system]
    requires = ["flit_core>=3.2"]
    build-backend = "flit_core.buildapi"
    with
    [project]
    dynamic = ["version"]
    
    [build-system]
    requires = ["hatchling","hatch-vcs"]
    build-backend = "hatchling.build"
    
    [tool.hatch.version]
    source = "vcs"
    
    [tool.hatch.version.raw-options]
    search_parent_directories = true
  • run jf uv ... commands to build and publish

Expected behavior

Build info are published without errors using jf uv publish, if pyproject.toml follow a valid PEP 621 pattern

JFrog CLI version

2.116.0

Operating system type and version

Linux

JFrog Artifactory version

No response

JFrog Xray version

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions