jfrog / jfrog/jfrog-cli

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

Open
#3,624 0 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

bug
Dominant language
Go
Stars
595
Forks
307
Avg merge
4d 17h
Merged PRs (30d)
17

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

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with testdata/uv/uvproject/pyproject.toml and reproduce the warning using the documented jf uv build and publish commands. Trace the UV build-info collection path that reads the project version, then verify the dynamic = ["version"] and hatch-vcs configuration is accepted. Done means jf uv publish produces build info without the misleading warning.

Written by the indexing model from the issue text.

Assessment

Tech stack
go, python
Domain
build-system, cli
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
58/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.