https://docs.astral.sh/uv/getting-started/features/#scripts
1. 基本操作
# 编译
$ uv build
# 执行
$ uvx ./dist/uvx_test-0.1.1.tar.gz
Hello from uvx-test!
2. 版本
命令概述
uv version 命令用于更新您项目包的版本号。您可以直接指定一个新版本号,或者基于当前版本进行"语义化"递增。
更新到指定版本
要直接设置一个具体的版本号(如 1.0.0),可以将版本号作为参数直接提供:
bash
uv version 1.0.0
如果想先预览更改而不实际修改 pyproject.toml 文件,可以加上 --dry-run 标志:
bash
uv version 2.0.0 --dry-run
按语义化规则递增版本
更常用的方式是使用 --bump 选项,按语义化版本控制规则来递增版本号。文档将其支持的版本组件分为以下几类:
1. 主版本号组件:用于标识不兼容的重大更新。
major (主版本号,如 1.0.0 -> 2.0.0)
minor (次版本号,如 1.0.0 -> 1.1.0)
patch (修订号,如 1.0.0 -> 1.0.1)
2. 预发布标识组件:用于标记测试版、候选版等。
alpha, beta, rc (候选版)
dev (开发版)
post (后期版本)
3. 特殊操作:
stable (稳定版):用于清除预发布标识,将版本转为稳定版。
用法与规则:
基本递增:递增一个组件,例如将次版本号加1:
bash
uv version --bump minor
组合使用:可以按从大到小的顺序(如先 major, 后 dev)指定多个 --bump,命令会依次执行:
bash
# 例如:先升级修订号,再设置开发版本号
uv version --bump patch --bump dev
设置具体值:可以给组件设定一个明确的数字或字符串值,而不是简单递增:
bash
uv version --bump patch --bump dev=66463664
转为预发布版本:从稳定版转到预发布版时,必须同时递增一个主版本号组件(major/minor/patch中的一个):
bash
uv version --bump patch --bump beta # 正确:例如 1.0.0 -> 1.0.1b0
更新预发布版本:如果已经在预发布阶段(如 1.0.0b1),只需递增预发布组件本身即可:
bash
uv version --bump beta # 例如 1.0.0b1 -> 1.0.0b2
转为稳定版本:要从预发布版(如 1.0.0rc1)转为稳定版(1.0.0),使用 stable 来清除预发布标识:
bash
uv version --bump stable # 例如 1.0.0rc1 -> 1.0.0