Skip to content

Publish to PyPI

Publish to PyPI #2

Workflow file for this run

name: Publish to PyPI
on:
release:
types: [published]
workflow_dispatch:
permissions:
contents: read
id-token: write
jobs:
publish:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 1
- uses: actions/setup-python@v5
with:
python-version: "3.12"
- uses: astral-sh/setup-uv@v6
with:
enable-cache: true
- run: uv sync --all-extras --no-cache --upgrade
- run: uv build
- name: Publish package
env:
UV_PUBLISH_TOKEN: ${{ secrets.PYPI_PAT_SECRET }}
run: |
if [[ -n "${UV_PUBLISH_TOKEN:-}" ]]; then
uv publish
else
env -u UV_PUBLISH_USERNAME -u UV_PUBLISH_PASSWORD -u TWINE_USERNAME -u TWINE_PASSWORD \
uv publish --trusted-publishing always
fi