pypi-publisher
is a GitHub action designed to upload python projects to Pypi repository.
- In your GitHub repository, select the Actions tab and either add or edit a workflow.
- Navigate to
pypi-publisher
in Marketplace. - Copy and paste the yaml into your workflow.
[OR]
Copy & paste the following workflow definition into your project .github/workflows/pypi-publish.yml
name: PyPi Publisher
on:
workflow_dispatch:
release:
types: [ published ]
jobs:
pypi-publisher:
runs-on: ubuntu-latest
steps:
- uses: thevickypedia/pypi-publisher@v3
env:
token: ${{ secrets.PYPI_TOKEN }}
with:
skip-existing: true
Parameter | Description | Default |
---|---|---|
user |
PyPi username. | __token__ |
token |
PyPi token. [Mandatory] | NA |
test-upload |
Uploads to TestPyPi repository. | false |
dry-run |
Builds the distribution without uploading to PyPi. | false |
repository-url |
PyPi repository URL. | upload.pypi.org** |
packages-dir |
The target directory for distribution. | dist |
verify-metadata |
Check metadata before uploading. | true |
skip-existing |
Avoids failing if distribution exists in package index. | true |
verbose |
Runs in verbose mode. | false |
print-hash |
Show hash values of distribution files. | true |
setup-python |
Uses the GH action setup-python . |
false ** |
python-version |
Python version for setup-python . |
3.9 |
Notes
repository-url
defaults to upload.pypi.org, but it can change dynamically based on thetest-upload
flag.setup-python
defaults tofalse
, but it can change dynamically based on whetherpython
is installed in the runner.python-version
will be used only whensetup-python
flag is set totrue
, otherwise the defaultpython
in the runner takes precedence.
Only
user
andtoken
can be passed asenv
whilst, rest of the parameters should be passed usingwith
© Vignesh Rao
Licensed under the MIT License