Skip to content

Bug: uv publish missing METADATA file #8030

@jamesbraza

Description

@jamesbraza

I am using uv==0.4.20 and just migrated a publish GitHub Action in a repo using this workspace layout for several packages to uv publish.

    steps:
      - uses: actions/checkout@v4
      - uses: astral-sh/setup-uv@v3
        with:
          enable-cache: true
      - run: uv sync
      - name: Build a binary wheel and a source tarball
        run: |
          uv build --sdist --wheel --out-dir dist/ .
          uv build --sdist --wheel --out-dir dist/ packages/bird-feeder
          uv build --sdist --wheel --out-dir dist/ packages/seeds
---      - uses: pypa/gh-action-pypi-publish@release/v1
---        with:
---          password: ${{ secrets.PYPI_API_TOKEN }}
+++      - run: uv publish
+++        env:
+++          UV_PUBLISH_TOKEN: ${{ secrets.PYPI_API_TOKEN }}

Before, publish worked correctly, but with uv publish I am getting:

warning: `uv publish` is experimental and may change without warning
Publishing 6 files https://upload.pypi.org/legacy/
Uploading seeds-0.7.6-py3-none-any.whl (5.0KiB)
error: Failed to publish `dist/seeds-0.7.6-py3-none-any.whl` to https://upload.pypi.org/legacy/
  Caused by: Upload failed with status code 400 Bad Request. Server says: 400 Wheel 'seeds-0.7.6-py3-none-any.whl' does not contain the required METADATA file: seeds-0.7.6.dist-info/METADATA

Any idea what's going on here? I think this is a uv publish bug given my change was an atomic change, and I was previously using uv build successfully

Metadata

Metadata

Assignees

Labels

bugSomething isn't workingexternalThe problem is with another package or dependency (not uv)

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions