uv-publish
is a simple command line wrapper to run uv publish
using your default configured Python PyPi
credentials from your ~/.pypirc
file. Simply run
uv-publish
instead of uv publish
with any of the options and
arguments that uv publish
normally accepts. uv-publish
will read
your ~/.pypirc
and pass those credentials to uv publish
as arguments
--username
, --password
, or --token
, and --publish-url
. Those
arguments are passed automatically at the start of the uv publish
command line so they can be overridden manually by later arguments if
required.
Note that similar tools to push your Python packages to PyPi
such as twine
, hatch
, and flit
recognise
the common ~/.pypirc
file so this wrapper is created to
enable uv publish
to do the same.
This utility has been developed and tested on Linux but should also work on macOS and Windows although has not been tried on those platforms. The latest documentation and code is available at https://github.com/bulletmark/uv-publish.
You are a uv
user so you should have uv
installed. Just run
uv-publish
as follows (uv-publish
will get automatically installed
by uvx
if you don't already have it):
$ uvx uv-publish [uv publish options]
E.g. if you use twine
to publish your package[s] and you
store your PyPi credentials in ~/.pypirc
then you can
swap to uv-publish
by simply changing the command:
$ twine upload dist/*
to:
$ uvx uv-publish
To upgrade:
$ uvx uv-publish@latest --help
To remove:
$ uv cache clean uv-publish
Copyright (C) 2024 Mark Blakeney. This program is distributed under the terms of the GNU General Public License. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License at http://www.gnu.org/licenses/ for more details.