Publish to PYPI with uv by a single command: `uvx ship` (fixes `uv build && uv ship`).
Project description
uvxship
Build → Publish → Release for Python projects using uv.
Features
uvx build: cleansdist/and runsuv builduvx publish: uses~/.pypircto upload to PyPIuvx ship: combines both in one go
Why?
Because uv publish doesn't yet support ~/.pypirc. This fills the gap.
And PYPI rejects uv publish in the second try because dist/ contains older release packages.
The "fix" is to clean dist/ before every uv build. And to wrap uv publish with a
parser for ~/.pypirc to lookup the credentials.
This smoothens the releasing/shipping of packages with uv.
So with a single command
uvx ship
you
- clean the
dist/folder uv buildthe packageuv publishthe package to PYPI or with--repository testpypito test PYPI or other repositories when specified in the~/.pypircfile.- arguments passed to
uvx shipare forwarded touv publish.
CAVE!
uv pip install uvxship
pip install uvxship
does NOT make these uvx commands available!
Only a uv tool install uvxship leads to the desired result!
Install By uv
uv tool install uvxship
Or Install Locally
git clone
uv tool install -e . # or `uv tool install -e path/to/uvxship`
This is like uv pip install -e . and installs
the package to uv tool in editable mode.
Usage
uvx build
uvx publish
or a single
uvx ship
additional arguments to uvx ship are passed down to uv publish:
uvx ship --repository testpypi
This
- cleans the
dist/file in the background - calls
uv build - parses
~/.pypircfor PYPI credentials (you have to set it up yourself) - and publishes
uv publish --repository testpypi
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file uvxship-0.1.1.tar.gz.
File metadata
- Download URL: uvxship-0.1.1.tar.gz
- Upload date:
- Size: 3.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.6.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d48c7e0c72d3c0447f0de8ce60bcc2aef134d812bdec0d35681aae7672e4a4ad
|
|
| MD5 |
fceb14b8d6553cc45e49cd082f9aa03f
|
|
| BLAKE2b-256 |
a3f375a03876dfea68594ec0a24bae9d9e60354505a1566a0b6b1ee8b029c707
|
File details
Details for the file uvxship-0.1.1-py3-none-any.whl.
File metadata
- Download URL: uvxship-0.1.1-py3-none-any.whl
- Upload date:
- Size: 3.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.6.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5c1a76a6e21914bc974e9db7aed3c8ad7dbaa73fd0de17395c77502487786b41
|
|
| MD5 |
80ec3d9abc1a5d9f2429c965b2e8da3c
|
|
| BLAKE2b-256 |
ad70bfcc0b1e557817df4cfab72757148788175ea59843953ff950e3e9231c80
|