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
Metadata
Release files for uvxship 0.1.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| uvxship-0.1.1.tar.gz | 3.0 kB | Without provenance | Details for uvxship-0.1.1.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| uvxship-0.1.1-py3-none-any.whl | Python 3 | none | any | Details for uvxship-0.1.1-py3-none-any.whl |
Total release size: 6.4 kB
Release files / uvxship-0.1.1.tar.gz
| Download URL | uvxship-0.1.1.tar.gz |
|---|---|
| Size | 3.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
d48c7e0c72d3c0447f0de8ce60bcc2aef134d812bdec0d35681aae7672e4a4ad
|
|
BLAKE2b-256 checksum How to use checksums |
a3f375a03876dfea68594ec0a24bae9d9e60354505a1566a0b6b1ee8b029c707
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.6.4
|
Release files / uvxship-0.1.1-py3-none-any.whl
| Download URL | uvxship-0.1.1-py3-none-any.whl |
|---|---|
| Size | 3.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
5c1a76a6e21914bc974e9db7aed3c8ad7dbaa73fd0de17395c77502487786b41
|
|
BLAKE2b-256 checksum How to use checksums |
ad70bfcc0b1e557817df4cfab72757148788175ea59843953ff950e3e9231c80
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.6.4
|
Security for uvxship 0.1.1
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.